dpml_ux_ops.S 35 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405
  1. /*
  2. * Math library
  3. *
  4. * Copyright (C) 2016 Intel Corporation. All rights reserved.
  5. *
  6. * Redistribution and use in source and binary forms, with or without
  7. * modification, are permitted provided that the following conditions
  8. * are met:
  9. *
  10. * * Redistributions of source code must retain the above copyright
  11. * notice, this list of conditions and the following disclaimer.
  12. * * Redistributions in binary form must reproduce the above copyright
  13. * notice, this list of conditions and the following disclaimer in
  14. * the documentation and/or other materials provided with the
  15. * distribution.
  16. * * Neither the name of Intel Corporation nor the names of its
  17. * contributors may be used to endorse or promote products derived
  18. * from this software without specific prior written permission.
  19. *
  20. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  22. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  23. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  24. * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  25. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  26. * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  27. * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  28. * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  29. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  30. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31. *
  32. *
  33. * Author Name <jingwei.zhang@intel.com>
  34. * History:
  35. * 03-14-2016 Initial version. numerics svn rev. 12864
  36. */
  37. .file "dpml_ux_ops.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin __dpml_unpack2__
  41. .text
  42. .align 16,0x90
  43. .globl __dpml_unpack2__
  44. __dpml_unpack2__:
  45. # parameter 1: %rdi
  46. # parameter 2: %rsi
  47. # parameter 3: %rdx
  48. # parameter 4: %rcx
  49. # parameter 5: %r8
  50. # parameter 6: %r9
  51. # parameter 7: 64 + %rsp
  52. ..B1.1:
  53. .cfi_startproc
  54. ..___tag_value___dpml_unpack2__.1:
  55. ..L2:
  56. pushq %r12
  57. .cfi_def_cfa_offset 16
  58. .cfi_offset 12, -16
  59. pushq %r13
  60. .cfi_def_cfa_offset 24
  61. .cfi_offset 13, -24
  62. pushq %r14
  63. .cfi_def_cfa_offset 32
  64. .cfi_offset 14, -32
  65. pushq %r15
  66. .cfi_def_cfa_offset 40
  67. .cfi_offset 15, -40
  68. pushq %rbx
  69. .cfi_def_cfa_offset 48
  70. .cfi_offset 3, -48
  71. pushq %rbp
  72. .cfi_def_cfa_offset 56
  73. .cfi_offset 6, -56
  74. pushq %rsi
  75. .cfi_def_cfa_offset 64
  76. movq %r9, %r12
  77. movq %r8, %r13
  78. movq %rcx, %rbp
  79. movq %rsi, %r14
  80. xorl %esi, %esi
  81. movq %r13, %rcx
  82. movq %r12, %r8
  83. movq 64(%rsp), %r9
  84. movq %rdi, %r15
  85. ..___tag_value___dpml_unpack2__.16:
  86. call __dpml_unpack_x_or_y__@PLT
  87. ..___tag_value___dpml_unpack2__.17:
  88. ..B1.10:
  89. movq %rax, %rbx
  90. ..B1.2:
  91. testq %rbx, %rbx
  92. jl ..B1.4
  93. ..B1.3:
  94. testq %r14, %r14
  95. jne ..B1.5
  96. ..B1.4:
  97. movq %rbx, %rax
  98. popq %rcx
  99. .cfi_def_cfa_offset 56
  100. .cfi_restore 6
  101. popq %rbp
  102. .cfi_def_cfa_offset 48
  103. .cfi_restore 3
  104. popq %rbx
  105. .cfi_def_cfa_offset 40
  106. .cfi_restore 15
  107. popq %r15
  108. .cfi_def_cfa_offset 32
  109. .cfi_restore 14
  110. popq %r14
  111. .cfi_def_cfa_offset 24
  112. .cfi_restore 13
  113. popq %r13
  114. .cfi_def_cfa_offset 16
  115. .cfi_restore 12
  116. popq %r12
  117. .cfi_def_cfa_offset 8
  118. ret
  119. .cfi_def_cfa_offset 64
  120. .cfi_offset 3, -48
  121. .cfi_offset 6, -56
  122. .cfi_offset 12, -16
  123. .cfi_offset 13, -24
  124. .cfi_offset 14, -32
  125. .cfi_offset 15, -40
  126. ..B1.5:
  127. movq 8(%r13), %r10
  128. lea (,%rbx,4), %rcx
  129. movq %r15, %rdi
  130. movq %r14, %rsi
  131. sarq %cl, %r10
  132. movq %rbp, %rdx
  133. andq $15, %r10
  134. movq %r12, %r8
  135. movq 64(%rsp), %r9
  136. lea (%r13,%r10,8), %rcx
  137. ..___tag_value___dpml_unpack2__.38:
  138. call __dpml_unpack_x_or_y__@PLT
  139. ..___tag_value___dpml_unpack2__.39:
  140. ..B1.6:
  141. shlq $4, %rbx
  142. orq %rax, %rbx
  143. movq %rbx, %rax
  144. popq %rcx
  145. .cfi_def_cfa_offset 56
  146. .cfi_restore 6
  147. popq %rbp
  148. .cfi_def_cfa_offset 48
  149. .cfi_restore 3
  150. popq %rbx
  151. .cfi_def_cfa_offset 40
  152. .cfi_restore 15
  153. popq %r15
  154. .cfi_def_cfa_offset 32
  155. .cfi_restore 14
  156. popq %r14
  157. .cfi_def_cfa_offset 24
  158. .cfi_restore 13
  159. popq %r13
  160. .cfi_def_cfa_offset 16
  161. .cfi_restore 12
  162. popq %r12
  163. .cfi_def_cfa_offset 8
  164. ret
  165. .align 16,0x90
  166. .cfi_endproc
  167. .type __dpml_unpack2__,@function
  168. .size __dpml_unpack2__,.-__dpml_unpack2__
  169. .data
  170. # -- End __dpml_unpack2__
  171. .text
  172. # -- Begin __dpml_unpack_x_or_y__
  173. .text
  174. .align 16,0x90
  175. .globl __dpml_unpack_x_or_y__
  176. __dpml_unpack_x_or_y__:
  177. # parameter 1: %rdi
  178. # parameter 2: %rsi
  179. # parameter 3: %rdx
  180. # parameter 4: %rcx
  181. # parameter 5: %r8
  182. # parameter 6: %r9
  183. ..B2.1:
  184. .cfi_startproc
  185. ..___tag_value___dpml_unpack_x_or_y__.54:
  186. ..L55:
  187. pushq %r12
  188. .cfi_def_cfa_offset 16
  189. .cfi_offset 12, -16
  190. pushq %r13
  191. .cfi_def_cfa_offset 24
  192. .cfi_offset 13, -24
  193. pushq %r14
  194. .cfi_def_cfa_offset 32
  195. .cfi_offset 14, -32
  196. pushq %r15
  197. .cfi_def_cfa_offset 40
  198. .cfi_offset 15, -40
  199. pushq %rbx
  200. .cfi_def_cfa_offset 48
  201. .cfi_offset 3, -48
  202. pushq %rbp
  203. .cfi_def_cfa_offset 56
  204. .cfi_offset 6, -56
  205. subq $104, %rsp
  206. .cfi_def_cfa_offset 160
  207. movq %rsi, %r12
  208. movl $1, %r10d
  209. xorl %r13d, %r13d
  210. testq %r12, %r12
  211. movq %r8, %rbp
  212. cmovne %r10d, %r13d
  213. movq %rdi, %r8
  214. movq %rcx, %rbx
  215. testq %r13, %r13
  216. movq $0x8000000000000000, %r11
  217. movq %fs:40, %rax
  218. jne ..L69
  219. movq %r8, %rsi
  220. ..L69:
  221. xorq %rsp, %rax
  222. movq %rax, 96(%rsp)
  223. movq 8(%rsi), %rax
  224. movq %rax, %r10
  225. andq %rax, %r11
  226. shlq $15, %r10
  227. btsq $63, %r10
  228. movq (%rsi), %r14
  229. movq %r14, %rcx
  230. movq %rsi, 24(%r9,%r13,8)
  231. movq %r14, %r15
  232. shrq $49, %rcx
  233. shrq $32, %r11
  234. lea (%r10,%r10), %rsi
  235. orq %r14, %rsi
  236. movq $0x1000000000000, %r14
  237. orq %rcx, %r10
  238. movq $0xffff000000000000, %rcx
  239. movl %r11d, (%rdx)
  240. movq %rax, %r11
  241. shrq $48, %r11
  242. andq $32767, %r11
  243. lea (%r14,%rax), %rdi
  244. movq %rax, %r14
  245. addq %rax, %rcx
  246. addq $-16382, %r11
  247. shlq $15, %r15
  248. shrq $63, %r14
  249. movq %r15, 16(%rdx)
  250. movl $4, %r15d
  251. xorq %rcx, %rdi
  252. jl ..B2.33
  253. ..B2.2:
  254. movq %r10, 8(%rdx)
  255. movl %r11d, 4(%rdx)
  256. ..B2.3:
  257. addq %r14, %r15
  258. movl $1, %r10d
  259. movl %r15d, %ecx
  260. shll %cl, %r10d
  261. movq (%r9), %rdx
  262. shlq $10, %rdx
  263. movslq %r10d, %r10
  264. orq %r10, %rdx
  265. movq %rdx, (%r9)
  266. testq %r15, %r15
  267. jne ..B2.5
  268. ..B2.4:
  269. movl $2139095040, 28(%rsp)
  270. movss 28(%rsp), %xmm1
  271. movss 28(%rsp), %xmm0
  272. subss %xmm0, %xmm1
  273. movss %xmm1, 28(%rsp)
  274. ..B2.5:
  275. movq (%rbx), %r11
  276. lea (%r15,%r15,2), %rcx
  277. addq %rcx, %rcx
  278. movq %r11, %rdi
  279. sarq $60, %r11
  280. sarq %cl, %rdi
  281. movq %rdi, %rdx
  282. sarq $3, %rdi
  283. andq $7, %rdx
  284. andq $7, %rdi
  285. je ..B2.26
  286. ..B2.6:
  287. movl %r10d, %esi
  288. andl $240, %esi
  289. cmpq %r13, %rdx
  290. jg ..B2.8
  291. ..B2.7:
  292. testq %rdx, %rdx
  293. movl %esi, %ebx
  294. cmove %r8, %r12
  295. jmp ..B2.9
  296. ..B2.8:
  297. andq $15, %r11
  298. addq %rdx, %r11
  299. movq -8(%rbx,%r11,8), %rdx
  300. movl $1, %ebx
  301. movl %edx, %ecx
  302. movq %rdx, %r12
  303. shlq $4, %r12
  304. shll %cl, %ebx
  305. addq __x_constants__@GOTPCREL(%rip), %r12
  306. andl $240, %ebx
  307. ..B2.9:
  308. cmpq $7, %rdi
  309. je ..B2.30
  310. ..B2.10:
  311. cmpq $0, 8(%r9)
  312. je ..B2.13
  313. ..B2.11:
  314. orl %esi, %ebx
  315. je ..B2.13
  316. ..B2.12:
  317. movl $1182793727, 24(%rsp)
  318. movss 24(%rsp), %xmm1
  319. movss 24(%rsp), %xmm0
  320. mulss %xmm0, %xmm1
  321. movss %xmm1, 24(%rsp)
  322. ..B2.13:
  323. movq 8(%r12), %rbx
  324. cmpq $1, %rdi
  325. je ..B2.29
  326. ..B2.14:
  327. cmpq $3, %rdi
  328. je ..B2.19
  329. ..B2.15:
  330. cmpq $4, %rdi
  331. jne ..B2.17
  332. ..B2.16:
  333. movq $0x7fffffffffffffff, %rcx
  334. andq %rcx, %rbx
  335. jmp ..B2.20
  336. ..B2.17:
  337. cmpq $5, %rdi
  338. jne ..B2.20
  339. ..B2.18:
  340. movq $0x7fffffffffffffff, %rcx
  341. andq %rbx, %rcx
  342. movq $0x8000000000000000, %rbx
  343. andq 8(%r8), %rbx
  344. orq %rcx, %rbx
  345. jmp ..B2.20
  346. ..B2.19:
  347. movq $0x8000000000000000, %rcx
  348. xorq %rcx, %rbx
  349. ..B2.20:
  350. movq %rbx, 8(%rbp)
  351. testl $192, %r10d
  352. movq (%r12), %rcx
  353. movq %rcx, (%rbp)
  354. je ..B2.24
  355. ..B2.21:
  356. cmpq %r13, %rdx
  357. jg ..B2.24
  358. ..B2.22:
  359. cmpq $0, 8(%r9)
  360. je ..B2.24
  361. ..B2.23:
  362. movl $8388608, 20(%rsp)
  363. movss 20(%rsp), %xmm0
  364. cvtss2sd %xmm0, %xmm0
  365. mulsd .L_2il0floatpacket.7(%rip), %xmm0
  366. cvtsd2ss %xmm0, %xmm0
  367. movss %xmm0, 20(%rsp)
  368. ..B2.24:
  369. movq 96(%rsp), %rcx
  370. movq $0x8000000000000000, %rdx
  371. xorq %rsp, %rcx
  372. orq %rdx, %r15
  373. cmpq %fs:40, %rcx
  374. jne ..B2.28
  375. ..B2.25:
  376. movq %r15, %rax
  377. addq $104, %rsp
  378. .cfi_def_cfa_offset 56
  379. .cfi_restore 6
  380. popq %rbp
  381. .cfi_def_cfa_offset 48
  382. .cfi_restore 3
  383. popq %rbx
  384. .cfi_def_cfa_offset 40
  385. .cfi_restore 15
  386. popq %r15
  387. .cfi_def_cfa_offset 32
  388. .cfi_restore 14
  389. popq %r14
  390. .cfi_def_cfa_offset 24
  391. .cfi_restore 13
  392. popq %r13
  393. .cfi_def_cfa_offset 16
  394. .cfi_restore 12
  395. popq %r12
  396. .cfi_def_cfa_offset 8
  397. ret
  398. .cfi_def_cfa_offset 160
  399. .cfi_offset 3, -48
  400. .cfi_offset 6, -56
  401. .cfi_offset 12, -16
  402. .cfi_offset 13, -24
  403. .cfi_offset 14, -32
  404. .cfi_offset 15, -40
  405. ..B2.26:
  406. movq 96(%rsp), %rdx
  407. xorq %rsp, %rdx
  408. cmpq %fs:40, %rdx
  409. jne ..B2.28
  410. ..B2.27:
  411. movq %r15, %rax
  412. addq $104, %rsp
  413. .cfi_def_cfa_offset 56
  414. .cfi_restore 6
  415. popq %rbp
  416. .cfi_def_cfa_offset 48
  417. .cfi_restore 3
  418. popq %rbx
  419. .cfi_def_cfa_offset 40
  420. .cfi_restore 15
  421. popq %r15
  422. .cfi_def_cfa_offset 32
  423. .cfi_restore 14
  424. popq %r14
  425. .cfi_def_cfa_offset 24
  426. .cfi_restore 13
  427. popq %r13
  428. .cfi_def_cfa_offset 16
  429. .cfi_restore 12
  430. popq %r12
  431. .cfi_def_cfa_offset 8
  432. ret
  433. .cfi_def_cfa_offset 160
  434. .cfi_offset 3, -48
  435. .cfi_offset 6, -56
  436. .cfi_offset 12, -16
  437. .cfi_offset 13, -24
  438. .cfi_offset 14, -32
  439. .cfi_offset 15, -40
  440. ..B2.28:
  441. call __stack_chk_fail@PLT
  442. ..B2.29:
  443. movq $0x800000000000, %rcx
  444. orq %rcx, %rbx
  445. jmp ..B2.20
  446. ..B2.30:
  447. andq $-2013265921, %rdx
  448. lea 32(%rsp), %rdi
  449. movq (%rbp), %rcx
  450. orq $268435456, %rdx
  451. movq 8(%rbp), %rbx
  452. movq %rcx, 32(%rdi)
  453. movq %rbx, 40(%rdi)
  454. movq %rdx, (%rdi)
  455. ..___tag_value___dpml_unpack_x_or_y__.110:
  456. call __dpml_exception@PLT
  457. ..___tag_value___dpml_unpack_x_or_y__.111:
  458. ..B2.31:
  459. movq (%rax), %rdx
  460. movq %rdx, (%rbp)
  461. movq 8(%rax), %rcx
  462. movq %rcx, 8(%rbp)
  463. jmp ..B2.24
  464. ..B2.33:
  465. xorq %rax, %rcx
  466. jl ..B2.35
  467. ..B2.34:
  468. shrq $47, %rax
  469. xorl %r15d, %r15d
  470. andq $1, %rax
  471. testq %rsi, %rsi
  472. movq %r10, 8(%rdx)
  473. movl %r11d, 4(%rdx)
  474. movl $2, %edx
  475. cmove %rdx, %r15
  476. cmovne %rax, %r14
  477. jmp ..B2.3
  478. ..B2.35:
  479. testq %rsi, %rsi
  480. jne ..B2.37
  481. ..B2.36:
  482. movq %r10, 8(%rdx)
  483. movl $8, %r15d
  484. movl %r11d, 4(%rdx)
  485. jmp ..B2.3
  486. ..B2.37:
  487. movq $0x8000000000000000, %rax
  488. movq %rdx, %rdi
  489. xorl %esi, %esi
  490. addq %rax, %r10
  491. incl %r11d
  492. movq %r10, 8(%rdx)
  493. movl %r11d, 4(%rdx)
  494. movq %r8, (%rsp)
  495. movq %r9, 8(%rsp)
  496. ..___tag_value___dpml_unpack_x_or_y__.112:
  497. call __dpml_ffs_and_shift__@PLT
  498. ..___tag_value___dpml_unpack_x_or_y__.113:
  499. ..B2.38:
  500. movl $2048, 16(%rsp)
  501. movl $6, %r15d
  502. movss 16(%rsp), %xmm1
  503. movss 16(%rsp), %xmm0
  504. movq 8(%rsp), %r9
  505. addss %xmm0, %xmm1
  506. movq (%rsp), %r8
  507. movss %xmm1, 16(%rsp)
  508. jmp ..B2.3
  509. .align 16,0x90
  510. .cfi_endproc
  511. .type __dpml_unpack_x_or_y__,@function
  512. .size __dpml_unpack_x_or_y__,.-__dpml_unpack_x_or_y__
  513. .data
  514. # -- End __dpml_unpack_x_or_y__
  515. .text
  516. # -- Begin __dpml_pack__
  517. .text
  518. .align 16,0x90
  519. .globl __dpml_pack__
  520. __dpml_pack__:
  521. # parameter 1: %rdi
  522. # parameter 2: %rsi
  523. # parameter 3: %rdx
  524. # parameter 4: %rcx
  525. # parameter 5: %r8
  526. ..B3.1:
  527. .cfi_startproc
  528. ..___tag_value___dpml_pack__.115:
  529. ..L116:
  530. pushq %r12
  531. .cfi_def_cfa_offset 16
  532. .cfi_offset 12, -16
  533. pushq %r13
  534. .cfi_def_cfa_offset 24
  535. .cfi_offset 13, -24
  536. pushq %r14
  537. .cfi_def_cfa_offset 32
  538. .cfi_offset 14, -32
  539. pushq %r15
  540. .cfi_def_cfa_offset 40
  541. .cfi_offset 15, -40
  542. pushq %rbx
  543. .cfi_def_cfa_offset 48
  544. .cfi_offset 3, -48
  545. pushq %rbp
  546. .cfi_def_cfa_offset 56
  547. .cfi_offset 6, -56
  548. subq $120, %rsp
  549. .cfi_def_cfa_offset 176
  550. movq %rsi, %r14
  551. xorl %esi, %esi
  552. movq %r8, %r15
  553. movq %fs:40, %rax
  554. movq %rcx, %r13
  555. xorq %rsp, %rax
  556. movq %rdx, %r12
  557. movq %rax, 104(%rsp)
  558. movq %rdi, %rbp
  559. ..___tag_value___dpml_pack__.130:
  560. call __dpml_ffs_and_shift__@PLT
  561. ..___tag_value___dpml_pack__.131:
  562. ..B3.2:
  563. movslq 4(%rbp), %rax
  564. cmpq $-262144, %rax
  565. je ..B3.28
  566. ..B3.3:
  567. movq %rax, %rdx
  568. negq %rdx
  569. movq %rdx, %rbx
  570. addq $-16381, %rbx
  571. jle ..B3.9
  572. ..B3.4:
  573. movl (%rbp), %r9d
  574. lea -16381(%rax,%rdx), %rax
  575. movq %rbp, %rsi
  576. lea 80(%rsp), %rdi
  577. xorl %edx, %edx
  578. movq %rbp, %rcx
  579. movq $0x8000000000000000, %r8
  580. movq %r8, 8(%rdi)
  581. movq $0, 16(%rdi)
  582. movl %eax, 4(%rdi)
  583. movl %r9d, (%rdi)
  584. ..___tag_value___dpml_pack__.132:
  585. call __dpml_addsub__@PLT
  586. ..___tag_value___dpml_pack__.133:
  587. ..B3.5:
  588. movq $-16382, %rax
  589. cmpq $113, %rbx
  590. jle ..B3.9
  591. ..B3.6:
  592. cmpq $245763, %rbx
  593. je ..B3.8
  594. ..B3.7:
  595. movq $-16383, %rax
  596. cmpq $49155, %rbx
  597. jle ..B3.9
  598. ..B3.8:
  599. decq %rax
  600. ..B3.9:
  601. movq 16(%rbp), %r8
  602. xorl %edx, %edx
  603. addq $16384, %r8
  604. xorl %r9d, %r9d
  605. cmpq $16384, %r8
  606. lea 1(%rax), %r10
  607. movq 8(%rbp), %rcx
  608. movq $0x1000000000000, %r11
  609. setb %dl
  610. addq %rdx, %rcx
  611. cmpq %rdx, %rcx
  612. movq %rcx, %rbx
  613. setb %r9b
  614. shrq $15, %rcx
  615. testl %r9d, %r9d
  616. cmovne %r10, %rax
  617. cmovne %r11, %rcx
  618. shrq $15, %r8
  619. shlq $49, %rbx
  620. orq %rbx, %r8
  621. movq %r8, (%r14)
  622. lea 16381(%rax), %rdx
  623. movq %rdx, %rbx
  624. shlq $48, %rbx
  625. addq %rcx, %rbx
  626. movslq (%rbp), %rcx
  627. shlq $32, %rcx
  628. orq %rcx, %rbx
  629. cmpq $32766, %rdx
  630. jae ..B3.14
  631. ..B3.10:
  632. movq %rbx, 8(%r14)
  633. cmpq $0, 8(%r15)
  634. je ..B3.12
  635. ..B3.11:
  636. movl $1182793727, (%rsp)
  637. movss (%rsp), %xmm1
  638. movss (%rsp), %xmm0
  639. mulss %xmm0, %xmm1
  640. movss %xmm1, (%rsp)
  641. ..B3.12:
  642. movq 104(%rsp), %rax
  643. xorq %rsp, %rax
  644. cmpq %fs:40, %rax
  645. jne ..B3.24
  646. ..B3.13:
  647. addq $120, %rsp
  648. .cfi_def_cfa_offset 56
  649. .cfi_restore 6
  650. popq %rbp
  651. .cfi_def_cfa_offset 48
  652. .cfi_restore 3
  653. popq %rbx
  654. .cfi_def_cfa_offset 40
  655. .cfi_restore 15
  656. popq %r15
  657. .cfi_def_cfa_offset 32
  658. .cfi_restore 14
  659. popq %r14
  660. .cfi_def_cfa_offset 24
  661. .cfi_restore 13
  662. popq %r13
  663. .cfi_def_cfa_offset 16
  664. .cfi_restore 12
  665. popq %r12
  666. .cfi_def_cfa_offset 8
  667. ret
  668. .cfi_def_cfa_offset 176
  669. .cfi_offset 3, -48
  670. .cfi_offset 6, -56
  671. .cfi_offset 12, -16
  672. .cfi_offset 13, -24
  673. .cfi_offset 14, -32
  674. .cfi_offset 15, -40
  675. ..B3.14:
  676. testq %rax, %rax
  677. cmovl %r12, %r13
  678. addq $16382, %rax
  679. testl %eax, %eax
  680. jg ..B3.20
  681. ..B3.15:
  682. jl ..B3.26
  683. ..B3.16:
  684. movq %rbx, 8(%r14)
  685. cmpq $0, 8(%r15)
  686. jne ..B3.19
  687. ..B3.17:
  688. movq 104(%rsp), %rax
  689. xorq %rsp, %rax
  690. cmpq %fs:40, %rax
  691. jne ..B3.24
  692. ..B3.18:
  693. addq $120, %rsp
  694. .cfi_def_cfa_offset 56
  695. .cfi_restore 6
  696. popq %rbp
  697. .cfi_def_cfa_offset 48
  698. .cfi_restore 3
  699. popq %rbx
  700. .cfi_def_cfa_offset 40
  701. .cfi_restore 15
  702. popq %r15
  703. .cfi_def_cfa_offset 32
  704. .cfi_restore 14
  705. popq %r14
  706. .cfi_def_cfa_offset 24
  707. .cfi_restore 13
  708. popq %r13
  709. .cfi_def_cfa_offset 16
  710. .cfi_restore 12
  711. popq %r12
  712. .cfi_def_cfa_offset 8
  713. ret
  714. .cfi_def_cfa_offset 176
  715. .cfi_offset 3, -48
  716. .cfi_offset 6, -56
  717. .cfi_offset 12, -16
  718. .cfi_offset 13, -24
  719. .cfi_offset 14, -32
  720. .cfi_offset 15, -40
  721. ..B3.19:
  722. movq $0x8000000000000000, %rax
  723. orq %rax, %r13
  724. jmp ..B3.21
  725. ..B3.20:
  726. movq %rbx, 8(%r14)
  727. ..B3.21:
  728. andq $-2013265921, %r13
  729. lea 16(%rsp), %rdi
  730. movq (%r14), %rax
  731. orq $268435456, %r13
  732. movq 8(%r14), %rdx
  733. movq %rax, 32(%rdi)
  734. movq %rdx, 40(%rdi)
  735. movq %r13, (%rdi)
  736. ..___tag_value___dpml_pack__.174:
  737. call __dpml_exception@PLT
  738. ..___tag_value___dpml_pack__.175:
  739. ..B3.33:
  740. movq %rax, %rdx
  741. ..B3.22:
  742. movq (%rdx), %rax
  743. movq %rax, (%r14)
  744. movq 8(%rdx), %rdx
  745. movq %rdx, 8(%r14)
  746. movq 104(%rsp), %rcx
  747. xorq %rsp, %rcx
  748. cmpq %fs:40, %rcx
  749. jne ..B3.24
  750. ..B3.23:
  751. addq $120, %rsp
  752. .cfi_def_cfa_offset 56
  753. .cfi_restore 6
  754. popq %rbp
  755. .cfi_def_cfa_offset 48
  756. .cfi_restore 3
  757. popq %rbx
  758. .cfi_def_cfa_offset 40
  759. .cfi_restore 15
  760. popq %r15
  761. .cfi_def_cfa_offset 32
  762. .cfi_restore 14
  763. popq %r14
  764. .cfi_def_cfa_offset 24
  765. .cfi_restore 13
  766. popq %r13
  767. .cfi_def_cfa_offset 16
  768. .cfi_restore 12
  769. popq %r12
  770. .cfi_def_cfa_offset 8
  771. ret
  772. .cfi_def_cfa_offset 176
  773. .cfi_offset 3, -48
  774. .cfi_offset 6, -56
  775. .cfi_offset 12, -16
  776. .cfi_offset 13, -24
  777. .cfi_offset 14, -32
  778. .cfi_offset 15, -40
  779. ..B3.24:
  780. call __stack_chk_fail@PLT
  781. ..B3.26:
  782. movq %rcx, 8(%r14)
  783. jmp ..B3.21
  784. ..B3.28:
  785. movslq (%rbp), %rax
  786. shlq $32, %rax
  787. movq $0, (%r14)
  788. movq %rax, 8(%r14)
  789. movq 104(%rsp), %rdx
  790. xorq %rsp, %rdx
  791. cmpq %fs:40, %rdx
  792. jne ..B3.24
  793. jmp ..B3.13
  794. .align 16,0x90
  795. .cfi_endproc
  796. .type __dpml_pack__,@function
  797. .size __dpml_pack__,.-__dpml_pack__
  798. .data
  799. # -- End __dpml_pack__
  800. .text
  801. # -- Begin __dpml_evaluate_packed_poly__
  802. .text
  803. .align 16,0x90
  804. .globl __dpml_evaluate_packed_poly__
  805. __dpml_evaluate_packed_poly__:
  806. # parameter 1: %rdi
  807. # parameter 2: %rsi
  808. # parameter 3: %rdx
  809. # parameter 4: %rcx
  810. # parameter 5: %r8
  811. # parameter 6: %r9
  812. ..B4.1:
  813. .cfi_startproc
  814. ..___tag_value___dpml_evaluate_packed_poly__.197:
  815. ..L198:
  816. subq $104, %rsp
  817. .cfi_def_cfa_offset 112
  818. movq %fs:40, %rax
  819. xorq %rsp, %rax
  820. movq %rax, 88(%rsp)
  821. movq %rcx, %rax
  822. movq 8(%rdx), %r11
  823. notq %rax
  824. movq (%rdx), %r10
  825. movq %r11, 8(%r9)
  826. movq %r10, %r11
  827. andq %rax, %r11
  828. movq %r11, 16(%r9)
  829. movq %r10, %r11
  830. shrq $1, %r10
  831. andq $1, %r11
  832. andq %rcx, %r10
  833. shlq $31, %r11
  834. subq %r8, %r10
  835. movl %r11d, (%r9)
  836. decq %rsi
  837. movl %r10d, 4(%r9)
  838. js ..B4.8
  839. ..B4.2:
  840. xorl %r10d, %r10d
  841. movl %r10d, 68(%rsp)
  842. movl %r10d, 64(%rsp)
  843. movq %rdi, 56(%rsp)
  844. movq %rcx, 48(%rsp)
  845. movq %r12, 40(%rsp)
  846. .cfi_offset 12, -72
  847. movq %r9, %r12
  848. movq %r13, 32(%rsp)
  849. .cfi_offset 13, -80
  850. movq %rax, %r13
  851. movq %r14, 24(%rsp)
  852. .cfi_offset 14, -88
  853. movq %r8, %r14
  854. movq %r15, 16(%rsp)
  855. .cfi_offset 15, -96
  856. movq %rdx, %r15
  857. movq %rbx, 8(%rsp)
  858. movq %rbp, (%rsp)
  859. .cfi_offset 3, -104
  860. .cfi_offset 6, -112
  861. movq %rsi, %rbp
  862. ..B4.3:
  863. movq %r12, %rsi
  864. movq %r12, %rdx
  865. movq 56(%rsp), %rdi
  866. ..___tag_value___dpml_evaluate_packed_poly__.206:
  867. call __dpml_multiply__@PLT
  868. ..___tag_value___dpml_evaluate_packed_poly__.207:
  869. ..B4.4:
  870. movq %r12, %rdi
  871. xorl %esi, %esi
  872. ..___tag_value___dpml_evaluate_packed_poly__.208:
  873. call __dpml_ffs_and_shift__@PLT
  874. ..___tag_value___dpml_evaluate_packed_poly__.209:
  875. ..B4.5:
  876. addq $16, %r15
  877. movq %r13, %r10
  878. movq %r12, %rdi
  879. lea 64(%rsp), %rsi
  880. movq %r12, %rcx
  881. movq 8(%r15), %rbx
  882. movq %rbx, 8(%rsi)
  883. movq (%r15), %rbx
  884. andq %rbx, %r10
  885. movq %rbx, %rdx
  886. shrq $1, %rbx
  887. andq $1, %rdx
  888. andq -16(%rsi), %rbx
  889. subq %r14, %rbx
  890. movq %r10, 16(%rsi)
  891. ..___tag_value___dpml_evaluate_packed_poly__.210:
  892. call __dpml_addsub__@PLT
  893. ..___tag_value___dpml_evaluate_packed_poly__.211:
  894. ..B4.6:
  895. addl %ebx, 4(%r12)
  896. decq %rbp
  897. jns ..B4.3
  898. ..B4.7:
  899. movq 40(%rsp), %r12
  900. .cfi_restore 12
  901. movq 32(%rsp), %r13
  902. .cfi_restore 13
  903. movq 24(%rsp), %r14
  904. .cfi_restore 14
  905. movq 16(%rsp), %r15
  906. .cfi_restore 15
  907. movq 8(%rsp), %rbx
  908. .cfi_restore 3
  909. movq (%rsp), %rbp
  910. .cfi_restore 6
  911. ..B4.8:
  912. movq 88(%rsp), %rax
  913. xorq %rsp, %rax
  914. cmpq %fs:40, %rax
  915. jne ..B4.10
  916. ..B4.9:
  917. addq $104, %rsp
  918. .cfi_def_cfa_offset 8
  919. ret
  920. .cfi_def_cfa_offset 112
  921. ..B4.10:
  922. call __stack_chk_fail@PLT
  923. .align 16,0x90
  924. .cfi_endproc
  925. .type __dpml_evaluate_packed_poly__,@function
  926. .size __dpml_evaluate_packed_poly__,.-__dpml_evaluate_packed_poly__
  927. .data
  928. # -- End __dpml_evaluate_packed_poly__
  929. .text
  930. # -- Begin __dpml_addsub__
  931. .text
  932. .align 16,0x90
  933. .globl __dpml_addsub__
  934. __dpml_addsub__:
  935. # parameter 1: %rdi
  936. # parameter 2: %rsi
  937. # parameter 3: %rdx
  938. # parameter 4: %rcx
  939. ..B5.1:
  940. .cfi_startproc
  941. ..___tag_value___dpml_addsub__.221:
  942. ..L222:
  943. pushq %r14
  944. .cfi_def_cfa_offset 16
  945. .cfi_offset 14, -16
  946. pushq %r15
  947. .cfi_def_cfa_offset 24
  948. .cfi_offset 15, -24
  949. pushq %rbx
  950. .cfi_def_cfa_offset 32
  951. .cfi_offset 3, -32
  952. pushq %rbp
  953. .cfi_def_cfa_offset 40
  954. .cfi_offset 6, -40
  955. subq $40, %rsp
  956. .cfi_def_cfa_offset 80
  957. movq %rdi, %r9
  958. movq %rdx, %r15
  959. movq %rsi, %rax
  960. movq %r15, %rbx
  961. movq %rcx, %r8
  962. movq %r15, %rcx
  963. xorl %ebp, %ebp
  964. movl (%r9), %edx
  965. andq $4, %rcx
  966. movslq %edx, %rdi
  967. movslq (%rax), %r11
  968. cmovne %ebp, %edx
  969. shlq $31, %rbx
  970. xorq %rbx, %rdi
  971. xorq %r11, %rdi
  972. testq %rcx, %rcx
  973. movl 4(%r9), %esi
  974. cmovne %rbx, %rdi
  975. movslq %esi, %rbx
  976. sarq $31, %rdi
  977. movq %rbx, %rcx
  978. movq %fs:40, %r10
  979. andq $1, %rdi
  980. xorq %rsp, %r10
  981. movq %r10, 32(%rsp)
  982. movslq 4(%rax), %r10
  983. subq %r10, %rcx
  984. jge ..B5.3
  985. ..B5.2:
  986. negq %rcx
  987. movq %r9, %rbp
  988. addq %rcx, %rbx
  989. movq %rax, %r9
  990. movl %ebx, %esi
  991. movq %rdi, %rbx
  992. shlq $31, %rbx
  993. movq %rbp, %rax
  994. movslq %edx, %rdx
  995. movl $-2147483648, %ebp
  996. xorq %rbx, %rdx
  997. ..B5.3:
  998. movq 16(%rax), %rbx
  999. movl $2, %r11d
  1000. movq 8(%rax), %rax
  1001. ..B5.4:
  1002. movq %rcx, %r10
  1003. negq %r10
  1004. addq $64, %r10
  1005. testq %r10, %r10
  1006. jg ..B5.11
  1007. ..B5.5:
  1008. movq %r10, %rcx
  1009. movq %rax, %rbx
  1010. negq %rcx
  1011. xorl %eax, %eax
  1012. decq %r11
  1013. jne ..B5.4
  1014. ..B5.6:
  1015. movq 8(%r9), %rcx
  1016. testq $2, %r15
  1017. movq %rcx, 8(%r8)
  1018. movl 4(%r9), %eax
  1019. movq 16(%r9), %rbx
  1020. movl %eax, 4(%r8)
  1021. movq %rbx, 16(%r8)
  1022. movl %edx, (%r8)
  1023. je ..B5.8
  1024. ..B5.7:
  1025. movq 8(%r9), %rcx
  1026. xorl %ebp, %edx
  1027. movq %rcx, 32(%r8)
  1028. movl 4(%r9), %eax
  1029. movq 16(%r9), %rbx
  1030. movl %eax, 28(%r8)
  1031. movq %rbx, 40(%r8)
  1032. movl %edx, 24(%r8)
  1033. ..B5.8:
  1034. movq 32(%rsp), %rax
  1035. xorq %rsp, %rax
  1036. cmpq %fs:40, %rax
  1037. jne ..B5.10
  1038. ..B5.9:
  1039. addq $40, %rsp
  1040. .cfi_def_cfa_offset 40
  1041. .cfi_restore 6
  1042. popq %rbp
  1043. .cfi_def_cfa_offset 32
  1044. .cfi_restore 3
  1045. popq %rbx
  1046. .cfi_def_cfa_offset 24
  1047. .cfi_restore 15
  1048. popq %r15
  1049. .cfi_def_cfa_offset 16
  1050. .cfi_restore 14
  1051. popq %r14
  1052. .cfi_def_cfa_offset 8
  1053. ret
  1054. .cfi_def_cfa_offset 80
  1055. .cfi_offset 3, -32
  1056. .cfi_offset 6, -40
  1057. .cfi_offset 14, -16
  1058. .cfi_offset 15, -24
  1059. ..B5.10:
  1060. call __stack_chk_fail@PLT
  1061. ..B5.11:
  1062. testq %rcx, %rcx
  1063. je ..B5.13
  1064. ..B5.12:
  1065. movl %ecx, %r11d
  1066. movl %r11d, %ecx
  1067. shrq %cl, %rbx
  1068. movl %r10d, %ecx
  1069. movq %rax, %r10
  1070. shlq %cl, %r10
  1071. movl %r11d, %ecx
  1072. shrq %cl, %rax
  1073. orq %r10, %rbx
  1074. ..B5.13:
  1075. movq %r8, %r14
  1076. movq %r12, 8(%rsp)
  1077. .cfi_offset 12, -72
  1078. movq %rdi, %r12
  1079. movq %r13, (%rsp)
  1080. .cfi_offset 13, -80
  1081. movq %r9, %r13
  1082. jmp ..B5.14
  1083. ..B5.22:
  1084. negq %r12
  1085. xorq $2, %r15
  1086. movl 4(%r13), %esi
  1087. incq %r12
  1088. addq $24, %r14
  1089. xorl %ebp, %edx
  1090. ..B5.14:
  1091. movq 16(%r13), %r11
  1092. testq %r12, %r12
  1093. movq 8(%r13), %rdi
  1094. jne ..B5.17
  1095. ..B5.15:
  1096. xorl %ecx, %ecx
  1097. lea (%r11,%rbx), %r10
  1098. cmpq %r11, %r10
  1099. movl %ecx, %r11d
  1100. setb %r11b
  1101. xorl %r9d, %r9d
  1102. andq $15, %r15
  1103. movl %r11d, %r8d
  1104. lea (%rax,%r8), %r11
  1105. cmpq %r8, %r11
  1106. setb %r9b
  1107. addq %rdi, %r11
  1108. cmpq %rdi, %r11
  1109. setb %cl
  1110. addl %ecx, %r9d
  1111. je ..B5.19
  1112. ..B5.16:
  1113. movq %r11, %rcx
  1114. incl %esi
  1115. shrq $1, %r10
  1116. shlq $63, %rcx
  1117. shrq $1, %r11
  1118. orq %rcx, %r10
  1119. btsq $63, %r11
  1120. jmp ..B5.19
  1121. ..B5.17:
  1122. xorl %ecx, %ecx
  1123. xorl %r10d, %r10d
  1124. cmpq %r11, %rbx
  1125. seta %r10b
  1126. xorl %r9d, %r9d
  1127. addq $-8, %r15
  1128. movl %r10d, %r8d
  1129. movq %r11, %r10
  1130. subq %rbx, %r10
  1131. lea (%rax,%r8), %r11
  1132. cmpq %r8, %r11
  1133. setb %r9b
  1134. negq %r11
  1135. addq %rdi, %r11
  1136. cmpq %r11, %rdi
  1137. setb %cl
  1138. addl %ecx, %r9d
  1139. je ..B5.19
  1140. ..B5.18:
  1141. movq $-1, %rcx
  1142. xorl %edi, %edi
  1143. negq %r10
  1144. movslq %edx, %rdx
  1145. cmovne %rcx, %rdi
  1146. btcq $31, %rdx
  1147. negq %r11
  1148. movl $-2147483648, %ebp
  1149. addq %rdi, %r11
  1150. ..B5.19:
  1151. movq %r11, 8(%r14)
  1152. testq $16, %r15
  1153. movq %r10, 16(%r14)
  1154. movl %esi, 4(%r14)
  1155. movl %edx, (%r14)
  1156. je ..B5.21
  1157. ..B5.20:
  1158. movq %r14, %rdi
  1159. xorl %esi, %esi
  1160. movl %edx, 16(%rsp)
  1161. movq %rax, 24(%rsp)
  1162. ..___tag_value___dpml_addsub__.248:
  1163. call __dpml_ffs_and_shift__@PLT
  1164. ..___tag_value___dpml_addsub__.249:
  1165. ..B5.28:
  1166. movq 24(%rsp), %rax
  1167. movl 16(%rsp), %edx
  1168. ..B5.21:
  1169. testq $2, %r15
  1170. jne ..B5.22
  1171. ..B5.23:
  1172. movq 32(%rsp), %rax
  1173. xorq %rsp, %rax
  1174. movq 8(%rsp), %r12
  1175. .cfi_restore 12
  1176. movq (%rsp), %r13
  1177. .cfi_restore 13
  1178. cmpq %fs:40, %rax
  1179. jne ..B5.10
  1180. jmp ..B5.9
  1181. .align 16,0x90
  1182. .cfi_endproc
  1183. .type __dpml_addsub__,@function
  1184. .size __dpml_addsub__,.-__dpml_addsub__
  1185. .data
  1186. # -- End __dpml_addsub__
  1187. .text
  1188. # -- Begin __dpml_ffs_and_shift__
  1189. .text
  1190. .align 16,0x90
  1191. .globl __dpml_ffs_and_shift__
  1192. __dpml_ffs_and_shift__:
  1193. # parameter 1: %rdi
  1194. # parameter 2: %rsi
  1195. ..B6.1:
  1196. .cfi_startproc
  1197. ..___tag_value___dpml_ffs_and_shift__.253:
  1198. ..L254:
  1199. pushq %rsi
  1200. .cfi_def_cfa_offset 16
  1201. movq %rdi, %r9
  1202. movq %fs:40, %rax
  1203. xorq %rsp, %rax
  1204. movq %rax, (%rsp)
  1205. testq %rsi, %rsi
  1206. movq 8(%r9), %r8
  1207. jne ..B6.4
  1208. ..B6.2:
  1209. movslq 4(%r9), %rdi
  1210. testq %r8, %r8
  1211. jl ..B6.12
  1212. ..B6.3:
  1213. movq 16(%r9), %rsi
  1214. jmp ..B6.7
  1215. ..B6.4:
  1216. xorl %ecx, %ecx
  1217. movl $64, %edi
  1218. cmpq $1, %rsi
  1219. jne ..B6.6
  1220. ..B6.5:
  1221. movq %r8, %rdx
  1222. movl $-2147483648, %eax
  1223. negq %rdx
  1224. testq %r8, %r8
  1225. cmovl %eax, %ecx
  1226. cmovl %rdx, %r8
  1227. ..B6.6:
  1228. movq %r8, 8(%r9)
  1229. xorl %esi, %esi
  1230. movq $0, 16(%r9)
  1231. movl %ecx, (%r9)
  1232. ..B6.7:
  1233. movl $2, %edx
  1234. xorl %eax, %eax
  1235. ..B6.8:
  1236. testq %r8, %r8
  1237. jne ..B6.16
  1238. ..B6.9:
  1239. addq $64, %rax
  1240. movq %rsi, %r8
  1241. xorl %esi, %esi
  1242. decq %rdx
  1243. jne ..B6.8
  1244. ..B6.10:
  1245. movl $-262144, 4(%r9)
  1246. movq (%rsp), %rdx
  1247. xorq %rsp, %rdx
  1248. cmpq %fs:40, %rdx
  1249. jne ..B6.14
  1250. ..B6.11:
  1251. popq %rcx
  1252. .cfi_def_cfa_offset 8
  1253. ret
  1254. .cfi_def_cfa_offset 16
  1255. ..B6.12:
  1256. movq (%rsp), %rax
  1257. xorq %rsp, %rax
  1258. cmpq %fs:40, %rax
  1259. jne ..B6.14
  1260. ..B6.13:
  1261. xorl %eax, %eax
  1262. popq %rcx
  1263. .cfi_def_cfa_offset 8
  1264. ret
  1265. .cfi_def_cfa_offset 16
  1266. ..B6.14:
  1267. call __stack_chk_fail@PLT
  1268. ..B6.16:
  1269. jl ..B6.21
  1270. ..B6.17:
  1271. movq %r8, %rcx
  1272. shrq $58, %rcx
  1273. andq $30, %rcx
  1274. je ..B6.19
  1275. ..B6.18:
  1276. movl $21932, %edx
  1277. shrl %cl, %edx
  1278. andl $3, %edx
  1279. incq %rdx
  1280. jmp ..B6.20
  1281. ..B6.19:
  1282. movq %r8, %rdx
  1283. pxor %xmm0, %xmm0
  1284. andq $-256, %rdx
  1285. cmove %r8, %rdx
  1286. cvtsi2sdq %rdx, %xmm0
  1287. testq %rdx, %rdx
  1288. jge ..B6.26
  1289. ..B6.27:
  1290. movq %rdx, %rcx
  1291. pxor %xmm0, %xmm0
  1292. shrq $1, %rdx
  1293. andq $1, %rcx
  1294. orq %rdx, %rcx
  1295. cvtsi2sdq %rcx, %xmm0
  1296. addsd %xmm0, %xmm0
  1297. ..B6.26:
  1298. movd %xmm0, %rdx
  1299. sarq $52, %rdx
  1300. negq %rdx
  1301. addq $1086, %rdx
  1302. ..B6.20:
  1303. movl %edx, %ecx
  1304. movq %rsi, %r10
  1305. shlq %cl, %r8
  1306. movq %rdx, %rcx
  1307. negq %rcx
  1308. addq %rdx, %rax
  1309. shrq %cl, %r10
  1310. movl %edx, %ecx
  1311. orq %r10, %r8
  1312. shlq %cl, %rsi
  1313. ..B6.21:
  1314. subq %rax, %rdi
  1315. movq %r8, 8(%r9)
  1316. movq %rsi, 16(%r9)
  1317. movl %edi, 4(%r9)
  1318. movq (%rsp), %rdx
  1319. xorq %rsp, %rdx
  1320. cmpq %fs:40, %rdx
  1321. jne ..B6.14
  1322. jmp ..B6.11
  1323. .align 16,0x90
  1324. .cfi_endproc
  1325. .type __dpml_ffs_and_shift__,@function
  1326. .size __dpml_ffs_and_shift__,.-__dpml_ffs_and_shift__
  1327. .data
  1328. # -- End __dpml_ffs_and_shift__
  1329. .section .rodata, "a"
  1330. .align 16
  1331. .align 16
  1332. .globl __x_constants__
  1333. __x_constants__:
  1334. .long 0
  1335. .long 0
  1336. .long 0
  1337. .long 0
  1338. .long 0
  1339. .long 0
  1340. .long 0
  1341. .long 1073610752
  1342. .long 0
  1343. .long 0
  1344. .long 0
  1345. .long 1073676288
  1346. .long 0
  1347. .long 0
  1348. .long 0
  1349. .long 1073741824
  1350. .long 3306619320
  1351. .long 2221509004
  1352. .long 3041149649
  1353. .long 1073648159
  1354. .long 3306619320
  1355. .long 2221509004
  1356. .long 3041149649
  1357. .long 1073779231
  1358. .long 2479964490
  1359. .long 592389929
  1360. .long 3354604061
  1361. .long 1073753495
  1362. .long 3306619320
  1363. .long 2221509004
  1364. .long 3041149649
  1365. .long 1073713695
  1366. .long 0
  1367. .long 0
  1368. .long 0
  1369. .long 1074030592
  1370. .long 0
  1371. .long 0
  1372. .long 0
  1373. .long 1074096128
  1374. .long 0
  1375. .long 0
  1376. .long 0
  1377. .long 1074138624
  1378. .long 0
  1379. .long 0
  1380. .long 0
  1381. .long 1074161664
  1382. .long 0
  1383. .long 0
  1384. .long 0
  1385. .long 2147418112
  1386. .type __x_constants__,@object
  1387. .size __x_constants__,208
  1388. .align 8
  1389. .L_2il0floatpacket.7:
  1390. .long 0x00000000,0x3e600000
  1391. .type .L_2il0floatpacket.7,@object
  1392. .size .L_2il0floatpacket.7,8
  1393. .data
  1394. .section .note.GNU-stack, ""
  1395. // -- Begin DWARF2 SEGMENT .eh_frame
  1396. .section .eh_frame,"a",@progbits
  1397. .eh_frame_seg:
  1398. .align 1
  1399. # End