clog10l.S 25 KB

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