clog_gen.S 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756
  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 "clog_gen.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin __libm_internal_clog
  41. .text
  42. .align 16,0x90
  43. .hidden __libm_internal_clog
  44. .globl __libm_internal_clog
  45. __libm_internal_clog:
  46. # parameter 1: 12 + %ebp
  47. ..B1.1:
  48. ..L1:
  49. pushl %ebp
  50. movl %esp, %ebp
  51. andl $-64, %esp
  52. pushl %esi
  53. pushl %edi
  54. pushl %ebx
  55. subl $180, %esp
  56. fldz
  57. movl %gs:20, %edx
  58. movl 8(%ebp), %esi
  59. xorl %esp, %edx
  60. movl %edx, 168(%esp)
  61. fstl 152(%esp)
  62. fstpl 160(%esp)
  63. ..B1.2:
  64. fnstcw 134(%esp)
  65. ..B1.3:
  66. movzwl 18(%ebp), %ecx
  67. andl $32752, %ecx
  68. movzwl 26(%ebp), %edx
  69. andl $32752, %edx
  70. shrl $4, %ecx
  71. shrl $4, %edx
  72. call ..L2
  73. ..L2:
  74. popl %ebx
  75. lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%ebx), %ebx
  76. cmpl $2047, %ecx
  77. jge ..B1.21
  78. ..B1.4:
  79. cmpl $2047, %edx
  80. jge ..B1.48
  81. ..B1.5:
  82. movzwl 134(%esp), %ecx
  83. movl %ecx, %edx
  84. andl $768, %edx
  85. cmpl $768, %edx
  86. je ..B1.26
  87. ..B1.6:
  88. orl $-64768, %ecx
  89. movw %cx, 132(%esp)
  90. ..B1.7:
  91. fldcw 132(%esp)
  92. ..B1.8:
  93. movl $1, %edi
  94. ..B1.9:
  95. fldl 12(%ebp)
  96. fabs
  97. fldl 20(%ebp)
  98. fabs
  99. fcom %st(1)
  100. fnstsw %ax
  101. sahf
  102. jae ..B1.11
  103. jp ..B1.11
  104. ..B1.10:
  105. fld %st(1)
  106. jmp ..B1.12
  107. ..B1.11:
  108. fld %st(0)
  109. ..B1.12:
  110. fxch %st(1)
  111. fcom %st(2)
  112. fnstsw %ax
  113. sahf
  114. jbe ..B1.14
  115. ..B1.13:
  116. fstp %st(0)
  117. jmp ..B1.15
  118. ..B1.14:
  119. fstp %st(2)
  120. ..B1.15:
  121. fld %st(0)
  122. fmul %st(1), %st
  123. fld %st(0)
  124. fld %st(3)
  125. fmul %st(4), %st
  126. fadd %st, %st(1)
  127. fld1
  128. fsubr %st(2), %st
  129. fabs
  130. fcompl .L_2il0floatpacket.6@GOTOFF(%ebx)
  131. fnstsw %ax
  132. sahf
  133. jbe ..B1.17
  134. ..B1.16:
  135. fstp %st(3)
  136. fstp %st(2)
  137. fstp %st(2)
  138. fstp %st(1)
  139. addl $-16, %esp
  140. fstpt (%esp)
  141. call logl@PLT
  142. ..B1.44:
  143. fldt .L_2il0floatpacket.7@GOTOFF(%ebx)
  144. addl $16, %esp
  145. fmulp %st, %st(1)
  146. fstpl 152(%esp)
  147. jmp ..B1.18
  148. ..B1.17:
  149. fstp %st(1)
  150. fxch %st(3)
  151. fstpt 136(%esp)
  152. fstpt (%esp)
  153. fld %st(0)
  154. fldt .L_2il0floatpacket.8@GOTOFF(%ebx)
  155. fmulp %st, %st(1)
  156. fstpt 12(%esp)
  157. fldt 12(%esp)
  158. fldt 12(%esp)
  159. fsub %st(2), %st
  160. fsubrp %st, %st(1)
  161. fstpt 24(%esp)
  162. fldt 24(%esp)
  163. fsubrp %st, %st(1)
  164. fstpt 36(%esp)
  165. fldt 24(%esp)
  166. fldt 24(%esp)
  167. fmulp %st, %st(1)
  168. fldt (%esp)
  169. fsubrp %st, %st(1)
  170. fldt 36(%esp)
  171. fldt 24(%esp)
  172. fldt 36(%esp)
  173. fldt 36(%esp)
  174. fmulp %st, %st(1)
  175. fldt 136(%esp)
  176. fldt .L_2il0floatpacket.9@GOTOFF(%ebx)
  177. fmul %st, %st(4)
  178. fxch %st(3)
  179. fmulp %st, %st(4)
  180. fxch %st(3)
  181. faddp %st, %st(4)
  182. faddp %st, %st(3)
  183. fxch %st(2)
  184. fstpt 48(%esp)
  185. fxch %st(2)
  186. fstpt 60(%esp)
  187. fldt .L_2il0floatpacket.8@GOTOFF(%ebx)
  188. fmul %st(2), %st
  189. fstpt 12(%esp)
  190. fldt 12(%esp)
  191. fldt 12(%esp)
  192. fsub %st(3), %st
  193. fsubrp %st, %st(1)
  194. fstpt 72(%esp)
  195. fldt 72(%esp)
  196. fsubrp %st, %st(2)
  197. fxch %st(1)
  198. fstpt 84(%esp)
  199. fldt 72(%esp)
  200. fldt 72(%esp)
  201. fmulp %st, %st(1)
  202. fldt 60(%esp)
  203. fsubrp %st, %st(1)
  204. fldt 84(%esp)
  205. fmulp %st, %st(2)
  206. fldt 72(%esp)
  207. fmulp %st, %st(2)
  208. faddp %st, %st(1)
  209. fldt 84(%esp)
  210. fldt 84(%esp)
  211. fmulp %st, %st(1)
  212. faddp %st, %st(1)
  213. fstpt 96(%esp)
  214. fldt (%esp)
  215. fldt 60(%esp)
  216. faddp %st, %st(1)
  217. fstpt 108(%esp)
  218. fldt 108(%esp)
  219. fldt (%esp)
  220. fsubrp %st, %st(1)
  221. fstpt 120(%esp)
  222. fldt (%esp)
  223. fldt 108(%esp)
  224. fldt 120(%esp)
  225. fsubrp %st, %st(1)
  226. fsubrp %st, %st(1)
  227. fldt 60(%esp)
  228. fldt 120(%esp)
  229. fsubrp %st, %st(1)
  230. faddp %st, %st(1)
  231. fstpt 120(%esp)
  232. fldt 108(%esp)
  233. fldt .L_2il0floatpacket.10@GOTOFF(%ebx)
  234. fsubrp %st, %st(1)
  235. fstpt 108(%esp)
  236. fldt 108(%esp)
  237. fldt 120(%esp)
  238. fldt 48(%esp)
  239. faddp %st, %st(1)
  240. fldt 96(%esp)
  241. addl $-16, %esp
  242. faddp %st, %st(1)
  243. faddp %st, %st(1)
  244. fstpt (%esp)
  245. call log1pl@PLT
  246. ..B1.45:
  247. fldt .L_2il0floatpacket.7@GOTOFF(%ebx)
  248. addl $16, %esp
  249. fmulp %st, %st(1)
  250. fstpl 152(%esp)
  251. ..B1.18:
  252. testl %edi, %edi
  253. je ..B1.20
  254. ..B1.19:
  255. fldcw 134(%esp)
  256. ..B1.20:
  257. fldl 20(%ebp)
  258. addl $-16, %esp
  259. fldl 12(%ebp)
  260. fstpl 8(%esp)
  261. fstpl (%esp)
  262. call atan2@PLT
  263. jmp ..B1.47
  264. ..B1.21:
  265. je ..B1.35
  266. ..B1.22:
  267. cmpl $2047, %edx
  268. je ..B1.28
  269. ..B1.23:
  270. fldl _DBL_PINF@GOTOFF(%ebx)
  271. fstpl 152(%esp)
  272. addl $-16, %esp
  273. fldl 20(%ebp)
  274. fldl 12(%ebp)
  275. fstpl 8(%esp)
  276. fstpl (%esp)
  277. call atan2@PLT
  278. ..B1.47:
  279. addl $16, %esp
  280. fstpl 160(%esp)
  281. ..B1.24:
  282. movl 152(%esp), %edx
  283. movl %edx, (%esi)
  284. movl 156(%esp), %ecx
  285. movl 160(%esp), %edi
  286. movl 164(%esp), %edx
  287. movl %ecx, 4(%esi)
  288. movl %edi, 8(%esi)
  289. movl %edx, 12(%esi)
  290. movl 168(%esp), %edx
  291. xorl %esp, %edx
  292. cmpl %gs:20, %edx
  293. jne ..B1.27
  294. ..B1.25:
  295. movl %esi, %eax
  296. addl $180, %esp
  297. popl %ebx
  298. popl %edi
  299. popl %esi
  300. movl %ebp, %esp
  301. popl %ebp
  302. ret $4
  303. ..B1.26:
  304. xorl %edi, %edi
  305. jmp ..B1.9
  306. ..B1.27:
  307. call __stack_chk_fail@PLT
  308. ..B1.28:
  309. testl $1048575, 24(%ebp)
  310. jne ..B1.30
  311. ..B1.29:
  312. cmpl $0, 20(%ebp)
  313. je ..B1.23
  314. ..B1.30:
  315. fldl 20(%ebp)
  316. cmpl $2047, %ecx
  317. fmul %st(0), %st
  318. fstl 160(%esp)
  319. je ..B1.32
  320. ..B1.31:
  321. fstpl 152(%esp)
  322. jmp ..B1.24
  323. ..B1.32:
  324. testl $1048575, 16(%ebp)
  325. jne ..B1.31
  326. ..B1.33:
  327. cmpl $0, 12(%ebp)
  328. jne ..B1.31
  329. ..B1.34:
  330. fstp %st(0)
  331. fldl 12(%ebp)
  332. fmul %st(0), %st
  333. fstpl 152(%esp)
  334. jmp ..B1.24
  335. ..B1.35:
  336. testl $1048575, 16(%ebp)
  337. jne ..B1.37
  338. ..B1.36:
  339. cmpl $0, 12(%ebp)
  340. je ..B1.22
  341. ..B1.37:
  342. fldl 12(%ebp)
  343. cmpl $2047, %edx
  344. fld %st(0)
  345. fmul %st(1), %st
  346. fstpl 160(%esp)
  347. je ..B1.39
  348. ..B1.38:
  349. fldl 20(%ebp)
  350. fmulp %st, %st(1)
  351. fstpl 152(%esp)
  352. jmp ..B1.24
  353. ..B1.39:
  354. testl $1048575, 24(%ebp)
  355. jne ..B1.38
  356. ..B1.40:
  357. cmpl $0, 20(%ebp)
  358. jne ..B1.38
  359. ..B1.41:
  360. fstp %st(0)
  361. fldl 20(%ebp)
  362. fmul %st(0), %st
  363. fstpl 152(%esp)
  364. jmp ..B1.24
  365. ..B1.48:
  366. cmpl $2047, %ecx
  367. je ..B1.35
  368. jmp ..B1.22
  369. .align 16,0x90
  370. .type __libm_internal_clog,@function
  371. .size __libm_internal_clog,.-__libm_internal_clog
  372. .data
  373. # -- End __libm_internal_clog
  374. .text
  375. # -- Begin clog
  376. .text
  377. .align 16,0x90
  378. .globl clog
  379. clog:
  380. # parameter 1: 12 + %ebp
  381. ..B2.1:
  382. ..L3:
  383. pushl %ebp
  384. movl %esp, %ebp
  385. andl $-64, %esp
  386. pushl %esi
  387. pushl %edi
  388. pushl %ebx
  389. subl $244, %esp
  390. fldz
  391. fldl 12(%ebp)
  392. fldl 20(%ebp)
  393. movl %gs:20, %eax
  394. xorl %esp, %eax
  395. movl %eax, 184(%esp)
  396. fstpl 176(%esp)
  397. fstpl 168(%esp)
  398. fstl 152(%esp)
  399. fstpl 160(%esp)
  400. ..B2.2:
  401. fnstcw 134(%esp)
  402. ..B2.3:
  403. movzwl 174(%esp), %edx
  404. andl $32752, %edx
  405. movzwl 182(%esp), %eax
  406. andl $32752, %eax
  407. shrl $4, %edx
  408. shrl $4, %eax
  409. call ..L4
  410. ..L4:
  411. popl %ebx
  412. lea _GLOBAL_OFFSET_TABLE_+[. - ..L4](%ebx), %ebx
  413. cmpl $2047, %edx
  414. jge ..B2.21
  415. ..B2.4:
  416. cmpl $2047, %eax
  417. jge ..B2.48
  418. ..B2.5:
  419. movzwl 134(%esp), %edx
  420. movl %edx, %eax
  421. andl $768, %eax
  422. cmpl $768, %eax
  423. je ..B2.26
  424. ..B2.6:
  425. orl $-64768, %edx
  426. movw %dx, 132(%esp)
  427. ..B2.7:
  428. fldcw 132(%esp)
  429. ..B2.8:
  430. movl $1, %esi
  431. ..B2.9:
  432. fldl 168(%esp)
  433. fabs
  434. fldl 176(%esp)
  435. fabs
  436. fcom %st(1)
  437. fnstsw %ax
  438. sahf
  439. jae ..B2.11
  440. jp ..B2.11
  441. ..B2.10:
  442. fld %st(1)
  443. jmp ..B2.12
  444. ..B2.11:
  445. fld %st(0)
  446. ..B2.12:
  447. fxch %st(1)
  448. fcom %st(2)
  449. fnstsw %ax
  450. sahf
  451. jbe ..B2.14
  452. ..B2.13:
  453. fstp %st(0)
  454. jmp ..B2.15
  455. ..B2.14:
  456. fstp %st(2)
  457. ..B2.15:
  458. fld %st(0)
  459. fmul %st(1), %st
  460. fld %st(0)
  461. fld %st(3)
  462. fmul %st(4), %st
  463. fadd %st, %st(1)
  464. fld1
  465. fsubr %st(2), %st
  466. fabs
  467. fcompl .L_2il0floatpacket.6@GOTOFF(%ebx)
  468. fnstsw %ax
  469. sahf
  470. jbe ..B2.17
  471. ..B2.16:
  472. fstp %st(3)
  473. fstp %st(2)
  474. fstp %st(2)
  475. fstp %st(1)
  476. addl $-16, %esp
  477. fstpt (%esp)
  478. call logl@PLT
  479. ..B2.44:
  480. fldt .L_2il0floatpacket.7@GOTOFF(%ebx)
  481. addl $16, %esp
  482. fmulp %st, %st(1)
  483. fstpl 152(%esp)
  484. jmp ..B2.18
  485. ..B2.17:
  486. fstp %st(1)
  487. fxch %st(3)
  488. fstpt 136(%esp)
  489. fstpt (%esp)
  490. fld %st(0)
  491. fldt .L_2il0floatpacket.8@GOTOFF(%ebx)
  492. fmulp %st, %st(1)
  493. fstpt 12(%esp)
  494. fldt 12(%esp)
  495. fldt 12(%esp)
  496. fsub %st(2), %st
  497. fsubrp %st, %st(1)
  498. fstpt 24(%esp)
  499. fldt 24(%esp)
  500. fsubrp %st, %st(1)
  501. fstpt 36(%esp)
  502. fldt 24(%esp)
  503. fldt 24(%esp)
  504. fmulp %st, %st(1)
  505. fldt (%esp)
  506. fsubrp %st, %st(1)
  507. fldt 36(%esp)
  508. fldt 24(%esp)
  509. fldt 36(%esp)
  510. fldt 36(%esp)
  511. fmulp %st, %st(1)
  512. fldt 136(%esp)
  513. fldt .L_2il0floatpacket.9@GOTOFF(%ebx)
  514. fmul %st, %st(4)
  515. fxch %st(3)
  516. fmulp %st, %st(4)
  517. fxch %st(3)
  518. faddp %st, %st(4)
  519. faddp %st, %st(3)
  520. fxch %st(2)
  521. fstpt 48(%esp)
  522. fxch %st(2)
  523. fstpt 60(%esp)
  524. fldt .L_2il0floatpacket.8@GOTOFF(%ebx)
  525. fmul %st(2), %st
  526. fstpt 12(%esp)
  527. fldt 12(%esp)
  528. fldt 12(%esp)
  529. fsub %st(3), %st
  530. fsubrp %st, %st(1)
  531. fstpt 72(%esp)
  532. fldt 72(%esp)
  533. fsubrp %st, %st(2)
  534. fxch %st(1)
  535. fstpt 84(%esp)
  536. fldt 72(%esp)
  537. fldt 72(%esp)
  538. fmulp %st, %st(1)
  539. fldt 60(%esp)
  540. fsubrp %st, %st(1)
  541. fldt 84(%esp)
  542. fmulp %st, %st(2)
  543. fldt 72(%esp)
  544. fmulp %st, %st(2)
  545. faddp %st, %st(1)
  546. fldt 84(%esp)
  547. fldt 84(%esp)
  548. fmulp %st, %st(1)
  549. faddp %st, %st(1)
  550. fstpt 96(%esp)
  551. fldt (%esp)
  552. fldt 60(%esp)
  553. faddp %st, %st(1)
  554. fstpt 108(%esp)
  555. fldt 108(%esp)
  556. fldt (%esp)
  557. fsubrp %st, %st(1)
  558. fstpt 120(%esp)
  559. fldt (%esp)
  560. fldt 108(%esp)
  561. fldt 120(%esp)
  562. fsubrp %st, %st(1)
  563. fsubrp %st, %st(1)
  564. fldt 60(%esp)
  565. fldt 120(%esp)
  566. fsubrp %st, %st(1)
  567. faddp %st, %st(1)
  568. fstpt 120(%esp)
  569. fldt 108(%esp)
  570. fldt .L_2il0floatpacket.10@GOTOFF(%ebx)
  571. fsubrp %st, %st(1)
  572. fstpt 108(%esp)
  573. fldt 108(%esp)
  574. fldt 120(%esp)
  575. fldt 48(%esp)
  576. faddp %st, %st(1)
  577. fldt 96(%esp)
  578. addl $-16, %esp
  579. faddp %st, %st(1)
  580. faddp %st, %st(1)
  581. fstpt (%esp)
  582. call log1pl@PLT
  583. ..B2.45:
  584. fldt .L_2il0floatpacket.7@GOTOFF(%ebx)
  585. addl $16, %esp
  586. fmulp %st, %st(1)
  587. fstpl 152(%esp)
  588. ..B2.18:
  589. testl %esi, %esi
  590. je ..B2.20
  591. ..B2.19:
  592. fldcw 134(%esp)
  593. ..B2.20:
  594. fldl 176(%esp)
  595. fldl 168(%esp)
  596. addl $-16, %esp
  597. fstpl 8(%esp)
  598. fstpl (%esp)
  599. call atan2@PLT
  600. jmp ..B2.47
  601. ..B2.21:
  602. je ..B2.35
  603. ..B2.22:
  604. cmpl $2047, %eax
  605. je ..B2.28
  606. ..B2.23:
  607. fldl _DBL_PINF@GOTOFF(%ebx)
  608. fstpl 152(%esp)
  609. fldl 176(%esp)
  610. fldl 168(%esp)
  611. addl $-16, %esp
  612. fstpl 8(%esp)
  613. fstpl (%esp)
  614. call atan2@PLT
  615. ..B2.47:
  616. addl $16, %esp
  617. fstpl 160(%esp)
  618. ..B2.24:
  619. fldl 152(%esp)
  620. movl 8(%ebp), %eax
  621. movl 156(%esp), %ecx
  622. movl 152(%esp), %edx
  623. movl 164(%esp), %edi
  624. movl 160(%esp), %esi
  625. fstp %st(0)
  626. fldl 160(%esp)
  627. fstp %st(0)
  628. movl %edx, (%eax)
  629. movl %ecx, 4(%eax)
  630. movl %esi, 8(%eax)
  631. movl %edi, 12(%eax)
  632. movl 184(%esp), %edx
  633. xorl %esp, %edx
  634. cmpl %gs:20, %edx
  635. jne ..B2.27
  636. ..B2.25:
  637. addl $244, %esp
  638. popl %ebx
  639. popl %edi
  640. popl %esi
  641. movl %ebp, %esp
  642. popl %ebp
  643. ret $4
  644. ..B2.26:
  645. xorl %esi, %esi
  646. jmp ..B2.9
  647. ..B2.27:
  648. call __stack_chk_fail@PLT
  649. ..B2.28:
  650. testl $1048575, 180(%esp)
  651. jne ..B2.30
  652. ..B2.29:
  653. cmpl $0, 176(%esp)
  654. je ..B2.23
  655. ..B2.30:
  656. fldl 176(%esp)
  657. cmpl $2047, %edx
  658. fmul %st(0), %st
  659. fstl 160(%esp)
  660. je ..B2.32
  661. ..B2.31:
  662. fstpl 152(%esp)
  663. jmp ..B2.24
  664. ..B2.32:
  665. testl $1048575, 172(%esp)
  666. jne ..B2.31
  667. ..B2.33:
  668. cmpl $0, 168(%esp)
  669. jne ..B2.31
  670. ..B2.34:
  671. fstp %st(0)
  672. fldl 168(%esp)
  673. fmul %st(0), %st
  674. fstpl 152(%esp)
  675. jmp ..B2.24
  676. ..B2.35:
  677. testl $1048575, 172(%esp)
  678. jne ..B2.37
  679. ..B2.36:
  680. cmpl $0, 168(%esp)
  681. je ..B2.22
  682. ..B2.37:
  683. fldl 168(%esp)
  684. cmpl $2047, %eax
  685. fld %st(0)
  686. fmul %st(1), %st
  687. fstpl 160(%esp)
  688. je ..B2.39
  689. ..B2.38:
  690. fldl 176(%esp)
  691. fmulp %st, %st(1)
  692. fstpl 152(%esp)
  693. jmp ..B2.24
  694. ..B2.39:
  695. testl $1048575, 180(%esp)
  696. jne ..B2.38
  697. ..B2.40:
  698. cmpl $0, 176(%esp)
  699. jne ..B2.38
  700. ..B2.41:
  701. fstp %st(0)
  702. fldl 176(%esp)
  703. fmul %st(0), %st
  704. fstpl 152(%esp)
  705. jmp ..B2.24
  706. ..B2.48:
  707. cmpl $2047, %edx
  708. je ..B2.35
  709. jmp ..B2.22
  710. .align 16,0x90
  711. .type clog,@function
  712. .size clog,.-clog
  713. .data
  714. # -- End clog
  715. .section .rodata, "a"
  716. .align 16
  717. .align 16
  718. .L_2il0floatpacket.7:
  719. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xfe,0x3f,0x00,0x00
  720. .type .L_2il0floatpacket.7,@object
  721. .size .L_2il0floatpacket.7,12
  722. .space 4, 0x00 # pad
  723. .align 16
  724. .L_2il0floatpacket.8:
  725. .byte 0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x80,0x20,0x40,0x00,0x00
  726. .type .L_2il0floatpacket.8,@object
  727. .size .L_2il0floatpacket.8,12
  728. .space 4, 0x00 # pad
  729. .align 16
  730. .L_2il0floatpacket.9:
  731. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00
  732. .type .L_2il0floatpacket.9,@object
  733. .size .L_2il0floatpacket.9,12
  734. .space 4, 0x00 # pad
  735. .align 16
  736. .L_2il0floatpacket.10:
  737. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x3f,0x00,0x00
  738. .type .L_2il0floatpacket.10,@object
  739. .size .L_2il0floatpacket.10,12
  740. .space 4, 0x00 # pad
  741. .align 16
  742. _DBL_PINF:
  743. .long 0
  744. .long 2146435072
  745. .type _DBL_PINF,@object
  746. .size _DBL_PINF,8
  747. .align 8
  748. .L_2il0floatpacket.6:
  749. .long 0xeb851eb8,0x3f9eb851
  750. .type .L_2il0floatpacket.6,@object
  751. .size .L_2il0floatpacket.6,8
  752. .data
  753. .section .note.GNU-stack, ""
  754. # End