exp10l.S 25 KB

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