asinhl.S 24 KB

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