tanhl.S 23 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042
  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 "tanhl.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin tanhl
  41. .text
  42. .align 16,0x90
  43. .globl tanhl
  44. tanhl:
  45. # parameter 1: 64 + %rsp
  46. ..B1.1:
  47. .cfi_startproc
  48. ..___tag_value_tanhl.1:
  49. ..L2:
  50. subq $56, %rsp
  51. .cfi_def_cfa_offset 64
  52. xorb %dil, %dil
  53. ..B1.2:
  54. fnstcw 50(%rsp)
  55. ..B1.3:
  56. movb 73(%rsp), %al
  57. andb $-128, %al
  58. shrb $7, %al
  59. movzwl 72(%rsp), %ecx
  60. andl $32767, %ecx
  61. movzbl %al, %esi
  62. cmpl $16388, %ecx
  63. movzwl 50(%rsp), %eax
  64. jge ..B1.57
  65. ..B1.4:
  66. cmpl $16382, %ecx
  67. jge ..B1.46
  68. ..B1.5:
  69. cmpl $16376, %ecx
  70. jge ..B1.39
  71. ..B1.6:
  72. cmpl $16371, %ecx
  73. jge ..B1.32
  74. ..B1.7:
  75. cmpl $16365, %ecx
  76. jge ..B1.25
  77. ..B1.8:
  78. cmpl $16308, %ecx
  79. jge ..B1.18
  80. ..B1.9:
  81. movl %eax, %edx
  82. andl $768, %edx
  83. cmpl $768, %edx
  84. je ..B1.13
  85. ..B1.10:
  86. orl $-64768, %eax
  87. movw %ax, 48(%rsp)
  88. ..B1.11:
  89. fldcw 48(%rsp)
  90. ..B1.12:
  91. movzwl 72(%rsp), %ecx
  92. movb $1, %dil
  93. andl $32767, %ecx
  94. ..B1.13:
  95. testl %ecx, %ecx
  96. jle ..B1.66
  97. ..B1.14:
  98. fldt 64(%rsp)
  99. lea _TWO_75(%rip), %rax
  100. lea 8+_TWO_75(%rip), %rdx
  101. fldl (%rax)
  102. fmul %st(1), %st
  103. fsubp %st, %st(1)
  104. fmull (%rdx)
  105. fstpt (%rsp)
  106. ..B1.15:
  107. testb %dil, %dil
  108. je ..B1.17
  109. ..B1.16:
  110. fldcw 50(%rsp)
  111. ..B1.17:
  112. fldt (%rsp)
  113. addq $56, %rsp
  114. .cfi_def_cfa_offset 8
  115. ret
  116. .cfi_def_cfa_offset 64
  117. ..B1.18:
  118. movl %eax, %edx
  119. andl $768, %edx
  120. cmpl $768, %edx
  121. je ..B1.22
  122. ..B1.19:
  123. orl $-64768, %eax
  124. movw %ax, 48(%rsp)
  125. ..B1.20:
  126. fldcw 48(%rsp)
  127. ..B1.21:
  128. movb $1, %dil
  129. ..B1.22:
  130. fldt 64(%rsp)
  131. lea _Q3(%rip), %rax
  132. testb %dil, %dil
  133. fldt (%rax)
  134. fmul %st(1), %st
  135. fmul %st(1), %st
  136. fmul %st(1), %st
  137. faddp %st, %st(1)
  138. fstpt (%rsp)
  139. je ..B1.24
  140. ..B1.23:
  141. fldcw 50(%rsp)
  142. ..B1.24:
  143. fldt (%rsp)
  144. addq $56, %rsp
  145. .cfi_def_cfa_offset 8
  146. ret
  147. .cfi_def_cfa_offset 64
  148. ..B1.25:
  149. movl %eax, %edx
  150. andl $768, %edx
  151. cmpl $768, %edx
  152. je ..B1.29
  153. ..B1.26:
  154. orl $-64768, %eax
  155. movw %ax, 48(%rsp)
  156. ..B1.27:
  157. fldcw 48(%rsp)
  158. ..B1.28:
  159. movb $1, %dil
  160. ..B1.29:
  161. fldt 64(%rsp)
  162. lea 16+_Q2(%rip), %rax
  163. fld %st(0)
  164. lea _Q2(%rip), %rdx
  165. fmul %st(1), %st
  166. testb %dil, %dil
  167. fldt (%rax)
  168. fmul %st(1), %st
  169. fldt (%rdx)
  170. faddp %st, %st(1)
  171. fmulp %st, %st(1)
  172. fmul %st(1), %st
  173. faddp %st, %st(1)
  174. fstpt (%rsp)
  175. je ..B1.31
  176. ..B1.30:
  177. fldcw 50(%rsp)
  178. ..B1.31:
  179. fldt (%rsp)
  180. addq $56, %rsp
  181. .cfi_def_cfa_offset 8
  182. ret
  183. .cfi_def_cfa_offset 64
  184. ..B1.32:
  185. movl %eax, %edx
  186. andl $768, %edx
  187. cmpl $768, %edx
  188. je ..B1.36
  189. ..B1.33:
  190. orl $-64768, %eax
  191. movw %ax, 48(%rsp)
  192. ..B1.34:
  193. fldcw 48(%rsp)
  194. ..B1.35:
  195. movb $1, %dil
  196. ..B1.36:
  197. fldt 64(%rsp)
  198. lea 48+_Q1(%rip), %rax
  199. fld %st(0)
  200. lea 32+_Q1(%rip), %rcx
  201. fmul %st(1), %st
  202. lea 16+_Q1(%rip), %rdx
  203. fld %st(0)
  204. lea _Q1(%rip), %rsi
  205. fmul %st(1), %st
  206. testb %dil, %dil
  207. fldt (%rax)
  208. fmul %st(1), %st
  209. fldt (%rdx)
  210. faddp %st, %st(1)
  211. fmul %st(1), %st
  212. fldt (%rcx)
  213. fmulp %st, %st(2)
  214. fldt (%rsi)
  215. faddp %st, %st(2)
  216. fxch %st(2)
  217. fmulp %st, %st(1)
  218. faddp %st, %st(1)
  219. fmul %st(1), %st
  220. faddp %st, %st(1)
  221. fstpt (%rsp)
  222. je ..B1.38
  223. ..B1.37:
  224. fldcw 50(%rsp)
  225. ..B1.38:
  226. fldt (%rsp)
  227. addq $56, %rsp
  228. .cfi_def_cfa_offset 8
  229. ret
  230. .cfi_def_cfa_offset 64
  231. ..B1.39:
  232. movl %eax, %edx
  233. andl $768, %edx
  234. cmpl $768, %edx
  235. je ..B1.43
  236. ..B1.40:
  237. orl $-64768, %eax
  238. movw %ax, 48(%rsp)
  239. ..B1.41:
  240. fldcw 48(%rsp)
  241. ..B1.42:
  242. movb $1, %dil
  243. ..B1.43:
  244. fldt 64(%rsp)
  245. lea _TWO_52H(%rip), %rax
  246. fld %st(0)
  247. fld %st(1)
  248. fld %st(2)
  249. lea 240+_Q(%rip), %rdx
  250. fmul %st(3), %st
  251. lea 208+_Q(%rip), %rcx
  252. fld %st(0)
  253. lea 176+_Q(%rip), %rsi
  254. fmul %st(1), %st
  255. lea 144+_Q(%rip), %r8
  256. fldl (%rax)
  257. lea 112+_Q(%rip), %r9
  258. fmul %st(5), %st
  259. lea 80+_Q(%rip), %r10
  260. lea 48+_Q(%rip), %r11
  261. lea 16+_Q(%rip), %rax
  262. testb %dil, %dil
  263. fadd %st, %st(4)
  264. fsubrp %st, %st(4)
  265. fld %st(3)
  266. fxch %st(3)
  267. fsub %st(4), %st
  268. fmul %st, %st(3)
  269. fmul %st, %st(5)
  270. fxch %st(5)
  271. faddp %st, %st(3)
  272. fld %st(2)
  273. fmul %st(2), %st
  274. fxch %st(4)
  275. fstpt (%rsp)
  276. fldt (%rsp)
  277. fmul %st(0), %st
  278. fstpt 32(%rsp)
  279. fldt 32(%rsp)
  280. fxch %st(5)
  281. fstpt 16(%rsp)
  282. fld %st(2)
  283. fmul %st(5), %st
  284. faddp %st, %st(4)
  285. fxch %st(4)
  286. fmul %st(0), %st
  287. fldt (%rdx)
  288. lea 224+_Q(%rip), %rdx
  289. fmul %st(5), %st
  290. fldt (%rcx)
  291. lea 192+_Q(%rip), %rcx
  292. faddp %st, %st(1)
  293. fmul %st(5), %st
  294. fldt (%rsi)
  295. lea 160+_Q(%rip), %rsi
  296. faddp %st, %st(1)
  297. fmul %st(5), %st
  298. fldt (%r8)
  299. lea 128+_Q(%rip), %r8
  300. faddp %st, %st(1)
  301. fmul %st(5), %st
  302. fldt (%r9)
  303. lea 96+_Q(%rip), %r9
  304. faddp %st, %st(1)
  305. fmul %st(5), %st
  306. fldt (%r10)
  307. lea 64+_Q(%rip), %r10
  308. faddp %st, %st(1)
  309. fmul %st(5), %st
  310. fldt (%r11)
  311. lea 32+_Q(%rip), %r11
  312. faddp %st, %st(1)
  313. fmul %st(5), %st
  314. fldt (%rax)
  315. lea _Q(%rip), %rax
  316. faddp %st, %st(1)
  317. fmul %st(5), %st
  318. fldt (%rdx)
  319. lea 272+_Q(%rip), %rdx
  320. fmul %st(6), %st
  321. fldt (%rcx)
  322. lea 256+_Q(%rip), %rcx
  323. faddp %st, %st(1)
  324. fmul %st(6), %st
  325. fldt (%rsi)
  326. lea _TWO_48H(%rip), %rsi
  327. faddp %st, %st(1)
  328. fmul %st(6), %st
  329. fldt (%r8)
  330. faddp %st, %st(1)
  331. fmul %st(6), %st
  332. fldt (%r9)
  333. faddp %st, %st(1)
  334. fmul %st(6), %st
  335. fldt (%r10)
  336. faddp %st, %st(1)
  337. fmul %st(6), %st
  338. fldt (%r11)
  339. faddp %st, %st(1)
  340. fmulp %st, %st(6)
  341. fldt (%rax)
  342. faddp %st, %st(6)
  343. fxch %st(2)
  344. fmulp %st, %st(5)
  345. fxch %st(4)
  346. faddp %st, %st(1)
  347. fldt (%rdx)
  348. fmul %st, %st(3)
  349. fxch %st(3)
  350. faddp %st, %st(1)
  351. fxch %st(3)
  352. fmulp %st, %st(2)
  353. fldt (%rcx)
  354. fmul %st, %st(1)
  355. fxch %st(1)
  356. faddp %st, %st(3)
  357. fldt 32(%rsp)
  358. fmulp %st, %st(1)
  359. faddp %st, %st(1)
  360. fldt 16(%rsp)
  361. fld %st(0)
  362. fldl (%rsi)
  363. fld %st(0)
  364. fadd %st(4), %st
  365. fsub %st, %st(1)
  366. fxch %st(1)
  367. fmul %st, %st(2)
  368. fsubr %st, %st(4)
  369. fxch %st(5)
  370. faddp %st, %st(4)
  371. fldt 64(%rsp)
  372. fmulp %st, %st(4)
  373. fxch %st(3)
  374. faddp %st, %st(1)
  375. faddp %st, %st(1)
  376. fldt (%rsp)
  377. fmul %st, %st(3)
  378. faddp %st, %st(3)
  379. faddp %st, %st(2)
  380. fxch %st(1)
  381. fstpt (%rsp)
  382. je ..B1.80
  383. ..B1.44:
  384. fstpt 16(%rsp)
  385. ..B1.79:
  386. fldcw 50(%rsp)
  387. jmp ..B1.45
  388. ..B1.80:
  389. fstp %st(0)
  390. ..B1.45:
  391. fldt (%rsp)
  392. addq $56, %rsp
  393. .cfi_def_cfa_offset 8
  394. ret
  395. .cfi_def_cfa_offset 64
  396. ..B1.46:
  397. movl %eax, %edx
  398. andl $768, %edx
  399. cmpl $768, %edx
  400. je ..B1.50
  401. ..B1.47:
  402. orl $-64768, %eax
  403. movw %ax, 48(%rsp)
  404. ..B1.48:
  405. fldcw 48(%rsp)
  406. ..B1.49:
  407. movzwl 72(%rsp), %ecx
  408. movb $1, %dil
  409. andl $32767, %ecx
  410. ..B1.50:
  411. fldt 64(%rsp)
  412. lea twos(%rip), %r8
  413. fldt .L_2il0floatpacket.0(%rip)
  414. lea _TWO_63H(%rip), %r9
  415. fstpt 32(%rsp)
  416. lea _TWO_32(%rip), %r10
  417. fldt .L_2il0floatpacket.1(%rip)
  418. lea _TWO_32P(%rip), %r11
  419. fxch %st(1)
  420. fmull (%r8,%rsi,8)
  421. lea 64+_P(%rip), %r8
  422. fmul %st, %st(1)
  423. fldl (%r9)
  424. lea 32+_P(%rip), %r9
  425. fadd %st, %st(2)
  426. fxch %st(2)
  427. fstpt 16(%rsp)
  428. fldt 16(%rsp)
  429. fsubp %st, %st(2)
  430. fldt .L_2il0floatpacket.2(%rip)
  431. fmul %st(2), %st
  432. movl 16(%rsp), %edx
  433. fsubrp %st, %st(1)
  434. fld %st(0)
  435. fldt .L_2il0floatpacket.3(%rip)
  436. fmulp %st, %st(3)
  437. movsbq %dl, %rax
  438. fsub %st(2), %st
  439. fldl (%r10)
  440. lea _P(%rip), %r10
  441. fldl (%r11)
  442. lea 48+_P(%rip), %r11
  443. fmul %st(2), %st
  444. subl %eax, %edx
  445. fxch %st(1)
  446. fmul %st, %st(2)
  447. shrl $8, %edx
  448. fxch %st(2)
  449. fsubrp %st, %st(1)
  450. fld %st(0)
  451. addl $16383, %edx
  452. andl $32767, %edx
  453. fxch %st(1)
  454. fsubr %st, %st(3)
  455. shlq $4, %rax
  456. fxch %st(4)
  457. fsubrp %st, %st(3)
  458. fadd %st(2), %st
  459. fld %st(0)
  460. fmul %st(1), %st
  461. fldt (%r8)
  462. lea 16+_P(%rip), %r8
  463. fmul %st(1), %st
  464. fldt (%r9)
  465. movzwl 8+.L_2il0floatpacket.0(%rip), %r9d
  466. faddp %st, %st(1)
  467. fmul %st(1), %st
  468. andl $-32768, %r9d
  469. fldt (%r10)
  470. orl %edx, %r9d
  471. movq __libm_expl_table_256@GOTPCREL(%rip), %rdx
  472. cmpl $16385, %ecx
  473. movw %r9w, 40(%rsp)
  474. faddp %st, %st(1)
  475. fmul %st(1), %st
  476. fldt (%r11)
  477. fmul %st(2), %st
  478. fldt (%r8)
  479. faddp %st, %st(1)
  480. fmulp %st, %st(2)
  481. fxch %st(2)
  482. fmulp %st, %st(1)
  483. faddp %st, %st(3)
  484. faddp %st, %st(2)
  485. fldl 2056(%rdx,%rax)
  486. fldl 2048(%rdx,%rax)
  487. fld %st(0)
  488. fmul %st(4), %st
  489. fxch %st(4)
  490. fadd %st(5), %st
  491. fmul %st(2), %st
  492. faddp %st, %st(4)
  493. fmul %st, %st(4)
  494. jge ..B1.52
  495. ..B1.51:
  496. fldt 32(%rsp)
  497. fld %st(1)
  498. lea _TWO_32H(%rip), %rax
  499. fadd %st(6), %st
  500. fadd %st(4), %st
  501. fsubp %st, %st(4)
  502. fxch %st(1)
  503. fsub %st(3), %st
  504. faddp %st, %st(5)
  505. fxch %st(4)
  506. faddp %st, %st(1)
  507. faddp %st, %st(2)
  508. fxch %st(1)
  509. fmul %st(2), %st
  510. fxch %st(2)
  511. fmulp %st, %st(1)
  512. fldt .L_2il0floatpacket.0(%rip)
  513. fadd %st, %st(1)
  514. fld %st(1)
  515. fadd %st(3), %st
  516. fdivr %st(1), %st
  517. fld %st(2)
  518. fldl (%rax)
  519. fld %st(0)
  520. fadd %st(3), %st
  521. fstpt 16(%rsp)
  522. fldt 16(%rsp)
  523. fsubp %st, %st(1)
  524. fmul %st, %st(4)
  525. fxch %st(3)
  526. fsubr %st, %st(4)
  527. fxch %st(2)
  528. fsub %st(3), %st
  529. fld %st(0)
  530. fadd %st(4), %st
  531. fmul %st, %st(6)
  532. fxch %st(1)
  533. fmul %st, %st(2)
  534. fxch %st(6)
  535. faddp %st, %st(2)
  536. fxch %st(1)
  537. faddp %st, %st(4)
  538. fmulp %st, %st(3)
  539. fxch %st(2)
  540. fsubrp %st, %st(3)
  541. fldt .L_2il0floatpacket.4(%rip)
  542. fmul %st, %st(1)
  543. fxch %st(1)
  544. fsubrp %st, %st(2)
  545. fmulp %st, %st(2)
  546. fsubp %st, %st(1)
  547. fstpt (%rsp)
  548. jmp ..B1.54
  549. ..B1.52:
  550. je ..B1.70
  551. ..B1.53:
  552. fstp %st(2)
  553. fldt .L_2il0floatpacket.0(%rip)
  554. fxch %st(3)
  555. faddp %st, %st(1)
  556. faddp %st, %st(3)
  557. faddp %st, %st(2)
  558. fldt 32(%rsp)
  559. fmulp %st, %st(2)
  560. fadd %st, %st(1)
  561. fldt .L_2il0floatpacket.4(%rip)
  562. fdivp %st, %st(2)
  563. fsubp %st, %st(1)
  564. fstpt (%rsp)
  565. ..B1.54:
  566. fldt (%rsp)
  567. testq %rsi, %rsi
  568. fld %st(0)
  569. fchs
  570. fcmove %st(1), %st
  571. fstp %st(1)
  572. fstpt (%rsp)
  573. testb %dil, %dil
  574. je ..B1.56
  575. ..B1.55:
  576. fldcw 50(%rsp)
  577. ..B1.56:
  578. fldt (%rsp)
  579. addq $56, %rsp
  580. .cfi_def_cfa_offset 8
  581. ret
  582. .cfi_def_cfa_offset 64
  583. ..B1.57:
  584. movl %eax, %edx
  585. andl $768, %edx
  586. cmpl $768, %edx
  587. je ..B1.61
  588. ..B1.58:
  589. orl $-64768, %eax
  590. movw %ax, 48(%rsp)
  591. ..B1.59:
  592. fldcw 48(%rsp)
  593. ..B1.60:
  594. movzwl 72(%rsp), %ecx
  595. movb $1, %dil
  596. andl $32767, %ecx
  597. ..B1.61:
  598. cmpl $32767, %ecx
  599. je ..B1.73
  600. ..B1.62:
  601. movq %rsi, %rdx
  602. lea _small_value_80(%rip), %rax
  603. shlq $4, %rdx
  604. lea ones(%rip), %rcx
  605. fldt (%rax,%rdx)
  606. fsubrl (%rcx,%rsi,8)
  607. fstpt (%rsp)
  608. ..B1.63:
  609. testb %dil, %dil
  610. je ..B1.65
  611. ..B1.64:
  612. fldcw 50(%rsp)
  613. ..B1.65:
  614. fldt (%rsp)
  615. addq $56, %rsp
  616. .cfi_def_cfa_offset 8
  617. ret
  618. .cfi_def_cfa_offset 64
  619. ..B1.66:
  620. cmpl $0, 68(%rsp)
  621. jne ..B1.68
  622. ..B1.67:
  623. cmpl $0, 64(%rsp)
  624. je ..B1.69
  625. ..B1.68:
  626. fldt 64(%rsp)
  627. lea _small_value_80(%rip), %rax
  628. shlq $4, %rsi
  629. fldt (%rax)
  630. fldt (%rax,%rsi)
  631. fmulp %st, %st(1)
  632. fstpt 16(%rsp)
  633. fldt 16(%rsp)
  634. fsubrp %st, %st(1)
  635. fstpt (%rsp)
  636. jmp ..B1.15
  637. ..B1.69:
  638. fldt 64(%rsp)
  639. fstpt (%rsp)
  640. jmp ..B1.15
  641. ..B1.70:
  642. movl 68(%rsp), %eax
  643. cmpl $-1771674010, %eax
  644. jb ..B1.51
  645. ..B1.71:
  646. jne ..B1.53
  647. ..B1.72:
  648. cmpl $1717986918, 64(%rsp)
  649. jb ..B1.51
  650. jmp ..B1.53
  651. ..B1.73:
  652. cmpl $-2147483648, 68(%rsp)
  653. jne ..B1.76
  654. ..B1.74:
  655. cmpl $0, 64(%rsp)
  656. jne ..B1.76
  657. ..B1.75:
  658. lea ones(%rip), %rax
  659. fldl (%rax,%rsi,8)
  660. fstpt (%rsp)
  661. jmp ..B1.63
  662. ..B1.76:
  663. fldt 64(%rsp)
  664. fstpt (%rsp)
  665. jmp ..B1.63
  666. .align 16,0x90
  667. .cfi_endproc
  668. .type tanhl,@function
  669. .size tanhl,.-tanhl
  670. .data
  671. # -- End tanhl
  672. .section .rodata, "a"
  673. .align 16
  674. .align 16
  675. .L_2il0floatpacket.0:
  676. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00
  677. .type .L_2il0floatpacket.0,@object
  678. .size .L_2il0floatpacket.0,16
  679. .align 16
  680. .L_2il0floatpacket.1:
  681. .byte 0x00,0xf0,0x17,0x5c,0x29,0x3b,0xaa,0xb8,0x07,0x40,0x00,0x00,0x00,0x00,0x00,0x00
  682. .type .L_2il0floatpacket.1,@object
  683. .size .L_2il0floatpacket.1,16
  684. .align 16
  685. .L_2il0floatpacket.2:
  686. .byte 0x00,0x00,0x00,0x00,0xf8,0x17,0x72,0xb1,0xf6,0x3f,0x00,0x00,0x00,0x00,0x00,0x00
  687. .type .L_2il0floatpacket.2,@object
  688. .size .L_2il0floatpacket.2,16
  689. .align 16
  690. .L_2il0floatpacket.3:
  691. .byte 0x00,0x30,0x71,0xd8,0x50,0x19,0xc2,0xb8,0xd4,0xbf,0x00,0x00,0x00,0x00,0x00,0x00
  692. .type .L_2il0floatpacket.3,@object
  693. .size .L_2il0floatpacket.3,16
  694. .align 16
  695. .L_2il0floatpacket.4:
  696. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00
  697. .type .L_2il0floatpacket.4,@object
  698. .size .L_2il0floatpacket.4,16
  699. .align 8
  700. twos:
  701. .long 0x00000000,0x40000000
  702. .long 0x00000000,0xc0000000
  703. .type twos,@object
  704. .size twos,16
  705. .align 8
  706. ones:
  707. .long 0x00000000,0x3ff00000
  708. .long 0x00000000,0xbff00000
  709. .type ones,@object
  710. .size ones,16
  711. .align 4
  712. _TWO_75:
  713. .long 0
  714. .long 1151336448
  715. .long 0
  716. .long 994050048
  717. .type _TWO_75,@object
  718. .size _TWO_75,16
  719. .align 4
  720. _TWO_52H:
  721. .long 0
  722. .long 1127743488
  723. .type _TWO_52H,@object
  724. .size _TWO_52H,8
  725. .align 4
  726. _TWO_48H:
  727. .long 0
  728. .long 1123549184
  729. .type _TWO_48H,@object
  730. .size _TWO_48H,8
  731. .align 4
  732. _TWO_63H:
  733. .long 0
  734. .long 1139277824
  735. .type _TWO_63H,@object
  736. .size _TWO_63H,8
  737. .align 4
  738. _TWO_32:
  739. .long 0
  740. .long 1106247680
  741. .type _TWO_32,@object
  742. .size _TWO_32,8
  743. .align 4
  744. _TWO_32P:
  745. .long 1048576
  746. .long 1106247680
  747. .type _TWO_32P,@object
  748. .size _TWO_32P,8
  749. .align 4
  750. _TWO_32H:
  751. .long 0
  752. .long 1106771968
  753. .type _TWO_32H,@object
  754. .size _TWO_32H,8
  755. .align 2
  756. _Q3:
  757. .word 21845
  758. .word 42325
  759. .word 43690
  760. .word 43690
  761. .word 49149
  762. .word 0
  763. .word 0
  764. .word 0
  765. .type _Q3,@object
  766. .size _Q3,16
  767. .align 2
  768. _Q2:
  769. .word 36147
  770. .word 43690
  771. .word 43690
  772. .word 43690
  773. .word 49149
  774. .word 0
  775. .word 0
  776. .word 0
  777. .word 55638
  778. .word 59918
  779. .word 34848
  780. .word 34952
  781. .word 16380
  782. .word 0
  783. .word 0
  784. .word 0
  785. .type _Q2,@object
  786. .size _Q2,32
  787. .align 2
  788. _Q1:
  789. .word 43688
  790. .word 43690
  791. .word 43690
  792. .word 43690
  793. .word 49149
  794. .word 0
  795. .word 0
  796. .word 0
  797. .word 48627
  798. .word 34947
  799. .word 34952
  800. .word 34952
  801. .word 16380
  802. .word 0
  803. .word 0
  804. .word 0
  805. .word 23872
  806. .word 38674
  807. .word 53460
  808. .word 56589
  809. .word 49146
  810. .word 0
  811. .word 0
  812. .word 0
  813. .word 33152
  814. .word 13396
  815. .word 6324
  816. .word 45860
  817. .word 16377
  818. .word 0
  819. .word 0
  820. .word 0
  821. .type _Q1,@object
  822. .size _Q1,64
  823. .align 2
  824. _Q:
  825. .word 43505
  826. .word 43690
  827. .word 43690
  828. .word 43690
  829. .word 49137
  830. .word 0
  831. .word 0
  832. .word 0
  833. .word 51768
  834. .word 34951
  835. .word 34952
  836. .word 34952
  837. .word 16368
  838. .word 0
  839. .word 0
  840. .word 0
  841. .word 53715
  842. .word 3536
  843. .word 53469
  844. .word 56589
  845. .word 49146
  846. .word 0
  847. .word 0
  848. .word 0
  849. .word 37274
  850. .word 24708
  851. .word 42049
  852. .word 45863
  853. .word 16377
  854. .word 0
  855. .word 0
  856. .word 0
  857. .word 51222
  858. .word 13677
  859. .word 6831
  860. .word 37175
  861. .word 49144
  862. .word 0
  863. .word 0
  864. .word 0
  865. .word 45961
  866. .word 31945
  867. .word 59504
  868. .word 60265
  869. .word 16374
  870. .word 0
  871. .word 0
  872. .word 0
  873. .word 5972
  874. .word 17449
  875. .word 45604
  876. .word 48849
  877. .word 49141
  878. .word 0
  879. .word 0
  880. .word 0
  881. .word 32816
  882. .word 2946
  883. .word 4564
  884. .word 39596
  885. .word 16372
  886. .word 0
  887. .word 0
  888. .word 0
  889. .word 14786
  890. .word 2112
  891. .word 44465
  892. .word 64190
  893. .word 49138
  894. .word 0
  895. .word 0
  896. .word 0
  897. .word 3031
  898. .word 16844
  899. .word 22916
  900. .word 52030
  901. .word 16369
  902. .word 0
  903. .word 0
  904. .word 0
  905. .word 47485
  906. .word 32270
  907. .word 51436
  908. .word 42167
  909. .word 49136
  910. .word 0
  911. .word 0
  912. .word 0
  913. .word 3071
  914. .word 14344
  915. .word 30185
  916. .word 34131
  917. .word 16367
  918. .word 0
  919. .word 0
  920. .word 0
  921. .word 24996
  922. .word 54454
  923. .word 53234
  924. .word 54781
  925. .word 49133
  926. .word 0
  927. .word 0
  928. .word 0
  929. .word 39193
  930. .word 24581
  931. .word 37984
  932. .word 42131
  933. .word 16364
  934. .word 0
  935. .word 0
  936. .word 0
  937. .word 5913
  938. .word 28127
  939. .word 47865
  940. .word 55395
  941. .word 49130
  942. .word 0
  943. .word 0
  944. .word 0
  945. .word 25952
  946. .word 54950
  947. .word 21582
  948. .word 44803
  949. .word 16360
  950. .word 0
  951. .word 0
  952. .word 0
  953. .word 0
  954. .word 0
  955. .word 0
  956. .word 43680
  957. .word 49149
  958. .word 0
  959. .word 0
  960. .word 0
  961. .word 0
  962. .word 0
  963. .word 0
  964. .word 34944
  965. .word 16380
  966. .word 0
  967. .word 0
  968. .word 0
  969. .type _Q,@object
  970. .size _Q,288
  971. .align 2
  972. _P:
  973. .word 0
  974. .word 0
  975. .word 0
  976. .word 32768
  977. .word 16382
  978. .word 0
  979. .word 0
  980. .word 0
  981. .word 10558
  982. .word 43680
  983. .word 43690
  984. .word 43690
  985. .word 16380
  986. .word 0
  987. .word 0
  988. .word 0
  989. .word 59664
  990. .word 43680
  991. .word 43690
  992. .word 43690
  993. .word 16378
  994. .word 0
  995. .word 0
  996. .word 0
  997. .word 56450
  998. .word 15979
  999. .word 35652
  1000. .word 34952
  1001. .word 16376
  1002. .word 0
  1003. .word 0
  1004. .word 0
  1005. .word 7105
  1006. .word 47411
  1007. .word 25657
  1008. .word 46603
  1009. .word 16373
  1010. .word 0
  1011. .word 0
  1012. .word 0
  1013. .type _P,@object
  1014. .size _P,80
  1015. .align 2
  1016. _small_value_80:
  1017. .word 0
  1018. .word 0
  1019. .word 0
  1020. .word 32768
  1021. .word 6383
  1022. .word 0
  1023. .word 0
  1024. .word 0
  1025. .word 0
  1026. .word 0
  1027. .word 0
  1028. .word 32768
  1029. .word 39151
  1030. .word 0
  1031. .word 0
  1032. .word 0
  1033. .type _small_value_80,@object
  1034. .size _small_value_80,32
  1035. .data
  1036. .section .note.GNU-stack, ""
  1037. // -- Begin DWARF2 SEGMENT .eh_frame
  1038. .section .eh_frame,"a",@progbits
  1039. .eh_frame_seg:
  1040. .align 1
  1041. # End