exp10l.S 26 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282
  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 "exp10l.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin exp10l
  41. .text
  42. .align 16,0x90
  43. .globl exp10l
  44. exp10l:
  45. # parameter 1: 96 + %rsp
  46. ..B1.1:
  47. .cfi_startproc
  48. ..___tag_value_exp10l.1:
  49. ..L2:
  50. subq $88, %rsp
  51. .cfi_def_cfa_offset 96
  52. xorb %dil, %dil
  53. ..B1.2:
  54. fnstcw 86(%rsp)
  55. ..B1.3:
  56. movzwl 104(%rsp), %esi
  57. movl %esi, %eax
  58. movzbl 105(%rsp), %ecx
  59. andl $32767, %eax
  60. shrl $7, %ecx
  61. shll $15, %ecx
  62. orl %eax, %ecx
  63. shll $16, %ecx
  64. movzwl 102(%rsp), %edx
  65. orl %edx, %ecx
  66. addl $-1073709056, %ecx
  67. cmpl $284672, %ecx
  68. ja ..B1.6
  69. ..B1.4:
  70. fldt 96(%rsp)
  71. lea _TWO_23H(%rip), %rax
  72. fld %st(0)
  73. fldl (%rax)
  74. fadd %st, %st(1)
  75. fxch %st(1)
  76. fstps 80(%rsp)
  77. movss 80(%rsp), %xmm0
  78. movss %xmm0, 16(%rsp)
  79. flds 16(%rsp)
  80. fsubp %st, %st(1)
  81. fucomip %st(1), %st
  82. fstp %st(0)
  83. jp ..B1.5
  84. je ..B1.79
  85. ..B1.5:
  86. movl %esi, %eax
  87. andl $32767, %eax
  88. ..B1.6:
  89. cmpl $16388, %eax
  90. jge ..B1.45
  91. ..B1.7:
  92. movzwl 86(%rsp), %edx
  93. cmpl $16375, %eax
  94. jge ..B1.38
  95. ..B1.8:
  96. cmpl $16368, %eax
  97. jge ..B1.31
  98. ..B1.9:
  99. cmpl $16357, %eax
  100. jge ..B1.24
  101. ..B1.10:
  102. cmpl $16316, %eax
  103. jge ..B1.17
  104. ..B1.11:
  105. movl %edx, %eax
  106. andl $768, %eax
  107. cmpl $768, %eax
  108. je ..B1.73
  109. ..B1.12:
  110. orl $-64768, %edx
  111. movw %dx, 84(%rsp)
  112. ..B1.13:
  113. fldcw 84(%rsp)
  114. ..B1.14:
  115. fldt .L_2il0floatpacket.3(%rip)
  116. fldt 96(%rsp)
  117. faddp %st, %st(1)
  118. fstpt 16(%rsp)
  119. ..B1.15:
  120. fldcw 86(%rsp)
  121. ..B1.16:
  122. fldt 16(%rsp)
  123. addq $88, %rsp
  124. .cfi_def_cfa_offset 8
  125. ret
  126. .cfi_def_cfa_offset 96
  127. ..B1.17:
  128. movl %edx, %eax
  129. andl $768, %eax
  130. cmpl $768, %eax
  131. je ..B1.21
  132. ..B1.18:
  133. orl $-64768, %edx
  134. movw %dx, 84(%rsp)
  135. ..B1.19:
  136. fldcw 84(%rsp)
  137. ..B1.20:
  138. movb $1, %dil
  139. ..B1.21:
  140. fldt 96(%rsp)
  141. lea 16+_Q2(%rip), %rax
  142. fldt .L_2il0floatpacket.3(%rip)
  143. lea _Q2(%rip), %rdx
  144. testb %dil, %dil
  145. fldt (%rax)
  146. fmul %st(2), %st
  147. fldt (%rdx)
  148. faddp %st, %st(1)
  149. fmulp %st, %st(2)
  150. faddp %st, %st(1)
  151. fstpt 16(%rsp)
  152. je ..B1.23
  153. ..B1.22:
  154. fldcw 86(%rsp)
  155. ..B1.23:
  156. fldt 16(%rsp)
  157. addq $88, %rsp
  158. .cfi_def_cfa_offset 8
  159. ret
  160. .cfi_def_cfa_offset 96
  161. ..B1.24:
  162. movl %edx, %eax
  163. andl $768, %eax
  164. cmpl $768, %eax
  165. je ..B1.28
  166. ..B1.25:
  167. orl $-64768, %edx
  168. movw %dx, 84(%rsp)
  169. ..B1.26:
  170. fldcw 84(%rsp)
  171. ..B1.27:
  172. movb $1, %dil
  173. ..B1.28:
  174. fldt 96(%rsp)
  175. lea 48+_Q1(%rip), %rax
  176. fld %st(0)
  177. lea 32+_Q1(%rip), %rdx
  178. fmul %st(1), %st
  179. lea 16+_Q1(%rip), %rcx
  180. fldt (%rax)
  181. lea _Q1(%rip), %rsi
  182. fmul %st(1), %st
  183. testb %dil, %dil
  184. fldt (%rdx)
  185. fmul %st(2), %st
  186. fldt (%rcx)
  187. faddp %st, %st(2)
  188. fxch %st(1)
  189. fmulp %st, %st(2)
  190. fldt (%rsi)
  191. faddp %st, %st(1)
  192. fmulp %st, %st(2)
  193. faddp %st, %st(1)
  194. fldt .L_2il0floatpacket.3(%rip)
  195. faddp %st, %st(1)
  196. fstpt 16(%rsp)
  197. je ..B1.30
  198. ..B1.29:
  199. fldcw 86(%rsp)
  200. ..B1.30:
  201. fldt 16(%rsp)
  202. addq $88, %rsp
  203. .cfi_def_cfa_offset 8
  204. ret
  205. .cfi_def_cfa_offset 96
  206. ..B1.31:
  207. movl %edx, %eax
  208. andl $768, %eax
  209. cmpl $768, %eax
  210. je ..B1.35
  211. ..B1.32:
  212. orl $-64768, %edx
  213. movw %dx, 84(%rsp)
  214. ..B1.33:
  215. fldcw 84(%rsp)
  216. ..B1.34:
  217. movb $1, %dil
  218. ..B1.35:
  219. fldt 96(%rsp)
  220. lea 112+_Q0(%rip), %rdx
  221. fld %st(0)
  222. lea 96+_Q0(%rip), %rcx
  223. fmul %st(1), %st
  224. lea 80+_Q0(%rip), %rsi
  225. lea 64+_Q0(%rip), %r8
  226. lea 48+_Q0(%rip), %r9
  227. lea 32+_Q0(%rip), %r10
  228. lea _TWO_48H(%rip), %rax
  229. lea 16+_Q0(%rip), %r11
  230. fld %st(1)
  231. fld %st(2)
  232. testb %dil, %dil
  233. fldt (%rdx)
  234. lea 128+_Q0(%rip), %rdx
  235. fmul %st(3), %st
  236. fldl (%rax)
  237. lea _Q0(%rip), %rax
  238. fadd %st, %st(3)
  239. fsubr %st(3), %st
  240. fsubr %st, %st(2)
  241. fldt (%rcx)
  242. fmul %st(5), %st
  243. fldt (%rsi)
  244. faddp %st, %st(3)
  245. fxch %st(2)
  246. fmul %st(5), %st
  247. fldt (%r8)
  248. faddp %st, %st(3)
  249. fxch %st(2)
  250. fmul %st(5), %st
  251. fldt (%r9)
  252. faddp %st, %st(3)
  253. fxch %st(2)
  254. fmul %st(5), %st
  255. fldt (%r10)
  256. faddp %st, %st(3)
  257. fxch %st(2)
  258. fmul %st(5), %st
  259. fldt (%r11)
  260. faddp %st, %st(3)
  261. fxch %st(2)
  262. fmulp %st, %st(5)
  263. fldt (%rax)
  264. faddp %st, %st(2)
  265. fxch %st(1)
  266. fmulp %st, %st(5)
  267. fxch %st(4)
  268. faddp %st, %st(3)
  269. fldt (%rdx)
  270. fmul %st, %st(4)
  271. fmulp %st, %st(1)
  272. faddp %st, %st(2)
  273. fldt .L_2il0floatpacket.3(%rip)
  274. faddp %st, %st(3)
  275. fxch %st(1)
  276. faddp %st, %st(2)
  277. fxch %st(1)
  278. fstpt 16(%rsp)
  279. je ..B1.85
  280. ..B1.36:
  281. fstpt 48(%rsp)
  282. ..B1.82:
  283. fldcw 86(%rsp)
  284. jmp ..B1.37
  285. ..B1.85:
  286. fstp %st(0)
  287. ..B1.37:
  288. fldt 16(%rsp)
  289. addq $88, %rsp
  290. .cfi_def_cfa_offset 8
  291. ret
  292. .cfi_def_cfa_offset 96
  293. ..B1.38:
  294. movl %edx, %eax
  295. andl $768, %eax
  296. cmpl $768, %eax
  297. je ..B1.42
  298. ..B1.39:
  299. orl $-64768, %edx
  300. movw %dx, 84(%rsp)
  301. ..B1.40:
  302. fldcw 84(%rsp)
  303. ..B1.41:
  304. movb $1, %dil
  305. ..B1.42:
  306. fldt 96(%rsp)
  307. lea _TWO_63H(%rip), %rdx
  308. fldt .L_2il0floatpacket.0(%rip)
  309. lea _TWO_48H(%rip), %rcx
  310. fmul %st(1), %st
  311. lea 80+_P(%rip), %r8
  312. fldl (%rdx)
  313. lea 48+_P(%rip), %r10
  314. lea 64+_P(%rip), %r9
  315. lea 32+_P(%rip), %r11
  316. lea 16+_P(%rip), %rdx
  317. fadd %st, %st(1)
  318. fxch %st(1)
  319. fstpt 48(%rsp)
  320. fldt 48(%rsp)
  321. fsubp %st, %st(1)
  322. fldt .L_2il0floatpacket.1(%rip)
  323. fmul %st(1), %st
  324. movl 48(%rsp), %esi
  325. fsubrp %st, %st(2)
  326. fld %st(1)
  327. fldt .L_2il0floatpacket.2(%rip)
  328. fmulp %st, %st(2)
  329. movsbq %sil, %rax
  330. fsub %st(1), %st
  331. fldl (%rcx)
  332. lea _P(%rip), %rcx
  333. subl %eax, %esi
  334. fadd %st, %st(1)
  335. shrl $8, %esi
  336. fsubr %st(1), %st
  337. fld %st(0)
  338. fxch %st(1)
  339. fsubr %st, %st(4)
  340. shll $23, %esi
  341. fxch %st(3)
  342. fsubrp %st, %st(4)
  343. addl $1065353216, %esi
  344. fadd %st(3), %st
  345. fld %st(0)
  346. fmul %st(1), %st
  347. fldt (%r8)
  348. fmul %st(1), %st
  349. fldt (%r9)
  350. fmul %st(2), %st
  351. fldt (%r10)
  352. movl %esi, 32(%rsp)
  353. lea 96+_P(%rip), %rsi
  354. shlq $4, %rax
  355. faddp %st, %st(2)
  356. fxch %st(1)
  357. fmul %st(2), %st
  358. testb %dil, %dil
  359. fldt (%r11)
  360. movq __libm_expl_table_256@GOTPCREL(%rip), %r8
  361. faddp %st, %st(2)
  362. fxch %st(1)
  363. fmul %st(2), %st
  364. fldt (%rdx)
  365. faddp %st, %st(2)
  366. fxch %st(2)
  367. fmulp %st, %st(1)
  368. fldt (%rcx)
  369. faddp %st, %st(2)
  370. fxch %st(2)
  371. fmulp %st, %st(1)
  372. faddp %st, %st(1)
  373. fldt (%rsi)
  374. fmul %st, %st(4)
  375. fxch %st(4)
  376. faddp %st, %st(1)
  377. fxch %st(3)
  378. fmulp %st, %st(2)
  379. fldl 2056(%r8,%rax)
  380. fldl 2048(%r8,%rax)
  381. fld %st(0)
  382. fmul %st(5), %st
  383. fxch %st(4)
  384. fadd %st, %st(5)
  385. fxch %st(2)
  386. fmul %st, %st(5)
  387. fxch %st(5)
  388. faddp %st, %st(4)
  389. fxch %st(4)
  390. faddp %st, %st(3)
  391. fmul %st(3), %st
  392. faddp %st, %st(3)
  393. fxch %st(1)
  394. faddp %st, %st(2)
  395. fxch %st(1)
  396. fmuls 32(%rsp)
  397. fstpt 16(%rsp)
  398. je ..B1.86
  399. ..B1.43:
  400. fstpt 48(%rsp)
  401. ..B1.83:
  402. fldcw 86(%rsp)
  403. jmp ..B1.44
  404. ..B1.86:
  405. fstp %st(0)
  406. ..B1.44:
  407. fldt 16(%rsp)
  408. addq $88, %rsp
  409. .cfi_def_cfa_offset 8
  410. ret
  411. .cfi_def_cfa_offset 96
  412. ..B1.45:
  413. movb 105(%rsp), %dl
  414. lea _ranges(%rip), %r8
  415. andb $-128, %dl
  416. shrb $7, %dl
  417. movzbl %dl, %esi
  418. movq %rsi, %rcx
  419. shlq $4, %rcx
  420. movzwl 8(%rcx,%r8), %edx
  421. andl $32767, %edx
  422. cmpl %edx, %eax
  423. jl ..B1.50
  424. ..B1.46:
  425. jne ..B1.62
  426. ..B1.47:
  427. movl 100(%rsp), %edx
  428. cmpl 4(%rcx,%r8), %edx
  429. jb ..B1.50
  430. ..B1.48:
  431. jne ..B1.62
  432. ..B1.49:
  433. movl 96(%rsp), %edx
  434. cmpl (%rcx,%r8), %edx
  435. jae ..B1.62
  436. ..B1.50:
  437. movzwl 86(%rsp), %edx
  438. movl %edx, %eax
  439. andl $768, %eax
  440. cmpl $768, %eax
  441. je ..B1.54
  442. ..B1.51:
  443. orl $-64768, %edx
  444. movw %dx, 84(%rsp)
  445. ..B1.52:
  446. fldcw 84(%rsp)
  447. ..B1.53:
  448. movb $1, %dil
  449. ..B1.54:
  450. fldt .L_2il0floatpacket.3(%rip)
  451. lea _TWO_63H(%rip), %r8
  452. fstpt 64(%rsp)
  453. lea _TWO_48H(%rip), %r9
  454. fldt 96(%rsp)
  455. lea SC2_BIAS(%rip), %r10
  456. fldt .L_2il0floatpacket.0(%rip)
  457. fmul %st(1), %st
  458. fldl (%r8)
  459. movzwl 8+.L_2il0floatpacket.3(%rip), %r8d
  460. fadd %st, %st(1)
  461. fxch %st(1)
  462. fstpt 48(%rsp)
  463. fldt 48(%rsp)
  464. andl $-32768, %r8d
  465. movl 48(%rsp), %edx
  466. fsubp %st, %st(1)
  467. fldt .L_2il0floatpacket.1(%rip)
  468. fmul %st(1), %st
  469. movsbq %dl, %rax
  470. fsubr %st(2), %st
  471. fld %st(0)
  472. movl %eax, %r11d
  473. fldt .L_2il0floatpacket.2(%rip)
  474. negl %r11d
  475. fmulp %st, %st(3)
  476. addl %edx, %r11d
  477. shrl $8, %r11d
  478. addl $4196735, %edx
  479. addl (%r10,%rsi,4), %r11d
  480. lea 80+_P(%rip), %rsi
  481. andl $32767, %r11d
  482. lea 16+_P(%rip), %r10
  483. orl %r11d, %r8d
  484. lea _P(%rip), %r11
  485. movw %r8w, 72(%rsp)
  486. lea 48+_P(%rip), %r8
  487. shlq $4, %rax
  488. fsub %st(2), %st
  489. fldl (%r9)
  490. lea 32+_P(%rip), %r9
  491. cmpl $3070, %edx
  492. fadd %st, %st(1)
  493. fxch %st(1)
  494. fstpt 16(%rsp)
  495. fldt 16(%rsp)
  496. fsubp %st, %st(1)
  497. fld %st(0)
  498. fxch %st(1)
  499. fsubr %st, %st(2)
  500. fxch %st(3)
  501. fsubrp %st, %st(2)
  502. fadd %st(1), %st
  503. fld %st(0)
  504. fmul %st(1), %st
  505. fldt (%rsi)
  506. lea 64+_P(%rip), %rsi
  507. fmul %st(1), %st
  508. fldt (%rsi)
  509. lea 96+_P(%rip), %rsi
  510. fmul %st(2), %st
  511. fldt (%r8)
  512. movq __libm_expl_table_256@GOTPCREL(%rip), %r8
  513. faddp %st, %st(2)
  514. fxch %st(1)
  515. fmul %st(2), %st
  516. fldt (%r9)
  517. faddp %st, %st(2)
  518. fxch %st(1)
  519. fmul %st(2), %st
  520. fldt (%r10)
  521. faddp %st, %st(2)
  522. fxch %st(2)
  523. fmulp %st, %st(1)
  524. fldt (%r11)
  525. faddp %st, %st(2)
  526. fxch %st(2)
  527. fmulp %st, %st(1)
  528. faddp %st, %st(1)
  529. fldt (%rsi)
  530. fmul %st, %st(2)
  531. fxch %st(2)
  532. faddp %st, %st(1)
  533. fxch %st(1)
  534. fmulp %st, %st(2)
  535. fldl 2048(%r8,%rax)
  536. fld %st(0)
  537. fmul %st(2), %st
  538. fxch %st(2)
  539. fadd %st(3), %st
  540. fxch %st(1)
  541. fmul %st, %st(3)
  542. faddp %st, %st(3)
  543. fmull 2056(%r8,%rax)
  544. faddp %st, %st(1)
  545. faddl 2056(%r8,%rax)
  546. ja ..B1.57
  547. ..B1.55:
  548. lea _exp10but(%rip), %rax
  549. fldt (%rax)
  550. fcomip %st(3), %st
  551. jbe ..B1.57
  552. ..B1.56:
  553. fstp %st(2)
  554. fld %st(0)
  555. lea _TWO_12H(%rip), %rax
  556. lea _SC2(%rip), %rdx
  557. fadd %st(2), %st
  558. fldl (%rax)
  559. fmul %st(1), %st
  560. fadd %st, %st(1)
  561. fxch %st(1)
  562. fstpt 16(%rsp)
  563. fldt 16(%rsp)
  564. fsubp %st, %st(1)
  565. fsubr %st, %st(1)
  566. fxch %st(1)
  567. faddp %st, %st(2)
  568. fldt (%rcx,%rdx)
  569. fldt 64(%rsp)
  570. fmul %st, %st(2)
  571. fxch %st(1)
  572. fmul %st, %st(2)
  573. fxch %st(1)
  574. fmulp %st, %st(3)
  575. fmulp %st, %st(2)
  576. faddp %st, %st(1)
  577. fstpt 32(%rsp)
  578. jmp ..B1.58
  579. ..B1.57:
  580. fstp %st(2)
  581. fldt 64(%rsp)
  582. fxch %st(2)
  583. faddp %st, %st(1)
  584. lea _SC2(%rip), %rax
  585. fmulp %st, %st(1)
  586. fldt (%rcx,%rax)
  587. fmulp %st, %st(1)
  588. fstpt 32(%rsp)
  589. ..B1.58:
  590. fldt 32(%rsp)
  591. lea _minnorm(%rip), %rax
  592. fldt (%rax)
  593. fcomip %st(1), %st
  594. fstp %st(0)
  595. ja ..B1.74
  596. ..B1.59:
  597. testb %dil, %dil
  598. je ..B1.61
  599. ..B1.60:
  600. fldt 16(%rsp)
  601. fstpt 48(%rsp)
  602. ..B1.84:
  603. fldcw 86(%rsp)
  604. ..B1.61:
  605. fldt 32(%rsp)
  606. addq $88, %rsp
  607. .cfi_def_cfa_offset 8
  608. ret
  609. .cfi_def_cfa_offset 96
  610. ..B1.62:
  611. movzwl 86(%rsp), %ecx
  612. movl %ecx, %edx
  613. andl $768, %edx
  614. cmpl $768, %edx
  615. je ..B1.66
  616. ..B1.63:
  617. orl $-64768, %ecx
  618. movw %cx, 84(%rsp)
  619. ..B1.64:
  620. fldcw 84(%rsp)
  621. ..B1.65:
  622. movzwl 104(%rsp), %eax
  623. movb $1, %dil
  624. andl $32767, %eax
  625. ..B1.66:
  626. cmpl $32767, %eax
  627. je ..B1.75
  628. ..B1.67:
  629. testq %rsi, %rsi
  630. je ..B1.69
  631. ..B1.68:
  632. lea _small_value_80(%rip), %rax
  633. fldt (%rax)
  634. fmul %st(0), %st
  635. fstpt 16(%rsp)
  636. jmp ..B1.70
  637. ..B1.69:
  638. lea _large_value_80(%rip), %rax
  639. fldt (%rax)
  640. fmul %st(0), %st
  641. fstpt 16(%rsp)
  642. ..B1.70:
  643. testb %dil, %dil
  644. je ..B1.72
  645. ..B1.71:
  646. fldcw 86(%rsp)
  647. ..B1.72:
  648. fldt 16(%rsp)
  649. addq $88, %rsp
  650. .cfi_def_cfa_offset 8
  651. ret
  652. .cfi_def_cfa_offset 96
  653. ..B1.73:
  654. fldt .L_2il0floatpacket.3(%rip)
  655. fldt 96(%rsp)
  656. faddp %st, %st(1)
  657. fstpt 16(%rsp)
  658. jmp ..B1.16
  659. ..B1.74:
  660. lea _small_value_80(%rip), %rax
  661. fldt (%rax)
  662. fmul %st(0), %st
  663. fstpt (%rsp)
  664. jmp ..B1.59
  665. ..B1.75:
  666. cmpl $-2147483648, 100(%rsp)
  667. jne ..B1.78
  668. ..B1.76:
  669. cmpl $0, 96(%rsp)
  670. jne ..B1.78
  671. ..B1.77:
  672. lea _inf_zeros(%rip), %rax
  673. fldl (%rax,%rsi,8)
  674. fstpt 16(%rsp)
  675. jmp ..B1.70
  676. ..B1.78:
  677. fldt 96(%rsp)
  678. fstpt 16(%rsp)
  679. jmp ..B1.70
  680. ..B1.79:
  681. movl 80(%rsp), %eax
  682. lea _exact_values(%rip), %rdx
  683. andl $4194303, %eax
  684. shlq $4, %rax
  685. fldt -16(%rdx,%rax)
  686. addq $88, %rsp
  687. .cfi_def_cfa_offset 8
  688. ret
  689. .align 16,0x90
  690. .cfi_endproc
  691. .type exp10l,@function
  692. .size exp10l,.-exp10l
  693. .data
  694. # -- End exp10l
  695. .section .rodata, "a"
  696. .align 16
  697. .align 16
  698. .L_2il0floatpacket.0:
  699. .byte 0x00,0x88,0x1b,0xcd,0x4b,0x78,0x9a,0xd4,0x08,0x40,0x00,0x00,0x00,0x00,0x00,0x00
  700. .type .L_2il0floatpacket.0,@object
  701. .size .L_2il0floatpacket.0,16
  702. .align 16
  703. .L_2il0floatpacket.1:
  704. .byte 0x00,0x00,0x00,0x00,0x85,0x9a,0x20,0x9a,0xf5,0x3f,0x00,0x00,0x00,0x00,0x00,0x00
  705. .type .L_2il0floatpacket.1,@object
  706. .size .L_2il0floatpacket.1,16
  707. .align 16
  708. .L_2il0floatpacket.2:
  709. .byte 0x00,0xc8,0xd4,0x0e,0xee,0x0c,0x01,0x86,0xd0,0xbf,0x00,0x00,0x00,0x00,0x00,0x00
  710. .type .L_2il0floatpacket.2,@object
  711. .size .L_2il0floatpacket.2,16
  712. .align 16
  713. .L_2il0floatpacket.3:
  714. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00
  715. .type .L_2il0floatpacket.3,@object
  716. .size .L_2il0floatpacket.3,16
  717. .align 4
  718. _TWO_23H:
  719. .long 0
  720. .long 1097334784
  721. .type _TWO_23H,@object
  722. .size _TWO_23H,8
  723. .align 4
  724. _TWO_48H:
  725. .long 0
  726. .long 1123549184
  727. .type _TWO_48H,@object
  728. .size _TWO_48H,8
  729. .align 4
  730. _TWO_63H:
  731. .long 0
  732. .long 1139277824
  733. .type _TWO_63H,@object
  734. .size _TWO_63H,8
  735. .align 4
  736. SC2_BIAS:
  737. .long 8191
  738. .long 24575
  739. .type SC2_BIAS,@object
  740. .size SC2_BIAS,8
  741. .align 4
  742. _TWO_12H:
  743. .long 0
  744. .long 1085800448
  745. .type _TWO_12H,@object
  746. .size _TWO_12H,8
  747. .align 4
  748. _inf_zeros:
  749. .long 0
  750. .long 2146435072
  751. .long 0
  752. .long 0
  753. .type _inf_zeros,@object
  754. .size _inf_zeros,16
  755. .align 2
  756. _Q2:
  757. .word 45097
  758. .word 43688
  759. .word 36317
  760. .word 37725
  761. .word 16384
  762. .word 0
  763. .word 0
  764. .word 0
  765. .word 18666
  766. .word 59219
  767. .word 9785
  768. .word 43433
  769. .word 16384
  770. .word 0
  771. .word 0
  772. .word 0
  773. .type _Q2,@object
  774. .size _Q2,32
  775. .align 2
  776. _Q1:
  777. .word 44055
  778. .word 43688
  779. .word 36317
  780. .word 37725
  781. .word 16384
  782. .word 0
  783. .word 0
  784. .word 0
  785. .word 17466
  786. .word 59219
  787. .word 9785
  788. .word 43433
  789. .word 16384
  790. .word 0
  791. .word 0
  792. .word 0
  793. .word 8942
  794. .word 31610
  795. .word 11407
  796. .word 33336
  797. .word 16384
  798. .word 0
  799. .word 0
  800. .word 0
  801. .word 11423
  802. .word 35775
  803. .word 45136
  804. .word 38379
  805. .word 16383
  806. .word 0
  807. .word 0
  808. .word 0
  809. .type _Q1,@object
  810. .size _Q1,64
  811. .align 2
  812. _Q0:
  813. .word 11092
  814. .word 42962
  815. .word 43694
  816. .word 58436
  817. .word 49135
  818. .word 0
  819. .word 0
  820. .word 0
  821. .word 17467
  822. .word 59219
  823. .word 9785
  824. .word 43433
  825. .word 16384
  826. .word 0
  827. .word 0
  828. .word 0
  829. .word 8985
  830. .word 61797
  831. .word 11406
  832. .word 33336
  833. .word 16384
  834. .word 0
  835. .word 0
  836. .word 0
  837. .word 8830
  838. .word 60614
  839. .word 45135
  840. .word 38379
  841. .word 16383
  842. .word 0
  843. .word 0
  844. .word 0
  845. .word 62265
  846. .word 59600
  847. .word 65512
  848. .word 35348
  849. .word 16382
  850. .word 0
  851. .word 0
  852. .word 0
  853. .word 36045
  854. .word 15298
  855. .word 47170
  856. .word 54262
  857. .word 16380
  858. .word 0
  859. .word 0
  860. .word 0
  861. .word 33342
  862. .word 6003
  863. .word 33899
  864. .word 35698
  865. .word 16379
  866. .word 0
  867. .word 0
  868. .word 0
  869. .word 20958
  870. .word 58269
  871. .word 28628
  872. .word 41099
  873. .word 16377
  874. .word 0
  875. .word 0
  876. .word 0
  877. .word 0
  878. .word 0
  879. .word 0
  880. .word 37726
  881. .word 16384
  882. .word 0
  883. .word 0
  884. .word 0
  885. .type _Q0,@object
  886. .size _Q0,144
  887. .align 2
  888. _P:
  889. .word 405
  890. .word 44055
  891. .word 43688
  892. .word 36317
  893. .word 16368
  894. .word 0
  895. .word 0
  896. .word 0
  897. .word 17467
  898. .word 59219
  899. .word 9785
  900. .word 43433
  901. .word 16384
  902. .word 0
  903. .word 0
  904. .word 0
  905. .word 7929
  906. .word 61789
  907. .word 11406
  908. .word 33336
  909. .word 16384
  910. .word 0
  911. .word 0
  912. .word 0
  913. .word 36964
  914. .word 60605
  915. .word 45135
  916. .word 38379
  917. .word 16383
  918. .word 0
  919. .word 0
  920. .word 0
  921. .word 55739
  922. .word 36897
  923. .word 684
  924. .word 35349
  925. .word 16382
  926. .word 0
  927. .word 0
  928. .word 0
  929. .word 13923
  930. .word 51509
  931. .word 48217
  932. .word 54262
  933. .word 16380
  934. .word 0
  935. .word 0
  936. .word 0
  937. .word 0
  938. .word 0
  939. .word 0
  940. .word 37725
  941. .word 16384
  942. .word 0
  943. .word 0
  944. .word 0
  945. .type _P,@object
  946. .size _P,112
  947. .align 2
  948. _ranges:
  949. .word 63385
  950. .word 64463
  951. .word 39556
  952. .word 39456
  953. .word 16395
  954. .word 0
  955. .word 0
  956. .word 0
  957. .word 55376
  958. .word 5815
  959. .word 21149
  960. .word 39608
  961. .word 16395
  962. .word 0
  963. .word 0
  964. .word 0
  965. .type _ranges,@object
  966. .size _ranges,32
  967. .align 2
  968. _exp10but:
  969. .word 6424
  970. .word 10152
  971. .word 51584
  972. .word 39451
  973. .word 49163
  974. .word 0
  975. .word 0
  976. .word 0
  977. .type _exp10but,@object
  978. .size _exp10but,16
  979. .align 2
  980. _SC2:
  981. .word 0
  982. .word 0
  983. .word 0
  984. .word 32768
  985. .word 24575
  986. .word 0
  987. .word 0
  988. .word 0
  989. .word 0
  990. .word 0
  991. .word 0
  992. .word 32768
  993. .word 8191
  994. .word 0
  995. .word 0
  996. .word 0
  997. .type _SC2,@object
  998. .size _SC2,32
  999. .align 2
  1000. _minnorm:
  1001. .word 0
  1002. .word 0
  1003. .word 0
  1004. .word 32768
  1005. .word 1
  1006. .word 0
  1007. .word 0
  1008. .word 0
  1009. .type _minnorm,@object
  1010. .size _minnorm,16
  1011. .align 2
  1012. _small_value_80:
  1013. .word 0
  1014. .word 0
  1015. .word 0
  1016. .word 32768
  1017. .word 6383
  1018. .word 0
  1019. .word 0
  1020. .word 0
  1021. .word 0
  1022. .word 0
  1023. .word 0
  1024. .word 32768
  1025. .word 39151
  1026. .word 0
  1027. .word 0
  1028. .word 0
  1029. .type _small_value_80,@object
  1030. .size _small_value_80,32
  1031. .align 2
  1032. _large_value_80:
  1033. .word 0
  1034. .word 0
  1035. .word 0
  1036. .word 32768
  1037. .word 26383
  1038. .word 0
  1039. .word 0
  1040. .word 0
  1041. .word 0
  1042. .word 0
  1043. .word 0
  1044. .word 32768
  1045. .word 59151
  1046. .word 0
  1047. .word 0
  1048. .word 0
  1049. .type _large_value_80,@object
  1050. .size _large_value_80,32
  1051. .align 2
  1052. _exact_values:
  1053. .word 0
  1054. .word 0
  1055. .word 0
  1056. .word 40960
  1057. .word 16386
  1058. .word 0
  1059. .word 0
  1060. .word 0
  1061. .word 0
  1062. .word 0
  1063. .word 0
  1064. .word 51200
  1065. .word 16389
  1066. .word 0
  1067. .word 0
  1068. .word 0
  1069. .word 0
  1070. .word 0
  1071. .word 0
  1072. .word 64000
  1073. .word 16392
  1074. .word 0
  1075. .word 0
  1076. .word 0
  1077. .word 0
  1078. .word 0
  1079. .word 0
  1080. .word 40000
  1081. .word 16396
  1082. .word 0
  1083. .word 0
  1084. .word 0
  1085. .word 0
  1086. .word 0
  1087. .word 0
  1088. .word 50000
  1089. .word 16399
  1090. .word 0
  1091. .word 0
  1092. .word 0
  1093. .word 0
  1094. .word 0
  1095. .word 0
  1096. .word 62500
  1097. .word 16402
  1098. .word 0
  1099. .word 0
  1100. .word 0
  1101. .word 0
  1102. .word 0
  1103. .word 32768
  1104. .word 39062
  1105. .word 16406
  1106. .word 0
  1107. .word 0
  1108. .word 0
  1109. .word 0
  1110. .word 0
  1111. .word 8192
  1112. .word 48828
  1113. .word 16409
  1114. .word 0
  1115. .word 0
  1116. .word 0
  1117. .word 0
  1118. .word 0
  1119. .word 10240
  1120. .word 61035
  1121. .word 16412
  1122. .word 0
  1123. .word 0
  1124. .word 0
  1125. .word 0
  1126. .word 0
  1127. .word 63744
  1128. .word 38146
  1129. .word 16416
  1130. .word 0
  1131. .word 0
  1132. .word 0
  1133. .word 0
  1134. .word 0
  1135. .word 46912
  1136. .word 47683
  1137. .word 16419
  1138. .word 0
  1139. .word 0
  1140. .word 0
  1141. .word 0
  1142. .word 0
  1143. .word 42256
  1144. .word 59604
  1145. .word 16422
  1146. .word 0
  1147. .word 0
  1148. .word 0
  1149. .word 0
  1150. .word 0
  1151. .word 59178
  1152. .word 37252
  1153. .word 16426
  1154. .word 0
  1155. .word 0
  1156. .word 0
  1157. .word 0
  1158. .word 32768
  1159. .word 8436
  1160. .word 46566
  1161. .word 16429
  1162. .word 0
  1163. .word 0
  1164. .word 0
  1165. .word 0
  1166. .word 40960
  1167. .word 43313
  1168. .word 58207
  1169. .word 16432
  1170. .word 0
  1171. .word 0
  1172. .word 0
  1173. .word 0
  1174. .word 1024
  1175. .word 51647
  1176. .word 36379
  1177. .word 16436
  1178. .word 0
  1179. .word 0
  1180. .word 0
  1181. .word 0
  1182. .word 50432
  1183. .word 48174
  1184. .word 45474
  1185. .word 16439
  1186. .word 0
  1187. .word 0
  1188. .word 0
  1189. .word 0
  1190. .word 30272
  1191. .word 27450
  1192. .word 56843
  1193. .word 16442
  1194. .word 0
  1195. .word 0
  1196. .word 0
  1197. .word 0
  1198. .word 35304
  1199. .word 8964
  1200. .word 35527
  1201. .word 16446
  1202. .word 0
  1203. .word 0
  1204. .word 0
  1205. .word 0
  1206. .word 44130
  1207. .word 60357
  1208. .word 44408
  1209. .word 16449
  1210. .word 0
  1211. .word 0
  1212. .word 0
  1213. .word 32768
  1214. .word 6010
  1215. .word 9911
  1216. .word 55511
  1217. .word 16452
  1218. .word 0
  1219. .word 0
  1220. .word 0
  1221. .word 36864
  1222. .word 28332
  1223. .word 30770
  1224. .word 34694
  1225. .word 16456
  1226. .word 0
  1227. .word 0
  1228. .word 0
  1229. .word 46080
  1230. .word 2647
  1231. .word 5695
  1232. .word 43368
  1233. .word 16459
  1234. .word 0
  1235. .word 0
  1236. .word 0
  1237. .word 41216
  1238. .word 52461
  1239. .word 7118
  1240. .word 54210
  1241. .word 16462
  1242. .word 0
  1243. .word 0
  1244. .word 0
  1245. .word 33952
  1246. .word 16404
  1247. .word 20833
  1248. .word 33881
  1249. .word 16466
  1250. .word 0
  1251. .word 0
  1252. .word 0
  1253. .word 42440
  1254. .word 36889
  1255. .word 42425
  1256. .word 42351
  1257. .word 16469
  1258. .word 0
  1259. .word 0
  1260. .word 0
  1261. .word 3898
  1262. .word 62496
  1263. .word 36647
  1264. .word 52939
  1265. .word 16472
  1266. .word 0
  1267. .word 0
  1268. .word 0
  1269. .type _exact_values,@object
  1270. .size _exact_values,432
  1271. .data
  1272. .section .note.GNU-stack, ""
  1273. // -- Begin DWARF2 SEGMENT .eh_frame
  1274. .section .eh_frame,"a",@progbits
  1275. .eh_frame_seg:
  1276. .align 1
  1277. # End
  1278. .globl pow10l
  1279. .equ pow10l, exp10l