libm_logl_k80.S 22 KB

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