expm1l.S 25 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156
  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 "expm1l.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin expm1l
  41. .text
  42. .align 16,0x90
  43. .globl expm1l
  44. expm1l:
  45. # parameter 1: 160 + %rsp
  46. ..B1.1:
  47. .cfi_startproc
  48. ..___tag_value_expm1l.1:
  49. ..L2:
  50. subq $152, %rsp
  51. .cfi_def_cfa_offset 160
  52. xorb %dil, %dil
  53. ..B1.2:
  54. fnstcw 146(%rsp)
  55. ..B1.3:
  56. movb 169(%rsp), %cl
  57. lea _ranges(%rip), %r8
  58. andb $-128, %cl
  59. shrb $7, %cl
  60. movzbl %cl, %esi
  61. movq %rsi, %rdx
  62. shlq $4, %rdx
  63. movzwl 168(%rsp), %ecx
  64. andl $32767, %ecx
  65. movzwl 8(%rdx,%r8), %eax
  66. andl $32767, %eax
  67. cmpl %eax, %ecx
  68. jl ..B1.8
  69. ..B1.4:
  70. jne ..B1.63
  71. ..B1.5:
  72. movl 164(%rsp), %eax
  73. cmpl 4(%rdx,%r8), %eax
  74. jb ..B1.8
  75. ..B1.6:
  76. jne ..B1.63
  77. ..B1.7:
  78. movl 160(%rsp), %eax
  79. cmpl (%rdx,%r8), %eax
  80. jae ..B1.63
  81. ..B1.8:
  82. cmpl $16381, %ecx
  83. jge ..B1.49
  84. ..B1.9:
  85. movzwl 146(%rsp), %edx
  86. cmpl $16370, %ecx
  87. jge ..B1.42
  88. ..B1.10:
  89. cmpl $16359, %ecx
  90. jge ..B1.35
  91. ..B1.11:
  92. cmpl $16345, %ecx
  93. jge ..B1.28
  94. ..B1.12:
  95. cmpl $16308, %ecx
  96. jge ..B1.22
  97. ..B1.13:
  98. movl %edx, %eax
  99. andl $768, %eax
  100. cmpl $768, %eax
  101. je ..B1.17
  102. ..B1.14:
  103. orl $-64768, %edx
  104. movw %dx, 144(%rsp)
  105. ..B1.15:
  106. fldcw 144(%rsp)
  107. ..B1.16:
  108. movzwl 168(%rsp), %ecx
  109. movb $1, %dil
  110. andl $32767, %ecx
  111. ..B1.17:
  112. testl %ecx, %ecx
  113. jle ..B1.73
  114. ..B1.18:
  115. fldt 160(%rsp)
  116. lea _TWO_75(%rip), %rax
  117. lea ones(%rip), %rdx
  118. lea 8+_TWO_75(%rip), %rcx
  119. fldl (%rax)
  120. fmul %st(1), %st
  121. fxch %st(1)
  122. fmull (%rdx,%rsi,8)
  123. faddp %st, %st(1)
  124. fmull (%rcx)
  125. fstpt 16(%rsp)
  126. ..B1.19:
  127. testb %dil, %dil
  128. je ..B1.21
  129. ..B1.20:
  130. fldcw 146(%rsp)
  131. ..B1.21:
  132. fldt 16(%rsp)
  133. addq $152, %rsp
  134. .cfi_def_cfa_offset 8
  135. ret
  136. .cfi_def_cfa_offset 160
  137. ..B1.22:
  138. movl %edx, %eax
  139. andl $768, %eax
  140. cmpl $768, %eax
  141. je ..B1.77
  142. ..B1.23:
  143. orl $-64768, %edx
  144. movw %dx, 144(%rsp)
  145. ..B1.24:
  146. fldcw 144(%rsp)
  147. ..B1.25:
  148. fldt 160(%rsp)
  149. lea _Q3(%rip), %rax
  150. fldt (%rax)
  151. fmul %st(1), %st
  152. fmul %st(1), %st
  153. faddp %st, %st(1)
  154. fstpt 16(%rsp)
  155. ..B1.26:
  156. fldcw 146(%rsp)
  157. ..B1.27:
  158. fldt 16(%rsp)
  159. addq $152, %rsp
  160. .cfi_def_cfa_offset 8
  161. ret
  162. .cfi_def_cfa_offset 160
  163. ..B1.28:
  164. movl %edx, %eax
  165. andl $768, %eax
  166. cmpl $768, %eax
  167. je ..B1.32
  168. ..B1.29:
  169. orl $-64768, %edx
  170. movw %dx, 144(%rsp)
  171. ..B1.30:
  172. fldcw 144(%rsp)
  173. ..B1.31:
  174. movb $1, %dil
  175. ..B1.32:
  176. fldt 160(%rsp)
  177. lea 16+_Q2(%rip), %rax
  178. lea _Q2(%rip), %rdx
  179. testb %dil, %dil
  180. fldt (%rax)
  181. fmul %st(1), %st
  182. fmul %st(1), %st
  183. fldt (%rdx)
  184. fmul %st(2), %st
  185. faddp %st, %st(1)
  186. fmul %st(1), %st
  187. faddp %st, %st(1)
  188. fstpt 16(%rsp)
  189. je ..B1.34
  190. ..B1.33:
  191. fldcw 146(%rsp)
  192. ..B1.34:
  193. fldt 16(%rsp)
  194. addq $152, %rsp
  195. .cfi_def_cfa_offset 8
  196. ret
  197. .cfi_def_cfa_offset 160
  198. ..B1.35:
  199. movl %edx, %eax
  200. andl $768, %eax
  201. cmpl $768, %eax
  202. je ..B1.39
  203. ..B1.36:
  204. orl $-64768, %edx
  205. movw %dx, 144(%rsp)
  206. ..B1.37:
  207. fldcw 144(%rsp)
  208. ..B1.38:
  209. movb $1, %dil
  210. ..B1.39:
  211. fldt 160(%rsp)
  212. lea 48+_Q1(%rip), %rax
  213. fld %st(0)
  214. lea 32+_Q1(%rip), %rcx
  215. fmul %st(1), %st
  216. lea 16+_Q1(%rip), %rdx
  217. fldt (%rax)
  218. lea _Q1(%rip), %rsi
  219. fmul %st(1), %st
  220. testb %dil, %dil
  221. fldt (%rdx)
  222. faddp %st, %st(1)
  223. fmul %st(1), %st
  224. fldt (%rcx)
  225. fmulp %st, %st(2)
  226. fldt (%rsi)
  227. faddp %st, %st(2)
  228. fxch %st(1)
  229. fmul %st(2), %st
  230. faddp %st, %st(1)
  231. fmul %st(1), %st
  232. faddp %st, %st(1)
  233. fstpt 16(%rsp)
  234. je ..B1.41
  235. ..B1.40:
  236. fldcw 146(%rsp)
  237. ..B1.41:
  238. fldt 16(%rsp)
  239. addq $152, %rsp
  240. .cfi_def_cfa_offset 8
  241. ret
  242. .cfi_def_cfa_offset 160
  243. ..B1.42:
  244. movl %edx, %eax
  245. andl $768, %eax
  246. cmpl $768, %eax
  247. je ..B1.46
  248. ..B1.43:
  249. orl $-64768, %edx
  250. movw %dx, 144(%rsp)
  251. ..B1.44:
  252. fldcw 144(%rsp)
  253. ..B1.45:
  254. movb $1, %dil
  255. ..B1.46:
  256. fldt 160(%rsp)
  257. lea _TWO_54H(%rip), %rax
  258. fld %st(0)
  259. fld %st(1)
  260. fld %st(2)
  261. lea 208+_Q(%rip), %r8
  262. lea 240+_Q(%rip), %rcx
  263. lea 176+_Q(%rip), %r9
  264. fld %st(3)
  265. lea 224+_Q(%rip), %rsi
  266. fldl (%rax)
  267. lea 144+_Q(%rip), %r10
  268. fmul %st(5), %st
  269. lea 112+_Q(%rip), %r11
  270. lea 80+_Q(%rip), %rax
  271. lea 256+_Q(%rip), %rdx
  272. testb %dil, %dil
  273. fadd %st, %st(4)
  274. fxch %st(4)
  275. fstpt 16(%rsp)
  276. fldt 16(%rsp)
  277. fsubp %st, %st(4)
  278. fld %st(3)
  279. fld %st(4)
  280. fmul %st(5), %st
  281. fstpt 80(%rsp)
  282. fldt 80(%rsp)
  283. fxch %st(4)
  284. fsub %st(5), %st
  285. fmul %st, %st(1)
  286. fmul %st, %st(3)
  287. fxch %st(3)
  288. faddp %st, %st(1)
  289. fld %st(0)
  290. fadd %st(4), %st
  291. fxch %st(5)
  292. fstpt 48(%rsp)
  293. fldt 48(%rsp)
  294. fxch %st(1)
  295. fmul %st, %st(2)
  296. fxch %st(1)
  297. fmul %st(4), %st
  298. fstpt 96(%rsp)
  299. fxch %st(2)
  300. fstpt 64(%rsp)
  301. fldt 64(%rsp)
  302. fmulp %st, %st(3)
  303. faddp %st, %st(2)
  304. fldt (%rdx)
  305. lea 48+_Q(%rip), %rdx
  306. fmul %st, %st(2)
  307. fldt (%rcx)
  308. lea 16+_Q(%rip), %rcx
  309. fstpt 112(%rsp)
  310. fldt (%rsi)
  311. lea 192+_Q(%rip), %rsi
  312. fstpt 128(%rsp)
  313. fldt (%r8)
  314. lea 160+_Q(%rip), %r8
  315. fmul %st(4), %st
  316. fldt (%r9)
  317. lea 128+_Q(%rip), %r9
  318. faddp %st, %st(1)
  319. fmul %st(4), %st
  320. fldt (%r10)
  321. lea 96+_Q(%rip), %r10
  322. faddp %st, %st(1)
  323. fmul %st(4), %st
  324. fldt (%r11)
  325. lea 64+_Q(%rip), %r11
  326. faddp %st, %st(1)
  327. fmul %st(4), %st
  328. fldt (%rax)
  329. lea 32+_Q(%rip), %rax
  330. faddp %st, %st(1)
  331. fmul %st(4), %st
  332. fldt (%rdx)
  333. lea _Q(%rip), %rdx
  334. faddp %st, %st(1)
  335. fmul %st(4), %st
  336. fldt (%rcx)
  337. faddp %st, %st(1)
  338. fmul %st(4), %st
  339. fldt (%rsi)
  340. fmul %st(5), %st
  341. fldt (%r8)
  342. faddp %st, %st(1)
  343. fmul %st(5), %st
  344. fldt (%r9)
  345. faddp %st, %st(1)
  346. fmul %st(5), %st
  347. fldt (%r10)
  348. faddp %st, %st(1)
  349. fmul %st(5), %st
  350. fldt (%r11)
  351. faddp %st, %st(1)
  352. fmul %st(5), %st
  353. fldt (%rax)
  354. faddp %st, %st(1)
  355. fmulp %st, %st(5)
  356. fldt (%rdx)
  357. faddp %st, %st(5)
  358. fxch %st(4)
  359. fmul %st(5), %st
  360. faddp %st, %st(4)
  361. fxch %st(2)
  362. faddp %st, %st(3)
  363. fldt 112(%rsp)
  364. fmul %st, %st(1)
  365. fxch %st(1)
  366. faddp %st, %st(3)
  367. fldt 128(%rsp)
  368. fld %st(0)
  369. fldt 64(%rsp)
  370. fmul %st, %st(1)
  371. fxch %st(1)
  372. faddp %st, %st(5)
  373. fxch %st(4)
  374. fmul %st(5), %st
  375. fldt 96(%rsp)
  376. fmulp %st, %st(4)
  377. fldt 80(%rsp)
  378. fmulp %st, %st(3)
  379. fxch %st(2)
  380. faddp %st, %st(3)
  381. fldt 48(%rsp)
  382. fmul %st, %st(1)
  383. fxch %st(1)
  384. faddp %st, %st(3)
  385. fmul %st(2), %st
  386. fxch %st(2)
  387. fmulp %st, %st(3)
  388. faddp %st, %st(2)
  389. fld %st(2)
  390. fadd %st(1), %st
  391. fsubr %st, %st(3)
  392. fxch %st(3)
  393. fstpt 160(%rsp)
  394. fldt 160(%rsp)
  395. faddp %st, %st(1)
  396. faddp %st, %st(1)
  397. faddp %st, %st(1)
  398. fstpt 32(%rsp)
  399. je ..B1.48
  400. ..B1.47:
  401. fldt 16(%rsp)
  402. fstpt 48(%rsp)
  403. ..B1.85:
  404. fldcw 146(%rsp)
  405. ..B1.48:
  406. fldt 32(%rsp)
  407. addq $152, %rsp
  408. .cfi_def_cfa_offset 8
  409. ret
  410. .cfi_def_cfa_offset 160
  411. ..B1.49:
  412. movzwl 146(%rsp), %edx
  413. movl %edx, %eax
  414. andl $768, %eax
  415. cmpl $768, %eax
  416. je ..B1.53
  417. ..B1.50:
  418. orl $-64768, %edx
  419. movw %dx, 144(%rsp)
  420. ..B1.51:
  421. fldcw 144(%rsp)
  422. ..B1.52:
  423. movzwl 168(%rsp), %ecx
  424. movb $1, %dil
  425. andl $32767, %ecx
  426. ..B1.53:
  427. fldt .L_2il0floatpacket.0(%rip)
  428. lea _TWO_63H(%rip), %rax
  429. fstpt 32(%rsp)
  430. lea _TWO_32H(%rip), %r8
  431. fldt 160(%rsp)
  432. cmpl $16396, %ecx
  433. fldt .L_2il0floatpacket.1(%rip)
  434. fmul %st(1), %st
  435. fldl (%rax)
  436. movzwl 8+.L_2il0floatpacket.0(%rip), %r9d
  437. fadd %st, %st(1)
  438. fxch %st(1)
  439. fstpt 48(%rsp)
  440. fldt 48(%rsp)
  441. fsubp %st, %st(1)
  442. fldt .L_2il0floatpacket.2(%rip)
  443. fmul %st(1), %st
  444. movl 48(%rsp), %eax
  445. fsubrp %st, %st(2)
  446. fld %st(1)
  447. fldt .L_2il0floatpacket.3(%rip)
  448. fmulp %st, %st(2)
  449. movsbq %al, %rdx
  450. fsub %st(1), %st
  451. fldl (%r8)
  452. fadd %st, %st(1)
  453. fsubr %st(1), %st
  454. fsubr %st, %st(3)
  455. fxch %st(2)
  456. fsubrp %st, %st(3)
  457. jge ..B1.60
  458. ..B1.54:
  459. fld %st(1)
  460. subl %edx, %eax
  461. shrl $8, %eax
  462. andl $-32768, %r9d
  463. addl $16383, %eax
  464. lea 32+_P(%rip), %r8
  465. andl $32767, %eax
  466. lea 48+_P(%rip), %r10
  467. orl %eax, %r9d
  468. lea 64+_P(%rip), %rax
  469. movw %r9w, 40(%rsp)
  470. lea _P(%rip), %r9
  471. lea 16+_P(%rip), %r11
  472. fadd %st(3), %st
  473. fld %st(0)
  474. fmul %st(1), %st
  475. fldt (%rax)
  476. fmul %st(1), %st
  477. fldt (%r8)
  478. shlq $4, %rdx
  479. faddp %st, %st(1)
  480. fmul %st(1), %st
  481. testq %rsi, %rsi
  482. fldt (%r9)
  483. movq __libm_expl_table_256@GOTPCREL(%rip), %rax
  484. faddp %st, %st(1)
  485. fmul %st(1), %st
  486. fldt (%r10)
  487. fmul %st(2), %st
  488. fldt (%r11)
  489. faddp %st, %st(1)
  490. fmulp %st, %st(2)
  491. fxch %st(2)
  492. fmulp %st, %st(1)
  493. faddp %st, %st(1)
  494. faddp %st, %st(3)
  495. fldl 2048(%rax,%rdx)
  496. fld %st(0)
  497. fmul %st(4), %st
  498. fxch %st(3)
  499. fadd %st, %st(4)
  500. fmul %st(1), %st
  501. fld %st(1)
  502. fadd %st(1), %st
  503. fsubr %st, %st(2)
  504. fxch %st(1)
  505. faddp %st, %st(2)
  506. fxch %st(4)
  507. fmull 2056(%rax,%rdx)
  508. faddp %st, %st(3)
  509. fldt 32(%rsp)
  510. fmul %st, %st(4)
  511. fxch %st(1)
  512. faddl 2056(%rax,%rdx)
  513. faddp %st, %st(3)
  514. fmulp %st, %st(2)
  515. je ..B1.56
  516. ..B1.55:
  517. fldt .L_2il0floatpacket.4(%rip)
  518. fadd %st(3), %st
  519. fstpt 16(%rsp)
  520. fldt 16(%rsp)
  521. fldt .L_2il0floatpacket.0(%rip)
  522. faddp %st, %st(1)
  523. fsubp %st, %st(3)
  524. fxch %st(2)
  525. fsubrp %st, %st(1)
  526. jmp ..B1.57
  527. ..B1.56:
  528. movzbl 169(%rsp), %edx
  529. xorl %esi, %esi
  530. shrl $7, %edx
  531. lea zero_one(%rip), %r8
  532. shll $15, %edx
  533. orl %ecx, %edx
  534. shll $16, %edx
  535. movzwl 166(%rsp), %eax
  536. orl %eax, %edx
  537. cmpl $1074049228, %edx
  538. setb %sil
  539. fldl (%r8,%rsi,8)
  540. xorl $1, %esi
  541. fsubrp %st, %st(3)
  542. fxch %st(2)
  543. fstpt 16(%rsp)
  544. fsubl (%r8,%rsi,8)
  545. ..B1.57:
  546. fldt 16(%rsp)
  547. testb %dil, %dil
  548. faddp %st, %st(1)
  549. fstpt 16(%rsp)
  550. je ..B1.88
  551. ..B1.58:
  552. fstpt 48(%rsp)
  553. ..B1.86:
  554. fldcw 146(%rsp)
  555. jmp ..B1.59
  556. ..B1.88:
  557. fstp %st(0)
  558. ..B1.59:
  559. fldt 16(%rsp)
  560. addq $152, %rsp
  561. .cfi_def_cfa_offset 8
  562. ret
  563. .cfi_def_cfa_offset 160
  564. ..B1.60:
  565. fld %st(1)
  566. subl %edx, %eax
  567. shrl $8, %eax
  568. lea 32+_P(%rip), %rsi
  569. addl $8191, %eax
  570. lea _P(%rip), %r8
  571. movzwl 40(%rsp), %ecx
  572. andl $32767, %eax
  573. andl $-32768, %ecx
  574. lea 48+_P(%rip), %r9
  575. orl %eax, %ecx
  576. lea 64+_P(%rip), %rax
  577. lea 16+_P(%rip), %r10
  578. fadd %st(3), %st
  579. fld %st(0)
  580. fmul %st(1), %st
  581. fldt (%rax)
  582. lea _SC2(%rip), %rax
  583. fmul %st(1), %st
  584. fldt (%rsi)
  585. shlq $4, %rdx
  586. faddp %st, %st(1)
  587. fmul %st(1), %st
  588. testb %dil, %dil
  589. fldt (%r8)
  590. movq __libm_expl_table_256@GOTPCREL(%rip), %r11
  591. faddp %st, %st(1)
  592. fmul %st(1), %st
  593. fldt (%r9)
  594. fmul %st(2), %st
  595. fldt (%r10)
  596. movw %cx, 40(%rsp)
  597. faddp %st, %st(1)
  598. fmulp %st, %st(2)
  599. fxch %st(2)
  600. fmulp %st, %st(1)
  601. faddp %st, %st(1)
  602. faddp %st, %st(3)
  603. fldl 2056(%r11,%rdx)
  604. fldl 2048(%r11,%rdx)
  605. fld %st(0)
  606. fmul %st(5), %st
  607. fxch %st(4)
  608. fadd %st, %st(5)
  609. fxch %st(2)
  610. fmul %st, %st(5)
  611. fxch %st(5)
  612. faddp %st, %st(4)
  613. fmul %st, %st(1)
  614. fld %st(0)
  615. fadd %st(2), %st
  616. fsubr %st, %st(1)
  617. fxch %st(2)
  618. faddp %st, %st(1)
  619. faddp %st, %st(4)
  620. fxch %st(2)
  621. faddp %st, %st(3)
  622. fxch %st(2)
  623. faddp %st, %st(1)
  624. fldt 32(%rsp)
  625. fmulp %st, %st(1)
  626. fldt (%rax)
  627. fmulp %st, %st(1)
  628. fstpt 16(%rsp)
  629. je ..B1.89
  630. ..B1.61:
  631. fstpt 48(%rsp)
  632. ..B1.87:
  633. fldcw 146(%rsp)
  634. jmp ..B1.62
  635. ..B1.89:
  636. fstp %st(0)
  637. ..B1.62:
  638. fldt 16(%rsp)
  639. addq $152, %rsp
  640. .cfi_def_cfa_offset 8
  641. ret
  642. .cfi_def_cfa_offset 160
  643. ..B1.63:
  644. movzwl 146(%rsp), %edx
  645. movl %edx, %eax
  646. andl $768, %eax
  647. cmpl $768, %eax
  648. je ..B1.67
  649. ..B1.64:
  650. orl $-64768, %edx
  651. movw %dx, 144(%rsp)
  652. ..B1.65:
  653. fldcw 144(%rsp)
  654. ..B1.66:
  655. movzwl 168(%rsp), %ecx
  656. movb $1, %dil
  657. andl $32767, %ecx
  658. ..B1.67:
  659. cmpl $32767, %ecx
  660. je ..B1.79
  661. ..B1.68:
  662. testq %rsi, %rsi
  663. je ..B1.78
  664. ..B1.69:
  665. fldt .L_2il0floatpacket.4(%rip)
  666. lea _small_value_80(%rip), %rax
  667. fldt (%rax)
  668. faddp %st, %st(1)
  669. fstpt 16(%rsp)
  670. ..B1.70:
  671. testb %dil, %dil
  672. je ..B1.72
  673. ..B1.71:
  674. fldcw 146(%rsp)
  675. ..B1.72:
  676. fldt 16(%rsp)
  677. addq $152, %rsp
  678. .cfi_def_cfa_offset 8
  679. ret
  680. .cfi_def_cfa_offset 160
  681. ..B1.73:
  682. cmpl $0, 164(%rsp)
  683. jne ..B1.75
  684. ..B1.74:
  685. cmpl $0, 160(%rsp)
  686. je ..B1.76
  687. ..B1.75:
  688. fldt 160(%rsp)
  689. lea _TWO_75(%rip), %rdx
  690. lea ones(%rip), %rcx
  691. lea _small_value_80(%rip), %rax
  692. fldl (%rdx)
  693. fmul %st(1), %st
  694. fxch %st(1)
  695. fmull (%rcx,%rsi,8)
  696. lea 8+_TWO_75(%rip), %rsi
  697. faddp %st, %st(1)
  698. fldt (%rax)
  699. fmul %st(0), %st
  700. fstpt (%rsp)
  701. fmull (%rsi)
  702. fstpt 16(%rsp)
  703. jmp ..B1.19
  704. ..B1.76:
  705. fldt 160(%rsp)
  706. fstpt 16(%rsp)
  707. jmp ..B1.19
  708. ..B1.77:
  709. fldt 160(%rsp)
  710. lea _Q3(%rip), %rax
  711. fldt (%rax)
  712. fmul %st(1), %st
  713. fmul %st(1), %st
  714. faddp %st, %st(1)
  715. fstpt 16(%rsp)
  716. jmp ..B1.27
  717. ..B1.78:
  718. lea _large_value_80(%rip), %rax
  719. fldt (%rax)
  720. fmul %st(0), %st
  721. fstpt 16(%rsp)
  722. jmp ..B1.70
  723. ..B1.79:
  724. cmpl $-2147483648, 164(%rsp)
  725. jne ..B1.82
  726. ..B1.80:
  727. cmpl $0, 160(%rsp)
  728. jne ..B1.82
  729. ..B1.81:
  730. lea _inf_none(%rip), %rax
  731. fldl (%rax,%rsi,8)
  732. fstpt 16(%rsp)
  733. jmp ..B1.70
  734. ..B1.82:
  735. fldt 160(%rsp)
  736. fstpt 16(%rsp)
  737. jmp ..B1.70
  738. .align 16,0x90
  739. .cfi_endproc
  740. .type expm1l,@function
  741. .size expm1l,.-expm1l
  742. .data
  743. # -- End expm1l
  744. .section .rodata, "a"
  745. .align 16
  746. .align 16
  747. .L_2il0floatpacket.0:
  748. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00
  749. .type .L_2il0floatpacket.0,@object
  750. .size .L_2il0floatpacket.0,16
  751. .align 16
  752. .L_2il0floatpacket.1:
  753. .byte 0x00,0xf0,0x17,0x5c,0x29,0x3b,0xaa,0xb8,0x07,0x40,0x00,0x00,0x00,0x00,0x00,0x00
  754. .type .L_2il0floatpacket.1,@object
  755. .size .L_2il0floatpacket.1,16
  756. .align 16
  757. .L_2il0floatpacket.2:
  758. .byte 0x00,0x00,0x00,0x00,0xf8,0x17,0x72,0xb1,0xf6,0x3f,0x00,0x00,0x00,0x00,0x00,0x00
  759. .type .L_2il0floatpacket.2,@object
  760. .size .L_2il0floatpacket.2,16
  761. .align 16
  762. .L_2il0floatpacket.3:
  763. .byte 0x00,0x30,0x71,0xd8,0x50,0x19,0xc2,0xb8,0xd4,0xbf,0x00,0x00,0x00,0x00,0x00,0x00
  764. .type .L_2il0floatpacket.3,@object
  765. .size .L_2il0floatpacket.3,16
  766. .align 16
  767. .L_2il0floatpacket.4:
  768. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0xbf,0x00,0x00,0x00,0x00,0x00,0x00
  769. .type .L_2il0floatpacket.4,@object
  770. .size .L_2il0floatpacket.4,16
  771. .align 8
  772. ones:
  773. .long 0x00000000,0x3ff00000
  774. .long 0x00000000,0xbff00000
  775. .type ones,@object
  776. .size ones,16
  777. .align 8
  778. zero_one:
  779. .long 0x00000000,0x00000000
  780. .long 0x00000000,0x3ff00000
  781. .type zero_one,@object
  782. .size zero_one,16
  783. .align 4
  784. _TWO_75:
  785. .long 0
  786. .long 1151336448
  787. .long 0
  788. .long 994050048
  789. .type _TWO_75,@object
  790. .size _TWO_75,16
  791. .align 4
  792. _TWO_54H:
  793. .long 0
  794. .long 1129840640
  795. .type _TWO_54H,@object
  796. .size _TWO_54H,8
  797. .align 4
  798. _TWO_63H:
  799. .long 0
  800. .long 1139277824
  801. .type _TWO_63H,@object
  802. .size _TWO_63H,8
  803. .align 4
  804. _TWO_32H:
  805. .long 0
  806. .long 1106771968
  807. .type _TWO_32H,@object
  808. .size _TWO_32H,8
  809. .align 4
  810. _inf_none:
  811. .long 0
  812. .long 2146435072
  813. .long 0
  814. .long 3220176896
  815. .type _inf_none,@object
  816. .size _inf_none,16
  817. .align 2
  818. _ranges:
  819. .word 31148
  820. .word 53711
  821. .word 6135
  822. .word 45426
  823. .word 16396
  824. .word 0
  825. .word 0
  826. .word 0
  827. .word 0
  828. .word 0
  829. .word 0
  830. .word 32768
  831. .word 16389
  832. .word 0
  833. .word 0
  834. .word 0
  835. .type _ranges,@object
  836. .size _ranges,32
  837. .align 2
  838. _Q3:
  839. .word 0
  840. .word 0
  841. .word 0
  842. .word 32768
  843. .word 16382
  844. .word 0
  845. .word 0
  846. .word 0
  847. .type _Q3,@object
  848. .size _Q3,16
  849. .align 2
  850. _Q2:
  851. .word 2731
  852. .word 0
  853. .word 0
  854. .word 32768
  855. .word 16382
  856. .word 0
  857. .word 0
  858. .word 0
  859. .word 46967
  860. .word 43690
  861. .word 43690
  862. .word 43690
  863. .word 16380
  864. .word 0
  865. .word 0
  866. .word 0
  867. .type _Q2,@object
  868. .size _Q2,32
  869. .align 2
  870. _Q1:
  871. .word 65530
  872. .word 65535
  873. .word 65535
  874. .word 65535
  875. .word 16381
  876. .word 0
  877. .word 0
  878. .word 0
  879. .word 43687
  880. .word 43690
  881. .word 43690
  882. .word 43690
  883. .word 16380
  884. .word 0
  885. .word 0
  886. .word 0
  887. .word 52365
  888. .word 52428
  889. .word 43692
  890. .word 43690
  891. .word 16378
  892. .word 0
  893. .word 0
  894. .word 0
  895. .word 56491
  896. .word 10318
  897. .word 34954
  898. .word 34952
  899. .word 16376
  900. .word 0
  901. .word 0
  902. .word 0
  903. .type _Q1,@object
  904. .size _Q1,64
  905. .align 2
  906. _Q:
  907. .word 39683
  908. .word 36691
  909. .word 42743
  910. .word 55145
  911. .word 16297
  912. .word 0
  913. .word 0
  914. .word 0
  915. .word 43691
  916. .word 43690
  917. .word 43690
  918. .word 43690
  919. .word 16370
  920. .word 0
  921. .word 0
  922. .word 0
  923. .word 43680
  924. .word 43690
  925. .word 43690
  926. .word 43690
  927. .word 16368
  928. .word 0
  929. .word 0
  930. .word 0
  931. .word 34953
  932. .word 34952
  933. .word 34952
  934. .word 34952
  935. .word 16376
  936. .word 0
  937. .word 0
  938. .word 0
  939. .word 46686
  940. .word 2912
  941. .word 24758
  942. .word 46603
  943. .word 16373
  944. .word 0
  945. .word 0
  946. .word 0
  947. .word 53372
  948. .word 3328
  949. .word 208
  950. .word 53261
  951. .word 16370
  952. .word 0
  953. .word 0
  954. .word 0
  955. .word 5395
  956. .word 3321
  957. .word 208
  958. .word 53261
  959. .word 16367
  960. .word 0
  961. .word 0
  962. .word 0
  963. .word 7401
  964. .word 46642
  965. .word 7466
  966. .word 47343
  967. .word 16364
  968. .word 0
  969. .word 0
  970. .word 0
  971. .word 52768
  972. .word 7506
  973. .word 32188
  974. .word 37874
  975. .word 16361
  976. .word 0
  977. .word 0
  978. .word 0
  979. .word 23003
  980. .word 12485
  981. .word 11072
  982. .word 55090
  983. .word 16357
  984. .word 0
  985. .word 0
  986. .word 0
  987. .word 3702
  988. .word 18929
  989. .word 50035
  990. .word 36726
  991. .word 16354
  992. .word 0
  993. .word 0
  994. .word 0
  995. .word 2630
  996. .word 23096
  997. .word 11140
  998. .word 45202
  999. .word 16350
  1000. .word 0
  1001. .word 0
  1002. .word 0
  1003. .word 46660
  1004. .word 62794
  1005. .word 49270
  1006. .word 51706
  1007. .word 16346
  1008. .word 0
  1009. .word 0
  1010. .word 0
  1011. .word 61237
  1012. .word 7998
  1013. .word 19059
  1014. .word 55154
  1015. .word 16342
  1016. .word 0
  1017. .word 0
  1018. .word 0
  1019. .word 0
  1020. .word 0
  1021. .word 0
  1022. .word 32768
  1023. .word 16382
  1024. .word 0
  1025. .word 0
  1026. .word 0
  1027. .word 0
  1028. .word 0
  1029. .word 0
  1030. .word 43648
  1031. .word 16380
  1032. .word 0
  1033. .word 0
  1034. .word 0
  1035. .word 0
  1036. .word 0
  1037. .word 0
  1038. .word 43648
  1039. .word 16378
  1040. .word 0
  1041. .word 0
  1042. .word 0
  1043. .type _Q,@object
  1044. .size _Q,272
  1045. .align 2
  1046. _P:
  1047. .word 0
  1048. .word 0
  1049. .word 0
  1050. .word 32768
  1051. .word 16382
  1052. .word 0
  1053. .word 0
  1054. .word 0
  1055. .word 10558
  1056. .word 43680
  1057. .word 43690
  1058. .word 43690
  1059. .word 16380
  1060. .word 0
  1061. .word 0
  1062. .word 0
  1063. .word 59664
  1064. .word 43680
  1065. .word 43690
  1066. .word 43690
  1067. .word 16378
  1068. .word 0
  1069. .word 0
  1070. .word 0
  1071. .word 56450
  1072. .word 15979
  1073. .word 35652
  1074. .word 34952
  1075. .word 16376
  1076. .word 0
  1077. .word 0
  1078. .word 0
  1079. .word 7105
  1080. .word 47411
  1081. .word 25657
  1082. .word 46603
  1083. .word 16373
  1084. .word 0
  1085. .word 0
  1086. .word 0
  1087. .type _P,@object
  1088. .size _P,80
  1089. .align 2
  1090. _SC2:
  1091. .word 0
  1092. .word 0
  1093. .word 0
  1094. .word 32768
  1095. .word 24575
  1096. .word 0
  1097. .word 0
  1098. .word 0
  1099. .word 0
  1100. .word 0
  1101. .word 0
  1102. .word 32768
  1103. .word 8191
  1104. .word 0
  1105. .word 0
  1106. .word 0
  1107. .type _SC2,@object
  1108. .size _SC2,32
  1109. .align 2
  1110. _small_value_80:
  1111. .word 0
  1112. .word 0
  1113. .word 0
  1114. .word 32768
  1115. .word 6383
  1116. .word 0
  1117. .word 0
  1118. .word 0
  1119. .word 0
  1120. .word 0
  1121. .word 0
  1122. .word 32768
  1123. .word 39151
  1124. .word 0
  1125. .word 0
  1126. .word 0
  1127. .type _small_value_80,@object
  1128. .size _small_value_80,32
  1129. .align 2
  1130. _large_value_80:
  1131. .word 0
  1132. .word 0
  1133. .word 0
  1134. .word 32768
  1135. .word 26383
  1136. .word 0
  1137. .word 0
  1138. .word 0
  1139. .word 0
  1140. .word 0
  1141. .word 0
  1142. .word 32768
  1143. .word 59151
  1144. .word 0
  1145. .word 0
  1146. .word 0
  1147. .type _large_value_80,@object
  1148. .size _large_value_80,32
  1149. .data
  1150. .section .note.GNU-stack, ""
  1151. // -- Begin DWARF2 SEGMENT .eh_frame
  1152. .section .eh_frame,"a",@progbits
  1153. .eh_frame_seg:
  1154. .align 1
  1155. # End