log1pl.S 21 KB

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