asinhl.S 23 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003
  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 "asinhl.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin asinhl
  41. .text
  42. .align 16,0x90
  43. .globl asinhl
  44. asinhl:
  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 %ebx
  53. subl $56, %esp
  54. ..B1.2:
  55. fnstcw 14(%esp)
  56. ..B1.3:
  57. movzwl 16(%ebp), %ebx
  58. andl $32767, %ebx
  59. movzwl 14(%esp), %eax
  60. cmpl $32767, %ebx
  61. je ..B1.73
  62. ..B1.4:
  63. call ..L2
  64. ..L2:
  65. popl %ecx
  66. lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%ecx), %ecx
  67. cmpl $16382, %ebx
  68. jge ..B1.46
  69. ..B1.5:
  70. cmpl $16376, %ebx
  71. jge ..B1.39
  72. ..B1.6:
  73. cmpl $16371, %ebx
  74. jge ..B1.32
  75. ..B1.7:
  76. cmpl $16365, %ebx
  77. jge ..B1.25
  78. ..B1.8:
  79. cmpl $16308, %ebx
  80. jge ..B1.18
  81. ..B1.9:
  82. movl %eax, %edx
  83. andl $768, %edx
  84. cmpl $768, %edx
  85. je ..B1.67
  86. ..B1.10:
  87. orl $-64768, %eax
  88. movw %ax, 12(%esp)
  89. ..B1.11:
  90. fldcw 12(%esp)
  91. ..B1.12:
  92. movzwl 16(%ebp), %ebx
  93. movl $1, %eax
  94. andl $32767, %ebx
  95. ..B1.13:
  96. testl %ebx, %ebx
  97. jle ..B1.63
  98. ..B1.14:
  99. fldt 8(%ebp)
  100. fldl _TWO_75@GOTOFF(%ecx)
  101. fmul %st(1), %st
  102. fsubp %st, %st(1)
  103. fmull 8+_TWO_75@GOTOFF(%ecx)
  104. fstpt (%esp)
  105. ..B1.15:
  106. testl %eax, %eax
  107. je ..B1.17
  108. ..B1.16:
  109. fldcw 14(%esp)
  110. ..B1.17:
  111. fldt (%esp)
  112. addl $56, %esp
  113. popl %ebx
  114. popl %esi
  115. movl %ebp, %esp
  116. popl %ebp
  117. ret
  118. ..B1.18:
  119. movl %eax, %edx
  120. andl $768, %edx
  121. cmpl $768, %edx
  122. je ..B1.68
  123. ..B1.19:
  124. orl $-64768, %eax
  125. movw %ax, 12(%esp)
  126. ..B1.20:
  127. fldcw 12(%esp)
  128. ..B1.21:
  129. movl $1, %eax
  130. ..B1.22:
  131. fldt 8(%ebp)
  132. testl %eax, %eax
  133. fldt _Q3@GOTOFF(%ecx)
  134. fmul %st(1), %st
  135. fmul %st(1), %st
  136. fmul %st(1), %st
  137. faddp %st, %st(1)
  138. fstpt (%esp)
  139. je ..B1.24
  140. ..B1.23:
  141. fldcw 14(%esp)
  142. ..B1.24:
  143. fldt (%esp)
  144. addl $56, %esp
  145. popl %ebx
  146. popl %esi
  147. movl %ebp, %esp
  148. popl %ebp
  149. ret
  150. ..B1.25:
  151. movl %eax, %edx
  152. andl $768, %edx
  153. cmpl $768, %edx
  154. je ..B1.69
  155. ..B1.26:
  156. orl $-64768, %eax
  157. movw %ax, 12(%esp)
  158. ..B1.27:
  159. fldcw 12(%esp)
  160. ..B1.28:
  161. movl $1, %eax
  162. ..B1.29:
  163. fldt 8(%ebp)
  164. testl %eax, %eax
  165. fld %st(0)
  166. fmul %st(1), %st
  167. fldt 12+_Q2@GOTOFF(%ecx)
  168. fmul %st(1), %st
  169. fldt _Q2@GOTOFF(%ecx)
  170. faddp %st, %st(1)
  171. fmulp %st, %st(1)
  172. fmul %st(1), %st
  173. faddp %st, %st(1)
  174. fstpt (%esp)
  175. je ..B1.31
  176. ..B1.30:
  177. fldcw 14(%esp)
  178. ..B1.31:
  179. fldt (%esp)
  180. addl $56, %esp
  181. popl %ebx
  182. popl %esi
  183. movl %ebp, %esp
  184. popl %ebp
  185. ret
  186. ..B1.32:
  187. movl %eax, %edx
  188. andl $768, %edx
  189. cmpl $768, %edx
  190. je ..B1.70
  191. ..B1.33:
  192. orl $-64768, %eax
  193. movw %ax, 12(%esp)
  194. ..B1.34:
  195. fldcw 12(%esp)
  196. ..B1.35:
  197. movl $1, %eax
  198. ..B1.36:
  199. fldt 8(%ebp)
  200. testl %eax, %eax
  201. fld %st(0)
  202. fmul %st(1), %st
  203. fld %st(0)
  204. fmul %st(1), %st
  205. fldt 36+_Q1@GOTOFF(%ecx)
  206. fmul %st(1), %st
  207. fldt 12+_Q1@GOTOFF(%ecx)
  208. faddp %st, %st(1)
  209. fmul %st(1), %st
  210. fldt 24+_Q1@GOTOFF(%ecx)
  211. fmulp %st, %st(2)
  212. fldt _Q1@GOTOFF(%ecx)
  213. faddp %st, %st(2)
  214. fxch %st(2)
  215. fmulp %st, %st(1)
  216. faddp %st, %st(1)
  217. fmul %st(1), %st
  218. faddp %st, %st(1)
  219. fstpt (%esp)
  220. je ..B1.38
  221. ..B1.37:
  222. fldcw 14(%esp)
  223. ..B1.38:
  224. fldt (%esp)
  225. addl $56, %esp
  226. popl %ebx
  227. popl %esi
  228. movl %ebp, %esp
  229. popl %ebp
  230. ret
  231. ..B1.39:
  232. movl %eax, %edx
  233. andl $768, %edx
  234. cmpl $768, %edx
  235. je ..B1.71
  236. ..B1.40:
  237. orl $-64768, %eax
  238. movw %ax, 12(%esp)
  239. ..B1.41:
  240. fldcw 12(%esp)
  241. ..B1.42:
  242. movl $1, %eax
  243. ..B1.43:
  244. fldt 8(%ebp)
  245. testl %eax, %eax
  246. fld %st(0)
  247. fld %st(1)
  248. fldl _TWO_53H@GOTOFF(%ecx)
  249. fmul %st(3), %st
  250. fadd %st, %st(2)
  251. fsubrp %st, %st(2)
  252. fld %st(1)
  253. fxch %st(1)
  254. fsub %st(2), %st
  255. fmul %st, %st(1)
  256. fmul %st, %st(3)
  257. fxch %st(3)
  258. faddp %st, %st(1)
  259. fld %st(0)
  260. fxch %st(2)
  261. fstpt (%esp)
  262. fldt (%esp)
  263. fmul %st(0), %st
  264. fstpt 32(%esp)
  265. fldt 32(%esp)
  266. fadd %st, %st(2)
  267. fld %st(2)
  268. fmul %st(2), %st
  269. fxch %st(4)
  270. fstpt 16(%esp)
  271. fld %st(1)
  272. fmul %st(1), %st
  273. faddp %st, %st(4)
  274. fld %st(3)
  275. fxch %st(1)
  276. fmul %st(0), %st
  277. fadd %st, %st(1)
  278. fldt 228+_Q@GOTOFF(%ecx)
  279. fmul %st(2), %st
  280. fldt 204+_Q@GOTOFF(%ecx)
  281. faddp %st, %st(1)
  282. fmul %st(2), %st
  283. fldt 180+_Q@GOTOFF(%ecx)
  284. faddp %st, %st(1)
  285. fmul %st(2), %st
  286. fldt 156+_Q@GOTOFF(%ecx)
  287. faddp %st, %st(1)
  288. fmul %st(2), %st
  289. fldt 132+_Q@GOTOFF(%ecx)
  290. faddp %st, %st(1)
  291. fmul %st(2), %st
  292. fldt 108+_Q@GOTOFF(%ecx)
  293. faddp %st, %st(1)
  294. fmul %st(2), %st
  295. fldt 84+_Q@GOTOFF(%ecx)
  296. faddp %st, %st(1)
  297. fmul %st(2), %st
  298. fldt 60+_Q@GOTOFF(%ecx)
  299. faddp %st, %st(1)
  300. fmul %st(2), %st
  301. fldt 36+_Q@GOTOFF(%ecx)
  302. faddp %st, %st(1)
  303. fmul %st(2), %st
  304. fldt 12+_Q@GOTOFF(%ecx)
  305. faddp %st, %st(1)
  306. fmul %st(2), %st
  307. fldt 216+_Q@GOTOFF(%ecx)
  308. fmul %st(3), %st
  309. fldt 192+_Q@GOTOFF(%ecx)
  310. faddp %st, %st(1)
  311. fmul %st(3), %st
  312. fldt 168+_Q@GOTOFF(%ecx)
  313. faddp %st, %st(1)
  314. fmul %st(3), %st
  315. fldt 144+_Q@GOTOFF(%ecx)
  316. faddp %st, %st(1)
  317. fmul %st(3), %st
  318. fldt 120+_Q@GOTOFF(%ecx)
  319. faddp %st, %st(1)
  320. fmul %st(3), %st
  321. fldt 96+_Q@GOTOFF(%ecx)
  322. faddp %st, %st(1)
  323. fmul %st(3), %st
  324. fldt 72+_Q@GOTOFF(%ecx)
  325. faddp %st, %st(1)
  326. fmul %st(3), %st
  327. fldt 48+_Q@GOTOFF(%ecx)
  328. faddp %st, %st(1)
  329. fmul %st(3), %st
  330. fldt 24+_Q@GOTOFF(%ecx)
  331. faddp %st, %st(1)
  332. fmulp %st, %st(3)
  333. fldt _Q@GOTOFF(%ecx)
  334. faddp %st, %st(3)
  335. fxch %st(4)
  336. fmulp %st, %st(2)
  337. fxch %st(1)
  338. faddp %st, %st(3)
  339. fldt 252+_Q@GOTOFF(%ecx)
  340. fmul %st, %st(4)
  341. fxch %st(4)
  342. faddp %st, %st(3)
  343. fmulp %st, %st(3)
  344. fldt 240+_Q@GOTOFF(%ecx)
  345. fmul %st, %st(1)
  346. fxch %st(1)
  347. faddp %st, %st(2)
  348. fldt 32(%esp)
  349. fmulp %st, %st(1)
  350. faddp %st, %st(2)
  351. fldt 16(%esp)
  352. fld %st(0)
  353. fldl _TWO_48H@GOTOFF(%ecx)
  354. fld %st(0)
  355. fadd %st(5), %st
  356. fsubp %st, %st(1)
  357. fmul %st, %st(1)
  358. fsubr %st, %st(4)
  359. fxch %st(4)
  360. faddp %st, %st(3)
  361. fldt 8(%ebp)
  362. fmulp %st, %st(3)
  363. faddp %st, %st(2)
  364. faddp %st, %st(1)
  365. fldt (%esp)
  366. fmul %st, %st(2)
  367. faddp %st, %st(2)
  368. faddp %st, %st(1)
  369. fstpt (%esp)
  370. je ..B1.45
  371. ..B1.44:
  372. fldcw 14(%esp)
  373. ..B1.45:
  374. fldt (%esp)
  375. addl $56, %esp
  376. popl %ebx
  377. popl %esi
  378. movl %ebp, %esp
  379. popl %ebp
  380. ret
  381. ..B1.46:
  382. movl %eax, %edx
  383. andl $768, %edx
  384. cmpl $768, %edx
  385. je ..B1.72
  386. ..B1.47:
  387. orl $-64768, %eax
  388. movw %ax, 12(%esp)
  389. ..B1.48:
  390. fldcw 12(%esp)
  391. ..B1.49:
  392. movl $1, %edx
  393. ..B1.50:
  394. fldt 8(%ebp)
  395. movzbl 17(%ebp), %eax
  396. andl $128, %eax
  397. shrl $7, %eax
  398. fldl ones@GOTOFF(%ecx,%eax,8)
  399. fmul %st, %st(1)
  400. fxch %st(1)
  401. fstpt 8(%ebp)
  402. fldt 8(%ebp)
  403. movzwl 16(%ebp), %ebx
  404. movl %ebx, %eax
  405. andl $32767, %eax
  406. cmpl $16421, %eax
  407. jge ..B1.59
  408. ..B1.51:
  409. cmpl $16388, %eax
  410. jge ..B1.53
  411. ..B1.52:
  412. fldl _TWO_52H@GOTOFF(%ecx)
  413. fld %st(0)
  414. fld %st(2)
  415. fadd %st(2), %st
  416. fsub %st(2), %st
  417. fld %st(0)
  418. fld %st(4)
  419. fsub %st(2), %st
  420. fmul %st, %st(1)
  421. fmul %st, %st(5)
  422. fxch %st(5)
  423. faddp %st, %st(1)
  424. fld %st(1)
  425. fmul %st(2), %st
  426. fldt .L_2il0floatpacket.0@GOTOFF(%ecx)
  427. faddp %st, %st(1)
  428. fld %st(0)
  429. fadd %st(2), %st
  430. fsqrt
  431. fadd %st, %st(4)
  432. fxch %st(5)
  433. fsubrp %st, %st(4)
  434. fld %st(3)
  435. fmul %st(4), %st
  436. fsubrp %st, %st(1)
  437. fld %st(3)
  438. fxch %st(4)
  439. fsubr %st, %st(5)
  440. fxch %st(4)
  441. fmul %st(5), %st
  442. fsubrp %st, %st(1)
  443. faddp %st, %st(1)
  444. fld %st(2)
  445. fadd %st(4), %st
  446. fdivrp %st, %st(1)
  447. faddp %st, %st(3)
  448. faddp %st, %st(1)
  449. fstpt 16(%esp)
  450. fldt .L_2il0floatpacket.1@GOTOFF(%ecx)
  451. fmulp %st, %st(1)
  452. faddp %st, %st(1)
  453. fldt .L_2il0floatpacket.0@GOTOFF(%ecx)
  454. fxch %st(1)
  455. jmp ..B1.58
  456. ..B1.53:
  457. fldt .L_2il0floatpacket.2@GOTOFF(%ecx)
  458. cmpl $16394, %eax
  459. fmul %st(1), %st
  460. fld %st(0)
  461. fldl _TWO_32H@GOTOFF(%ecx)
  462. fmul %st(2), %st
  463. fadd %st, %st(1)
  464. fsubrp %st, %st(1)
  465. fstpt 16(%esp)
  466. fldt 16(%esp)
  467. fsubr %st(1), %st
  468. fldt .L_2il0floatpacket.0@GOTOFF(%ecx)
  469. jge ..B1.55
  470. ..B1.54:
  471. fstp %st(2)
  472. fld %st(2)
  473. fmul %st(3), %st
  474. fadd %st(2), %st
  475. fsqrt
  476. faddp %st, %st(3)
  477. fxch %st(1)
  478. fdiv %st, %st(2)
  479. fxch %st(2)
  480. faddp %st, %st(1)
  481. jmp ..B1.58
  482. ..B1.55:
  483. fstp %st(3)
  484. cmpl $16401, %eax
  485. jge ..B1.57
  486. ..B1.56:
  487. fld %st(2)
  488. fdiv %st(2), %st
  489. faddp %st, %st(2)
  490. fxch %st(1)
  491. fdivr %st(2), %st
  492. faddp %st, %st(1)
  493. jmp ..B1.58
  494. ..B1.57:
  495. fxch %st(1)
  496. fdivr %st(2), %st
  497. faddp %st, %st(1)
  498. ..B1.58:
  499. fldt 16(%esp)
  500. fld %st(0)
  501. fadd %st(2), %st
  502. fstpt 8(%ebp)
  503. movzwl 16(%ebp), %eax
  504. andl $32767, %eax
  505. movl %eax, %ebx
  506. addl $-16383, %eax
  507. negl %ebx
  508. fxch %st(2)
  509. fstpt (%esp)
  510. addl $-2, %ebx
  511. movzwl 8(%esp), %esi
  512. andl $32767, %ebx
  513. andl $-32768, %esi
  514. orl %ebx, %esi
  515. movw %si, 8(%esp)
  516. fldt (%esp)
  517. fmul %st, %st(2)
  518. fxch %st(2)
  519. fstpt 16(%esp)
  520. fmulp %st, %st(1)
  521. jmp ..B1.60
  522. ..B1.59:
  523. fstp %st(0)
  524. fldl _TWO_52H@GOTOFF(%ecx)
  525. andl $-32768, %ebx
  526. orl $-49153, %ebx
  527. addl $-16382, %eax
  528. movw %bx, 16(%ebp)
  529. fldt 8(%ebp)
  530. fld %st(0)
  531. fadd %st(2), %st
  532. fsubp %st, %st(2)
  533. fxch %st(1)
  534. fstpt 16(%esp)
  535. fldt 16(%esp)
  536. fsubrp %st, %st(1)
  537. ..B1.60:
  538. fldt 16(%esp)
  539. fldt .L_2il0floatpacket.3@GOTOFF(%ecx)
  540. fldt 60+_P@GOTOFF(%ecx)
  541. movl 12(%ebp), %ebx
  542. shrl $23, %ebx
  543. movzbl %bl, %ebx
  544. movl %eax, (%esp)
  545. flds __libm_rcp_table_256@GOTOFF(%ecx,%ebx,4)
  546. fmul %st, %st(3)
  547. shll $4, %ebx
  548. fxch %st(2)
  549. faddp %st, %st(3)
  550. fld %st(2)
  551. testl %edx, %edx
  552. fxch %st(4)
  553. fmulp %st, %st(2)
  554. fxch %st(1)
  555. fadd %st, %st(3)
  556. fld %st(3)
  557. fmul %st(4), %st
  558. fmul %st, %st(2)
  559. fxch %st(4)
  560. fstpt 8(%ebp)
  561. fldt 8(%ebp)
  562. fildl (%esp)
  563. fldt 36+_P@GOTOFF(%ecx)
  564. faddp %st, %st(4)
  565. fxch %st(3)
  566. fmul %st(5), %st
  567. fldt 12+_P@GOTOFF(%ecx)
  568. faddp %st, %st(1)
  569. fmul %st(5), %st
  570. fmulp %st, %st(1)
  571. fldt 48+_P@GOTOFF(%ecx)
  572. fmul %st(5), %st
  573. fldt 24+_P@GOTOFF(%ecx)
  574. faddp %st, %st(1)
  575. fmul %st(5), %st
  576. fldt _P@GOTOFF(%ecx)
  577. faddp %st, %st(1)
  578. fmulp %st, %st(5)
  579. faddp %st, %st(4)
  580. faddp %st, %st(3)
  581. fldt .L_2il0floatpacket.4@GOTOFF(%ecx)
  582. fmul %st(1), %st
  583. fldt .L_2il0floatpacket.5@GOTOFF(%ecx)
  584. fmulp %st, %st(2)
  585. faddl 8+__libm_logl_table_256@GOTOFF(%ecx,%ebx)
  586. faddp %st, %st(3)
  587. faddl __libm_logl_table_256@GOTOFF(%ebx,%ecx)
  588. faddp %st, %st(1)
  589. faddp %st, %st(1)
  590. fmulp %st, %st(1)
  591. fstpt 16(%esp)
  592. je ..B1.62
  593. ..B1.61:
  594. fldcw 14(%esp)
  595. ..B1.62:
  596. fldt 16(%esp)
  597. addl $56, %esp
  598. popl %ebx
  599. popl %esi
  600. movl %ebp, %esp
  601. popl %ebp
  602. ret
  603. ..B1.63:
  604. cmpl $0, 12(%ebp)
  605. jne ..B1.65
  606. ..B1.64:
  607. cmpl $0, 8(%ebp)
  608. je ..B1.66
  609. ..B1.65:
  610. fldt 8(%ebp)
  611. fldt _small_value_80@GOTOFF(%ecx)
  612. movzbl 17(%ebp), %ebx
  613. andl $128, %ebx
  614. shrl $7, %ebx
  615. lea (,%ebx,8), %edx
  616. lea (%edx,%ebx,4), %esi
  617. fldt _small_value_80@GOTOFF(%ecx,%esi)
  618. fmulp %st, %st(1)
  619. fsubrp %st, %st(1)
  620. fstpt (%esp)
  621. jmp ..B1.15
  622. ..B1.66:
  623. fldt 8(%ebp)
  624. fstpt (%esp)
  625. jmp ..B1.15
  626. ..B1.67:
  627. xorl %eax, %eax
  628. jmp ..B1.13
  629. ..B1.68:
  630. xorl %eax, %eax
  631. jmp ..B1.22
  632. ..B1.69:
  633. xorl %eax, %eax
  634. jmp ..B1.29
  635. ..B1.70:
  636. xorl %eax, %eax
  637. jmp ..B1.36
  638. ..B1.71:
  639. xorl %eax, %eax
  640. jmp ..B1.43
  641. ..B1.72:
  642. xorl %edx, %edx
  643. jmp ..B1.50
  644. ..B1.73:
  645. movl %eax, %edx
  646. andl $768, %edx
  647. cmpl $768, %edx
  648. je ..B1.79
  649. ..B1.74:
  650. orl $-64768, %eax
  651. movw %ax, 12(%esp)
  652. ..B1.75:
  653. fldcw 12(%esp)
  654. ..B1.76:
  655. fldt 8(%ebp)
  656. fstpt (%esp)
  657. ..B1.77:
  658. fldcw 14(%esp)
  659. ..B1.78:
  660. fldt (%esp)
  661. addl $56, %esp
  662. popl %ebx
  663. popl %esi
  664. movl %ebp, %esp
  665. popl %ebp
  666. ret
  667. ..B1.79:
  668. fldt 8(%ebp)
  669. fstpt (%esp)
  670. jmp ..B1.78
  671. .align 16,0x90
  672. .type asinhl,@function
  673. .size asinhl,.-asinhl
  674. .data
  675. # -- End asinhl
  676. .section .rodata, "a"
  677. .align 16
  678. .align 16
  679. .L_2il0floatpacket.0:
  680. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x3f,0x00,0x00
  681. .type .L_2il0floatpacket.0,@object
  682. .size .L_2il0floatpacket.0,12
  683. .space 4, 0x00 # pad
  684. .align 16
  685. .L_2il0floatpacket.1:
  686. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xfe,0x3f,0x00,0x00
  687. .type .L_2il0floatpacket.1,@object
  688. .size .L_2il0floatpacket.1,12
  689. .space 4, 0x00 # pad
  690. .align 16
  691. .L_2il0floatpacket.2:
  692. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00
  693. .type .L_2il0floatpacket.2,@object
  694. .size .L_2il0floatpacket.2,12
  695. .space 4, 0x00 # pad
  696. .align 16
  697. .L_2il0floatpacket.3:
  698. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xbf,0x00,0x00
  699. .type .L_2il0floatpacket.3,@object
  700. .size .L_2il0floatpacket.3,12
  701. .space 4, 0x00 # pad
  702. .align 16
  703. .L_2il0floatpacket.4:
  704. .byte 0x00,0x30,0x71,0xd8,0x50,0x19,0xc2,0xb8,0xdc,0xbf,0x00,0x00
  705. .type .L_2il0floatpacket.4,@object
  706. .size .L_2il0floatpacket.4,12
  707. .space 4, 0x00 # pad
  708. .align 16
  709. .L_2il0floatpacket.5:
  710. .byte 0x00,0x00,0x00,0x00,0xf8,0x17,0x72,0xb1,0xfe,0x3f,0x00,0x00
  711. .type .L_2il0floatpacket.5,@object
  712. .size .L_2il0floatpacket.5,12
  713. .space 4, 0x00 # pad
  714. .align 8
  715. ones:
  716. .long 0x00000000,0x3ff00000
  717. .long 0x00000000,0xbff00000
  718. .type ones,@object
  719. .size ones,16
  720. .align 4
  721. _TWO_75:
  722. .long 0
  723. .long 1151336448
  724. .long 0
  725. .long 994050048
  726. .type _TWO_75,@object
  727. .size _TWO_75,16
  728. .align 4
  729. _TWO_53H:
  730. .long 0
  731. .long 1128792064
  732. .type _TWO_53H,@object
  733. .size _TWO_53H,8
  734. .align 4
  735. _TWO_48H:
  736. .long 0
  737. .long 1123549184
  738. .type _TWO_48H,@object
  739. .size _TWO_48H,8
  740. .align 4
  741. _TWO_52H:
  742. .long 0
  743. .long 1127743488
  744. .type _TWO_52H,@object
  745. .size _TWO_52H,8
  746. .align 4
  747. _TWO_32H:
  748. .long 0
  749. .long 1106771968
  750. .type _TWO_32H,@object
  751. .size _TWO_32H,8
  752. .align 2
  753. _Q3:
  754. .word 6991
  755. .word 42216
  756. .word 43690
  757. .word 43690
  758. .word 49148
  759. .word 0
  760. .type _Q3,@object
  761. .size _Q3,12
  762. .align 2
  763. _Q2:
  764. .word 33268
  765. .word 43690
  766. .word 43690
  767. .word 43690
  768. .word 49148
  769. .word 0
  770. .word 9764
  771. .word 39322
  772. .word 39161
  773. .word 39321
  774. .word 16379
  775. .word 0
  776. .type _Q2,@object
  777. .size _Q2,24
  778. .align 2
  779. _Q1:
  780. .word 43682
  781. .word 43690
  782. .word 43690
  783. .word 43690
  784. .word 49148
  785. .word 0
  786. .word 14144
  787. .word 39303
  788. .word 39321
  789. .word 39321
  790. .word 16379
  791. .word 0
  792. .word 10686
  793. .word 40209
  794. .word 28068
  795. .word 46811
  796. .word 49146
  797. .word 0
  798. .word 6376
  799. .word 25459
  800. .word 13370
  801. .word 63707
  802. .word 16377
  803. .word 0
  804. .type _Q1,@object
  805. .size _Q1,48
  806. .align 2
  807. _Q:
  808. .word 42228
  809. .word 43690
  810. .word 43690
  811. .word 43690
  812. .word 49136
  813. .word 0
  814. .word 4505
  815. .word 52442
  816. .word 52428
  817. .word 52428
  818. .word 49134
  819. .word 0
  820. .word 31967
  821. .word 56173
  822. .word 28086
  823. .word 46811
  824. .word 49146
  825. .word 0
  826. .word 26124
  827. .word 58234
  828. .word 36408
  829. .word 63715
  830. .word 16377
  831. .word 0
  832. .word 22137
  833. .word 23222
  834. .word 53620
  835. .word 46917
  836. .word 49145
  837. .word 0
  838. .word 45395
  839. .word 61656
  840. .word 25205
  841. .word 36391
  842. .word 16377
  843. .word 0
  844. .word 28077
  845. .word 15147
  846. .word 52421
  847. .word 58572
  848. .word 49144
  849. .word 0
  850. .word 19650
  851. .word 2873
  852. .word 50009
  853. .word 48451
  854. .word 16376
  855. .word 0
  856. .word 47538
  857. .word 64725
  858. .word 9133
  859. .word 40943
  860. .word 49144
  861. .word 0
  862. .word 42460
  863. .word 64288
  864. .word 29314
  865. .word 35191
  866. .word 16376
  867. .word 0
  868. .word 54924
  869. .word 18085
  870. .word 19628
  871. .word 61339
  872. .word 49143
  873. .word 0
  874. .word 8359
  875. .word 63244
  876. .word 48955
  877. .word 54066
  878. .word 16375
  879. .word 0
  880. .word 13301
  881. .word 22367
  882. .word 28967
  883. .word 48066
  884. .word 49143
  885. .word 0
  886. .word 47487
  887. .word 41074
  888. .word 54143
  889. .word 42870
  890. .word 16375
  891. .word 0
  892. .word 18176
  893. .word 28317
  894. .word 25378
  895. .word 37849
  896. .word 49143
  897. .word 0
  898. .word 2947
  899. .word 59345
  900. .word 39582
  901. .word 64148
  902. .word 16374
  903. .word 0
  904. .word 7071
  905. .word 46945
  906. .word 60101
  907. .word 49232
  908. .word 49142
  909. .word 0
  910. .word 33184
  911. .word 23492
  912. .word 18153
  913. .word 62298
  914. .word 16373
  915. .word 0
  916. .word 44779
  917. .word 60944
  918. .word 30881
  919. .word 55868
  920. .word 49140
  921. .word 0
  922. .word 22870
  923. .word 51718
  924. .word 28591
  925. .word 51709
  926. .word 16370
  927. .word 0
  928. .word 0
  929. .word 0
  930. .word 0
  931. .word 43680
  932. .word 49148
  933. .word 0
  934. .word 0
  935. .word 0
  936. .word 0
  937. .word 39328
  938. .word 16379
  939. .word 0
  940. .type _Q,@object
  941. .size _Q,264
  942. .align 2
  943. _P:
  944. .word 65
  945. .word 0
  946. .word 0
  947. .word 32768
  948. .word 49150
  949. .word 0
  950. .word 44010
  951. .word 43690
  952. .word 43690
  953. .word 43690
  954. .word 16381
  955. .word 0
  956. .word 58670
  957. .word 61414
  958. .word 65535
  959. .word 65535
  960. .word 49148
  961. .word 0
  962. .word 24905
  963. .word 46201
  964. .word 52428
  965. .word 52428
  966. .word 16380
  967. .word 0
  968. .word 57053
  969. .word 27587
  970. .word 64478
  971. .word 43690
  972. .word 49148
  973. .word 0
  974. .word 41508
  975. .word 48914
  976. .word 32459
  977. .word 37449
  978. .word 16380
  979. .word 0
  980. .type _P,@object
  981. .size _P,72
  982. .align 2
  983. _small_value_80:
  984. .word 0
  985. .word 0
  986. .word 0
  987. .word 32768
  988. .word 6383
  989. .word 0
  990. .word 0
  991. .word 0
  992. .word 0
  993. .word 32768
  994. .word 39151
  995. .word 0
  996. .type _small_value_80,@object
  997. .size _small_value_80,24
  998. .data
  999. .hidden __libm_rcp_table_256
  1000. .hidden __libm_logl_table_256
  1001. .section .note.GNU-stack, ""
  1002. # End