acosl.S 28 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211
  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 "acosl.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin acosl
  41. .text
  42. .align 16,0x90
  43. .globl acosl
  44. acosl:
  45. # parameter 1: 8 + %ebp
  46. ..B1.1:
  47. ..L1:
  48. pushl %ebp
  49. movl %esp, %ebp
  50. andl $-16, %esp
  51. pushl %edi
  52. pushl %ebx
  53. subl $88, %esp
  54. ..B1.2:
  55. fnstcw 14(%esp)
  56. ..B1.3:
  57. movzbl 17(%ebp), %edx
  58. movzwl 16(%ebp), %eax
  59. andl $128, %edx
  60. andl $32767, %eax
  61. shrl $7, %edx
  62. movzwl 14(%esp), %ecx
  63. cmpl $16383, %eax
  64. call ..L2
  65. ..L2:
  66. popl %ebx
  67. lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%ebx), %ebx
  68. jge ..B1.60
  69. ..B1.4:
  70. cmpl $16382, %eax
  71. jge ..B1.47
  72. ..B1.5:
  73. cmpl $16376, %eax
  74. jge ..B1.37
  75. ..B1.6:
  76. cmpl $16371, %eax
  77. jge ..B1.30
  78. ..B1.7:
  79. cmpl $16365, %eax
  80. jge ..B1.23
  81. ..B1.8:
  82. cmpl $16308, %eax
  83. jge ..B1.16
  84. ..B1.9:
  85. movl %ecx, %eax
  86. andl $768, %eax
  87. cmpl $768, %eax
  88. je ..B1.78
  89. ..B1.10:
  90. orl $-64768, %ecx
  91. movw %cx, 12(%esp)
  92. ..B1.11:
  93. fldcw 12(%esp)
  94. ..B1.12:
  95. movl $1, %eax
  96. ..B1.13:
  97. fldt 12+_pi_02@GOTOFF(%ebx)
  98. testl %eax, %eax
  99. fldt _pi_02@GOTOFF(%ebx)
  100. fldt 8(%ebp)
  101. fsubrp %st, %st(2)
  102. faddp %st, %st(1)
  103. fstpt (%esp)
  104. je ..B1.15
  105. ..B1.14:
  106. fldcw 14(%esp)
  107. ..B1.15:
  108. fldt (%esp)
  109. addl $88, %esp
  110. popl %ebx
  111. popl %edi
  112. movl %ebp, %esp
  113. popl %ebp
  114. ret
  115. ..B1.16:
  116. movl %ecx, %eax
  117. andl $768, %eax
  118. cmpl $768, %eax
  119. je ..B1.79
  120. ..B1.17:
  121. orl $-64768, %ecx
  122. movw %cx, 12(%esp)
  123. ..B1.18:
  124. fldcw 12(%esp)
  125. ..B1.19:
  126. movl $1, %eax
  127. ..B1.20:
  128. fldt 8(%ebp)
  129. testl %eax, %eax
  130. fldt _P4@GOTOFF(%ebx)
  131. fmul %st(1), %st
  132. fmul %st(1), %st
  133. fmul %st(1), %st
  134. faddp %st, %st(1)
  135. fldt 12+_pi_02@GOTOFF(%ebx)
  136. fsubp %st, %st(1)
  137. fldt _pi_02@GOTOFF(%ebx)
  138. faddp %st, %st(1)
  139. fstpt (%esp)
  140. je ..B1.22
  141. ..B1.21:
  142. fldcw 14(%esp)
  143. ..B1.22:
  144. fldt (%esp)
  145. addl $88, %esp
  146. popl %ebx
  147. popl %edi
  148. movl %ebp, %esp
  149. popl %ebp
  150. ret
  151. ..B1.23:
  152. movl %ecx, %eax
  153. andl $768, %eax
  154. cmpl $768, %eax
  155. je ..B1.80
  156. ..B1.24:
  157. orl $-64768, %ecx
  158. movw %cx, 12(%esp)
  159. ..B1.25:
  160. fldcw 12(%esp)
  161. ..B1.26:
  162. movl $1, %eax
  163. ..B1.27:
  164. fldt 8(%ebp)
  165. testl %eax, %eax
  166. fld %st(0)
  167. fmul %st(1), %st
  168. fldt 12+_P3@GOTOFF(%ebx)
  169. fmul %st(1), %st
  170. fldt _P3@GOTOFF(%ebx)
  171. faddp %st, %st(1)
  172. fmulp %st, %st(1)
  173. fmul %st(1), %st
  174. faddp %st, %st(1)
  175. fldt 12+_pi_02@GOTOFF(%ebx)
  176. fsubp %st, %st(1)
  177. fldt _pi_02@GOTOFF(%ebx)
  178. faddp %st, %st(1)
  179. fstpt (%esp)
  180. je ..B1.29
  181. ..B1.28:
  182. fldcw 14(%esp)
  183. ..B1.29:
  184. fldt (%esp)
  185. addl $88, %esp
  186. popl %ebx
  187. popl %edi
  188. movl %ebp, %esp
  189. popl %ebp
  190. ret
  191. ..B1.30:
  192. movl %ecx, %eax
  193. andl $768, %eax
  194. cmpl $768, %eax
  195. je ..B1.81
  196. ..B1.31:
  197. orl $-64768, %ecx
  198. movw %cx, 12(%esp)
  199. ..B1.32:
  200. fldcw 12(%esp)
  201. ..B1.33:
  202. movl $1, %eax
  203. ..B1.34:
  204. fldt 8(%ebp)
  205. testl %eax, %eax
  206. fld %st(0)
  207. fmul %st(1), %st
  208. fld %st(0)
  209. fmul %st(1), %st
  210. fld %st(2)
  211. fld %st(3)
  212. fldl _TWO_32H@GOTOFF(%ebx)
  213. fmul %st(5), %st
  214. fadd %st, %st(2)
  215. fsubrp %st, %st(2)
  216. fsub %st(1), %st
  217. fldt 36+_P2@GOTOFF(%ebx)
  218. fmul %st(3), %st
  219. fldt 12+_P2@GOTOFF(%ebx)
  220. faddp %st, %st(1)
  221. fmul %st(3), %st
  222. fldt 24+_P2@GOTOFF(%ebx)
  223. fmulp %st, %st(4)
  224. fldt _P2@GOTOFF(%ebx)
  225. faddp %st, %st(4)
  226. fxch %st(4)
  227. fmulp %st, %st(3)
  228. fxch %st(2)
  229. faddp %st, %st(3)
  230. fxch %st(3)
  231. fmulp %st, %st(2)
  232. faddp %st, %st(1)
  233. fldt 12+_pi_02@GOTOFF(%ebx)
  234. fsubp %st, %st(1)
  235. fldt _pi_02@GOTOFF(%ebx)
  236. fsubp %st, %st(2)
  237. faddp %st, %st(1)
  238. fstpt (%esp)
  239. je ..B1.36
  240. ..B1.35:
  241. fldcw 14(%esp)
  242. ..B1.36:
  243. fldt (%esp)
  244. addl $88, %esp
  245. popl %ebx
  246. popl %edi
  247. movl %ebp, %esp
  248. popl %ebp
  249. ret
  250. ..B1.37:
  251. movl %ecx, %edx
  252. andl $768, %edx
  253. cmpl $768, %edx
  254. je ..B1.82
  255. ..B1.38:
  256. orl $-64768, %ecx
  257. movw %cx, 12(%esp)
  258. ..B1.39:
  259. fldcw 12(%esp)
  260. ..B1.40:
  261. movzwl 16(%ebp), %eax
  262. movl $1, %edx
  263. andl $32767, %eax
  264. ..B1.41:
  265. fldt 8(%ebp)
  266. cmpl $16381, %eax
  267. fld %st(0)
  268. fxch %st(1)
  269. fstpt (%esp)
  270. fldt (%esp)
  271. fldl _TWO_52H@GOTOFF(%ebx)
  272. fmul %st, %st(2)
  273. fstpt 32(%esp)
  274. fld %st(0)
  275. fadd %st(2), %st
  276. fsubp %st, %st(2)
  277. fld %st(1)
  278. fld %st(1)
  279. fsub %st(3), %st
  280. fmul %st, %st(1)
  281. fmul %st, %st(2)
  282. fxch %st(2)
  283. faddp %st, %st(1)
  284. fld %st(0)
  285. fld %st(3)
  286. fmul %st(4), %st
  287. fadd %st, %st(1)
  288. fxch %st(1)
  289. fstpt 48(%esp)
  290. fldt 48(%esp)
  291. fld %st(2)
  292. fmul %st(2), %st
  293. fxch %st(1)
  294. fmul %st(3), %st
  295. faddp %st, %st(1)
  296. fstpt 64(%esp)
  297. fldt 64(%esp)
  298. fld %st(1)
  299. fmul %st(2), %st
  300. fadd %st, %st(1)
  301. fxch %st(3)
  302. fstpt 16(%esp)
  303. jge ..B1.43
  304. ..B1.42:
  305. fstp %st(2)
  306. fldt 132+_P1@GOTOFF(%ebx)
  307. fmul %st(2), %st
  308. fldt 108+_P1@GOTOFF(%ebx)
  309. faddp %st, %st(1)
  310. fmul %st(2), %st
  311. fldt 84+_P1@GOTOFF(%ebx)
  312. faddp %st, %st(1)
  313. fmul %st(2), %st
  314. fldt 60+_P1@GOTOFF(%ebx)
  315. faddp %st, %st(1)
  316. fmul %st(2), %st
  317. fldt 36+_P1@GOTOFF(%ebx)
  318. faddp %st, %st(1)
  319. fmul %st(2), %st
  320. fldt 12+_P1@GOTOFF(%ebx)
  321. faddp %st, %st(1)
  322. fmul %st(2), %st
  323. fldt 72+_P1@GOTOFF(%ebx)
  324. fldt 120+_P1@GOTOFF(%ebx)
  325. fmul %st(4), %st
  326. fldt 96+_P1@GOTOFF(%ebx)
  327. faddp %st, %st(1)
  328. fmul %st(4), %st
  329. faddp %st, %st(1)
  330. fmul %st(3), %st
  331. fldt 48+_P1@GOTOFF(%ebx)
  332. faddp %st, %st(1)
  333. fmul %st(3), %st
  334. fldt 24+_P1@GOTOFF(%ebx)
  335. faddp %st, %st(1)
  336. fmulp %st, %st(3)
  337. fldt _P1@GOTOFF(%ebx)
  338. faddp %st, %st(3)
  339. fldt 48(%esp)
  340. fmulp %st, %st(3)
  341. faddp %st, %st(2)
  342. fldt 16(%esp)
  343. fldt 144+_P1@GOTOFF(%ebx)
  344. fmul %st, %st(1)
  345. fxch %st(1)
  346. faddp %st, %st(3)
  347. fmulp %st, %st(1)
  348. fxch %st(1)
  349. jmp ..B1.44
  350. ..B1.43:
  351. fldt 204+_P@GOTOFF(%ebx)
  352. fmul %st(1), %st
  353. fldt 180+_P@GOTOFF(%ebx)
  354. faddp %st, %st(1)
  355. fmul %st(1), %st
  356. fldt 156+_P@GOTOFF(%ebx)
  357. faddp %st, %st(1)
  358. fmul %st(1), %st
  359. fldt 132+_P@GOTOFF(%ebx)
  360. faddp %st, %st(1)
  361. fmul %st(1), %st
  362. fldt 108+_P@GOTOFF(%ebx)
  363. faddp %st, %st(1)
  364. fmul %st(1), %st
  365. fldt 84+_P@GOTOFF(%ebx)
  366. faddp %st, %st(1)
  367. fmul %st(1), %st
  368. fldt 60+_P@GOTOFF(%ebx)
  369. faddp %st, %st(1)
  370. fmul %st(1), %st
  371. fldt 36+_P@GOTOFF(%ebx)
  372. faddp %st, %st(1)
  373. fmul %st(1), %st
  374. fldt 12+_P@GOTOFF(%ebx)
  375. faddp %st, %st(1)
  376. fmul %st(1), %st
  377. fldt 192+_P@GOTOFF(%ebx)
  378. fmul %st(2), %st
  379. fldt 168+_P@GOTOFF(%ebx)
  380. faddp %st, %st(1)
  381. fmul %st(2), %st
  382. fldt 144+_P@GOTOFF(%ebx)
  383. faddp %st, %st(1)
  384. fmul %st(2), %st
  385. fldt 120+_P@GOTOFF(%ebx)
  386. faddp %st, %st(1)
  387. fmul %st(2), %st
  388. fldt 96+_P@GOTOFF(%ebx)
  389. faddp %st, %st(1)
  390. fmul %st(2), %st
  391. fldt 72+_P@GOTOFF(%ebx)
  392. faddp %st, %st(1)
  393. fmul %st(2), %st
  394. fldt 48+_P@GOTOFF(%ebx)
  395. faddp %st, %st(1)
  396. fmul %st(2), %st
  397. fldt 24+_P@GOTOFF(%ebx)
  398. faddp %st, %st(1)
  399. fmulp %st, %st(2)
  400. fldt _P@GOTOFF(%ebx)
  401. faddp %st, %st(2)
  402. fldt 48(%esp)
  403. fmulp %st, %st(2)
  404. faddp %st, %st(1)
  405. fldt 64(%esp)
  406. fldt 16(%esp)
  407. fldt 228+_P@GOTOFF(%ebx)
  408. fmul %st, %st(2)
  409. fxch %st(2)
  410. faddp %st, %st(3)
  411. fxch %st(1)
  412. fmulp %st, %st(4)
  413. fldt 216+_P@GOTOFF(%ebx)
  414. fmul %st, %st(3)
  415. fxch %st(3)
  416. faddp %st, %st(4)
  417. fld %st(3)
  418. fxch %st(3)
  419. fmulp %st, %st(1)
  420. faddp %st, %st(1)
  421. fldt 32(%esp)
  422. fmul %st(3), %st
  423. fadd %st, %st(2)
  424. fsubrp %st, %st(2)
  425. fxch %st(1)
  426. fsubr %st, %st(2)
  427. fxch %st(2)
  428. faddp %st, %st(1)
  429. ..B1.44:
  430. fldt (%esp)
  431. testl %edx, %edx
  432. fmulp %st, %st(1)
  433. fld %st(2)
  434. fmul %st(2), %st
  435. faddp %st, %st(1)
  436. faddp %st, %st(2)
  437. fmul %st(2), %st
  438. faddp %st, %st(2)
  439. fldt _pi_02@GOTOFF(%ebx)
  440. fld %st(0)
  441. fsubr %st(3), %st
  442. fchs
  443. fsub %st, %st(1)
  444. fxch %st(3)
  445. faddp %st, %st(1)
  446. fldt 12+_pi_02@GOTOFF(%ebx)
  447. fsubp %st, %st(2)
  448. fsubrp %st, %st(1)
  449. faddp %st, %st(1)
  450. fstpt 16(%esp)
  451. je ..B1.46
  452. ..B1.45:
  453. fldcw 14(%esp)
  454. ..B1.46:
  455. fldt 16(%esp)
  456. addl $88, %esp
  457. popl %ebx
  458. popl %edi
  459. movl %ebp, %esp
  460. popl %ebp
  461. ret
  462. ..B1.47:
  463. movl %ecx, %eax
  464. andl $768, %eax
  465. cmpl $768, %eax
  466. je ..B1.83
  467. ..B1.48:
  468. orl $-64768, %ecx
  469. movw %cx, 12(%esp)
  470. ..B1.49:
  471. fldcw 12(%esp)
  472. ..B1.50:
  473. movl $1, %ecx
  474. ..B1.51:
  475. fldt 8(%ebp)
  476. fmull _ones@GOTOFF(%ebx,%edx,8)
  477. fldt .L_2il0floatpacket.0@GOTOFF(%ebx)
  478. fldl _TWO_32H@GOTOFF(%ebx)
  479. fldl _TWO_52H@GOTOFF(%ebx)
  480. fstpt 16(%esp)
  481. fldt 16(%esp)
  482. fxch %st(3)
  483. fsubrl _ones@GOTOFF(%ebx)
  484. fmul %st(2), %st
  485. fmul %st, %st(1)
  486. fld %st(0)
  487. fadd %st(2), %st
  488. fsubp %st, %st(2)
  489. fld %st(1)
  490. fxch %st(1)
  491. fsub %st(2), %st
  492. fadd %st, %st(1)
  493. fxch %st(1)
  494. fsqrt
  495. fmul %st, %st(4)
  496. fld %st(4)
  497. fadd %st(1), %st
  498. fsubp %st, %st(5)
  499. fld %st(4)
  500. fmul %st(5), %st
  501. fsubr %st, %st(3)
  502. fld %st(5)
  503. fxch %st(2)
  504. fsub %st(6), %st
  505. fmul %st, %st(2)
  506. fxch %st(2)
  507. fsubrp %st, %st(4)
  508. fxch %st(2)
  509. faddp %st, %st(3)
  510. fld %st(4)
  511. fadd %st(1), %st
  512. fdivrp %st, %st(3)
  513. faddp %st, %st(2)
  514. fxch %st(1)
  515. fmulp %st, %st(2)
  516. fld %st(2)
  517. fadd %st(2), %st
  518. fld %st(0)
  519. fmul %st(3), %st
  520. fld %st(4)
  521. fmul %st(4), %st
  522. faddp %st, %st(1)
  523. fld %st(0)
  524. fadd %st(3), %st
  525. fstpt 48(%esp)
  526. fldt 48(%esp)
  527. fld %st(1)
  528. fmul %st(4), %st
  529. fxch %st(1)
  530. fmul %st(2), %st
  531. faddp %st, %st(1)
  532. fstpt 32(%esp)
  533. fldt 32(%esp)
  534. fxch %st(1)
  535. fstpt (%esp)
  536. fld %st(2)
  537. fmul %st(3), %st
  538. fadd %st, %st(1)
  539. fxch %st(2)
  540. fstpt 64(%esp)
  541. fldt 64(%esp)
  542. fstpt 8(%ebp)
  543. fldt 8(%ebp)
  544. fldt .L_2il0floatpacket.1@GOTOFF(%ebx)
  545. fcompp
  546. fnstsw %ax
  547. sahf
  548. jbe ..B1.53
  549. ..B1.52:
  550. fstp %st(1)
  551. fldt 132+_P1@GOTOFF(%ebx)
  552. fmul %st(1), %st
  553. fldt 108+_P1@GOTOFF(%ebx)
  554. faddp %st, %st(1)
  555. fmul %st(1), %st
  556. fldt 84+_P1@GOTOFF(%ebx)
  557. faddp %st, %st(1)
  558. fmul %st(1), %st
  559. fldt 60+_P1@GOTOFF(%ebx)
  560. faddp %st, %st(1)
  561. fmul %st(1), %st
  562. fldt 36+_P1@GOTOFF(%ebx)
  563. faddp %st, %st(1)
  564. fmul %st(1), %st
  565. fldt 12+_P1@GOTOFF(%ebx)
  566. faddp %st, %st(1)
  567. fmul %st(1), %st
  568. fldt 72+_P1@GOTOFF(%ebx)
  569. fldt 120+_P1@GOTOFF(%ebx)
  570. fmul %st(3), %st
  571. fldt 96+_P1@GOTOFF(%ebx)
  572. faddp %st, %st(1)
  573. fmul %st(3), %st
  574. faddp %st, %st(1)
  575. fmul %st(2), %st
  576. fldt 48+_P1@GOTOFF(%ebx)
  577. faddp %st, %st(1)
  578. fmul %st(2), %st
  579. fldt 24+_P1@GOTOFF(%ebx)
  580. faddp %st, %st(1)
  581. fmulp %st, %st(2)
  582. fldt _P1@GOTOFF(%ebx)
  583. faddp %st, %st(2)
  584. fldt 48(%esp)
  585. fmulp %st, %st(2)
  586. faddp %st, %st(1)
  587. fldt (%esp)
  588. fldt 144+_P1@GOTOFF(%ebx)
  589. fmul %st, %st(1)
  590. fxch %st(1)
  591. faddp %st, %st(2)
  592. fmulp %st, %st(2)
  593. fxch %st(1)
  594. jmp ..B1.54
  595. ..B1.53:
  596. fldt 204+_P@GOTOFF(%ebx)
  597. fmul %st(1), %st
  598. fldt 180+_P@GOTOFF(%ebx)
  599. faddp %st, %st(1)
  600. fmul %st(1), %st
  601. fldt 156+_P@GOTOFF(%ebx)
  602. faddp %st, %st(1)
  603. fmul %st(1), %st
  604. fldt 132+_P@GOTOFF(%ebx)
  605. faddp %st, %st(1)
  606. fmul %st(1), %st
  607. fldt 108+_P@GOTOFF(%ebx)
  608. faddp %st, %st(1)
  609. fmul %st(1), %st
  610. fldt 84+_P@GOTOFF(%ebx)
  611. faddp %st, %st(1)
  612. fmul %st(1), %st
  613. fldt 60+_P@GOTOFF(%ebx)
  614. faddp %st, %st(1)
  615. fmul %st(1), %st
  616. fldt 36+_P@GOTOFF(%ebx)
  617. faddp %st, %st(1)
  618. fmul %st(1), %st
  619. fldt 12+_P@GOTOFF(%ebx)
  620. faddp %st, %st(1)
  621. fmul %st(1), %st
  622. fldt 192+_P@GOTOFF(%ebx)
  623. fmul %st(2), %st
  624. fldt 168+_P@GOTOFF(%ebx)
  625. faddp %st, %st(1)
  626. fmul %st(2), %st
  627. fldt 144+_P@GOTOFF(%ebx)
  628. faddp %st, %st(1)
  629. fmul %st(2), %st
  630. fldt 120+_P@GOTOFF(%ebx)
  631. faddp %st, %st(1)
  632. fmul %st(2), %st
  633. fldt 96+_P@GOTOFF(%ebx)
  634. faddp %st, %st(1)
  635. fmul %st(2), %st
  636. fldt 72+_P@GOTOFF(%ebx)
  637. faddp %st, %st(1)
  638. fmul %st(2), %st
  639. fldt 48+_P@GOTOFF(%ebx)
  640. faddp %st, %st(1)
  641. fmul %st(2), %st
  642. fldt 24+_P@GOTOFF(%ebx)
  643. faddp %st, %st(1)
  644. fmulp %st, %st(2)
  645. fldt _P@GOTOFF(%ebx)
  646. faddp %st, %st(2)
  647. fldt 48(%esp)
  648. fmulp %st, %st(2)
  649. faddp %st, %st(1)
  650. fldt 32(%esp)
  651. fldt (%esp)
  652. fldt 228+_P@GOTOFF(%ebx)
  653. fmul %st, %st(2)
  654. fxch %st(2)
  655. faddp %st, %st(3)
  656. fxch %st(1)
  657. fmulp %st, %st(3)
  658. fldt 216+_P@GOTOFF(%ebx)
  659. fmul %st, %st(1)
  660. fxch %st(1)
  661. faddp %st, %st(2)
  662. fmulp %st, %st(3)
  663. fxch %st(2)
  664. faddp %st, %st(1)
  665. fld %st(0)
  666. fldt 16(%esp)
  667. fmul %st(2), %st
  668. fadd %st, %st(1)
  669. fsubrp %st, %st(1)
  670. fsubr %st, %st(1)
  671. fxch %st(1)
  672. faddp %st, %st(2)
  673. ..B1.54:
  674. fldt 64(%esp)
  675. testl %edx, %edx
  676. fmulp %st, %st(2)
  677. fld %st(2)
  678. fmul %st(1), %st
  679. faddp %st, %st(2)
  680. fxch %st(1)
  681. faddp %st, %st(2)
  682. fmul %st(2), %st
  683. fld %st(2)
  684. fadd %st(1), %st
  685. je ..B1.56
  686. ..B1.55:
  687. fstp %st(1)
  688. fstp %st(2)
  689. fldt .L_2il0floatpacket.2@GOTOFF(%ebx)
  690. fmul %st, %st(2)
  691. fmulp %st, %st(1)
  692. fldt _pi_00@GOTOFF(%ebx)
  693. fld %st(0)
  694. fadd %st(3), %st
  695. fsub %st, %st(1)
  696. fxch %st(1)
  697. fsubrp %st, %st(3)
  698. fldt 12+_pi_00@GOTOFF(%ebx)
  699. faddp %st, %st(2)
  700. fxch %st(2)
  701. faddp %st, %st(1)
  702. faddp %st, %st(1)
  703. fstpt (%esp)
  704. jmp ..B1.57
  705. ..B1.56:
  706. fldt .L_2il0floatpacket.3@GOTOFF(%ebx)
  707. fxch %st(1)
  708. fsub %st, %st(4)
  709. fxch %st(4)
  710. fsubrp %st, %st(2)
  711. fxch %st(1)
  712. faddp %st, %st(2)
  713. fxch %st(1)
  714. faddp %st, %st(2)
  715. fmulp %st, %st(1)
  716. fstpt (%esp)
  717. ..B1.57:
  718. testl %ecx, %ecx
  719. je ..B1.59
  720. ..B1.58:
  721. fldcw 14(%esp)
  722. ..B1.59:
  723. fldt (%esp)
  724. addl $88, %esp
  725. popl %ebx
  726. popl %edi
  727. movl %ebp, %esp
  728. popl %ebp
  729. ret
  730. ..B1.60:
  731. movl %ecx, %edi
  732. andl $768, %edi
  733. cmpl $768, %edi
  734. je ..B1.84
  735. ..B1.61:
  736. orl $-64768, %ecx
  737. movw %cx, 12(%esp)
  738. ..B1.62:
  739. fldcw 12(%esp)
  740. ..B1.63:
  741. movzwl 16(%ebp), %eax
  742. movl $1, %ecx
  743. andl $32767, %eax
  744. ..B1.64:
  745. cmpl $32767, %eax
  746. jne ..B1.68
  747. ..B1.65:
  748. cmpl $-2147483648, 12(%ebp)
  749. jne ..B1.67
  750. ..B1.66:
  751. cmpl $0, 8(%ebp)
  752. je ..B1.74
  753. ..B1.67:
  754. fldt 8(%ebp)
  755. fmull _ones@GOTOFF(%ebx)
  756. fstpt (%esp)
  757. jmp ..B1.75
  758. ..B1.68:
  759. cmpl $16383, %eax
  760. jne ..B1.74
  761. ..B1.69:
  762. cmpl $-2147483648, 12(%ebp)
  763. jne ..B1.74
  764. ..B1.70:
  765. cmpl $0, 8(%ebp)
  766. jne ..B1.74
  767. ..B1.71:
  768. testl %edx, %edx
  769. je ..B1.73
  770. ..B1.72:
  771. fldt _pi_0l@GOTOFF(%ebx)
  772. fldt _small_value_80@GOTOFF(%ebx)
  773. fsubrp %st, %st(1)
  774. fstpt (%esp)
  775. jmp ..B1.75
  776. ..B1.73:
  777. fldl _zeros@GOTOFF(%ebx)
  778. fstpt (%esp)
  779. jmp ..B1.75
  780. ..B1.74:
  781. fldl _infs@GOTOFF(%ebx)
  782. fmull _zeros@GOTOFF(%ebx)
  783. fstpt (%esp)
  784. ..B1.75:
  785. testl %ecx, %ecx
  786. je ..B1.77
  787. ..B1.76:
  788. fldcw 14(%esp)
  789. ..B1.77:
  790. fldt (%esp)
  791. addl $88, %esp
  792. popl %ebx
  793. popl %edi
  794. movl %ebp, %esp
  795. popl %ebp
  796. ret
  797. ..B1.78:
  798. xorl %eax, %eax
  799. jmp ..B1.13
  800. ..B1.79:
  801. xorl %eax, %eax
  802. jmp ..B1.20
  803. ..B1.80:
  804. xorl %eax, %eax
  805. jmp ..B1.27
  806. ..B1.81:
  807. xorl %eax, %eax
  808. jmp ..B1.34
  809. ..B1.82:
  810. xorl %edx, %edx
  811. jmp ..B1.41
  812. ..B1.83:
  813. xorl %ecx, %ecx
  814. jmp ..B1.51
  815. ..B1.84:
  816. xorl %ecx, %ecx
  817. jmp ..B1.64
  818. .align 16,0x90
  819. .type acosl,@function
  820. .size acosl,.-acosl
  821. .data
  822. # -- End acosl
  823. .section .rodata, "a"
  824. .align 16
  825. .align 16
  826. .L_2il0floatpacket.0:
  827. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xfe,0x3f,0x00,0x00
  828. .type .L_2il0floatpacket.0,@object
  829. .size .L_2il0floatpacket.0,12
  830. .space 4, 0x00 # pad
  831. .align 16
  832. .L_2il0floatpacket.1:
  833. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xfd,0x3f,0x00,0x00
  834. .type .L_2il0floatpacket.1,@object
  835. .size .L_2il0floatpacket.1,12
  836. .space 4, 0x00 # pad
  837. .align 16
  838. .L_2il0floatpacket.2:
  839. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0xc0,0x00,0x00
  840. .type .L_2il0floatpacket.2,@object
  841. .size .L_2il0floatpacket.2,12
  842. .space 4, 0x00 # pad
  843. .align 16
  844. .L_2il0floatpacket.3:
  845. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00
  846. .type .L_2il0floatpacket.3,@object
  847. .size .L_2il0floatpacket.3,12
  848. .align 4
  849. _TWO_32H:
  850. .long 0
  851. .long 1106771968
  852. .type _TWO_32H,@object
  853. .size _TWO_32H,8
  854. .align 4
  855. _TWO_52H:
  856. .long 0
  857. .long 1127743488
  858. .type _TWO_52H,@object
  859. .size _TWO_52H,8
  860. .align 4
  861. _ones:
  862. .long 0
  863. .long 1072693248
  864. .long 0
  865. .long 3220176896
  866. .type _ones,@object
  867. .size _ones,16
  868. .align 4
  869. _zeros:
  870. .long 0
  871. .long 0
  872. .long 0
  873. .long 2147483648
  874. .type _zeros,@object
  875. .size _zeros,16
  876. .align 4
  877. _infs:
  878. .long 0
  879. .long 2146435072
  880. .long 0
  881. .long 4293918720
  882. .type _infs,@object
  883. .size _infs,16
  884. .align 2
  885. _pi_02:
  886. .word 0
  887. .word 0
  888. .word 55970
  889. .word 51471
  890. .word 16383
  891. .word 0
  892. .word 35374
  893. .word 4889
  894. .word 2259
  895. .word 34211
  896. .word 16349
  897. .word 0
  898. .type _pi_02,@object
  899. .size _pi_02,24
  900. .align 2
  901. _P4:
  902. .word 43691
  903. .word 44938
  904. .word 43690
  905. .word 43690
  906. .word 16380
  907. .word 0
  908. .type _P4,@object
  909. .size _P4,12
  910. .align 2
  911. _P3:
  912. .word 36763
  913. .word 43690
  914. .word 43690
  915. .word 43690
  916. .word 16380
  917. .word 0
  918. .word 40704
  919. .word 58046
  920. .word 39460
  921. .word 39321
  922. .word 16379
  923. .word 0
  924. .type _P3,@object
  925. .size _P3,24
  926. .align 2
  927. _P2:
  928. .word 43688
  929. .word 43690
  930. .word 43690
  931. .word 43690
  932. .word 16380
  933. .word 0
  934. .word 20771
  935. .word 39331
  936. .word 39321
  937. .word 39321
  938. .word 16379
  939. .word 0
  940. .word 23807
  941. .word 53798
  942. .word 28073
  943. .word 46811
  944. .word 16378
  945. .word 0
  946. .word 35198
  947. .word 7516
  948. .word 54204
  949. .word 63722
  950. .word 16377
  951. .word 0
  952. .type _P2,@object
  953. .size _P2,48
  954. .align 2
  955. _P1:
  956. .word 43589
  957. .word 43690
  958. .word 43690
  959. .word 43690
  960. .word 16368
  961. .word 0
  962. .word 39364
  963. .word 39321
  964. .word 39321
  965. .word 39321
  966. .word 16379
  967. .word 0
  968. .word 17602
  969. .word 56173
  970. .word 28086
  971. .word 46811
  972. .word 16378
  973. .word 0
  974. .word 47501
  975. .word 58414
  976. .word 36408
  977. .word 63715
  978. .word 16377
  979. .word 0
  980. .word 27078
  981. .word 6583
  982. .word 53620
  983. .word 46917
  984. .word 16377
  985. .word 0
  986. .word 39781
  987. .word 21053
  988. .word 25224
  989. .word 36391
  990. .word 16377
  991. .word 0
  992. .word 46568
  993. .word 6235
  994. .word 50749
  995. .word 58572
  996. .word 16376
  997. .word 0
  998. .word 41318
  999. .word 51558
  1000. .word 37628
  1001. .word 48452
  1002. .word 16376
  1003. .word 0
  1004. .word 55026
  1005. .word 7893
  1006. .word 43866
  1007. .word 40925
  1008. .word 16376
  1009. .word 0
  1010. .word 43387
  1011. .word 19951
  1012. .word 2911
  1013. .word 35445
  1014. .word 16376
  1015. .word 0
  1016. .word 32572
  1017. .word 59281
  1018. .word 11243
  1019. .word 56666
  1020. .word 16375
  1021. .word 0
  1022. .word 49800
  1023. .word 50337
  1024. .word 42707
  1025. .word 39184
  1026. .word 16376
  1027. .word 0
  1028. .word 0
  1029. .word 0
  1030. .word 0
  1031. .word 43680
  1032. .word 16380
  1033. .word 0
  1034. .type _P1,@object
  1035. .size _P1,156
  1036. .align 2
  1037. _P:
  1038. .word 42691
  1039. .word 43690
  1040. .word 43690
  1041. .word 43690
  1042. .word 16368
  1043. .word 0
  1044. .word 4317
  1045. .word 52400
  1046. .word 52428
  1047. .word 52428
  1048. .word 49134
  1049. .word 0
  1050. .word 26206
  1051. .word 56172
  1052. .word 28086
  1053. .word 46811
  1054. .word 16378
  1055. .word 0
  1056. .word 36130
  1057. .word 58514
  1058. .word 36408
  1059. .word 63715
  1060. .word 16377
  1061. .word 0
  1062. .word 21592
  1063. .word 8113
  1064. .word 53620
  1065. .word 46917
  1066. .word 16377
  1067. .word 0
  1068. .word 3093
  1069. .word 49950
  1070. .word 25215
  1071. .word 36391
  1072. .word 16377
  1073. .word 0
  1074. .word 21499
  1075. .word 24428
  1076. .word 51889
  1077. .word 58572
  1078. .word 16376
  1079. .word 0
  1080. .word 54828
  1081. .word 41264
  1082. .word 61120
  1083. .word 48451
  1084. .word 16376
  1085. .word 0
  1086. .word 10243
  1087. .word 1489
  1088. .word 39717
  1089. .word 40940
  1090. .word 16376
  1091. .word 0
  1092. .word 51433
  1093. .word 46039
  1094. .word 63564
  1095. .word 35220
  1096. .word 16376
  1097. .word 0
  1098. .word 60402
  1099. .word 39286
  1100. .word 25675
  1101. .word 60826
  1102. .word 16375
  1103. .word 0
  1104. .word 34219
  1105. .word 36833
  1106. .word 44839
  1107. .word 57547
  1108. .word 16375
  1109. .word 0
  1110. .word 13013
  1111. .word 26091
  1112. .word 19721
  1113. .word 60832
  1114. .word 16374
  1115. .word 0
  1116. .word 22353
  1117. .word 41544
  1118. .word 55443
  1119. .word 55735
  1120. .word 16376
  1121. .word 0
  1122. .word 14948
  1123. .word 7038
  1124. .word 38091
  1125. .word 38339
  1126. .word 49145
  1127. .word 0
  1128. .word 61727
  1129. .word 61480
  1130. .word 15906
  1131. .word 51927
  1132. .word 16378
  1133. .word 0
  1134. .word 13386
  1135. .word 23084
  1136. .word 64443
  1137. .word 55906
  1138. .word 49146
  1139. .word 0
  1140. .word 17499
  1141. .word 23573
  1142. .word 43947
  1143. .word 42761
  1144. .word 16378
  1145. .word 0
  1146. .word 0
  1147. .word 0
  1148. .word 0
  1149. .word 43680
  1150. .word 16380
  1151. .word 0
  1152. .word 0
  1153. .word 0
  1154. .word 0
  1155. .word 39328
  1156. .word 16379
  1157. .word 0
  1158. .type _P,@object
  1159. .size _P,240
  1160. .align 2
  1161. _pi_00:
  1162. .word 0
  1163. .word 0
  1164. .word 55970
  1165. .word 51471
  1166. .word 16384
  1167. .word 0
  1168. .word 35374
  1169. .word 4889
  1170. .word 2259
  1171. .word 34211
  1172. .word 16350
  1173. .word 0
  1174. .type _pi_00,@object
  1175. .size _pi_00,24
  1176. .align 2
  1177. _pi_0l:
  1178. .word 49717
  1179. .word 8552
  1180. .word 55970
  1181. .word 51471
  1182. .word 16384
  1183. .word 0
  1184. .word 49717
  1185. .word 8552
  1186. .word 55970
  1187. .word 51471
  1188. .word 49152
  1189. .word 0
  1190. .type _pi_0l,@object
  1191. .size _pi_0l,24
  1192. .align 2
  1193. _small_value_80:
  1194. .word 0
  1195. .word 0
  1196. .word 0
  1197. .word 32768
  1198. .word 6383
  1199. .word 0
  1200. .word 0
  1201. .word 0
  1202. .word 0
  1203. .word 32768
  1204. .word 39151
  1205. .word 0
  1206. .type _small_value_80,@object
  1207. .size _small_value_80,24
  1208. .data
  1209. .section .note.GNU-stack, ""
  1210. # End