logf_wmt.S 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742
  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 "logf_wmt.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin static_func
  41. .text
  42. .align 16,0x90
  43. static_func:
  44. ..B1.1:
  45. ..L1:
  46. call ..L2
  47. ..L2:
  48. popl %eax
  49. lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%eax), %eax
  50. lea static_const_table@GOTOFF(%eax), %eax
  51. ret
  52. .align 16,0x90
  53. .type static_func,@function
  54. .size static_func,.-static_func
  55. .data
  56. # -- End static_func
  57. .text
  58. # -- Begin logf
  59. .text
  60. .align 16,0x90
  61. .globl logf
  62. logf:
  63. # parameter 1: 8 + %ebp
  64. ..B2.1:
  65. ..L3:
  66. ..B2.2:
  67. pushl %ebp
  68. movl %esp, %ebp
  69. subl $104, %esp
  70. movl %ebx, 40(%esp)
  71. call static_func
  72. movl %eax, %ebx
  73. movss 112(%esp), %xmm0
  74. movl $16384, %ecx
  75. movd %ecx, %xmm4
  76. movl $-32768, %eax
  77. movd %eax, %xmm2
  78. xorpd %xmm3, %xmm3
  79. movl $16368, %edx
  80. pinsrw $3, %edx, %xmm3
  81. xorpd %xmm5, %xmm5
  82. .L_2TAG_PACKET_0.0.3:
  83. movd %xmm0, %edx
  84. rcpss %xmm0, %xmm1
  85. movsd 2080(%ebx), %xmm7
  86. pshuflw $68, %xmm0, %xmm0
  87. paddd %xmm4, %xmm1
  88. subl $8388608, %edx
  89. cmpl $2113929216, %edx
  90. jae .L_2TAG_PACKET_1.0.3
  91. andps %xmm1, %xmm2
  92. cvtps2pd %xmm0, %xmm0
  93. cvtps2pd %xmm2, %xmm1
  94. movd %xmm2, %eax
  95. andl $-8388608, %edx
  96. subl $1056964608, %edx
  97. cvtsi2sdl %edx, %xmm6
  98. mulsd %xmm1, %xmm0
  99. subl $1056964608, %edx
  100. addl %edx, %eax
  101. shrl $12, %eax
  102. movsd (%ebx,%eax), %xmm4
  103. subsd %xmm3, %xmm0
  104. movsd 2088(%ebx), %xmm2
  105. movsd 2096(%ebx), %xmm1
  106. mulsd %xmm0, %xmm7
  107. addsd %xmm0, %xmm5
  108. mulsd %xmm0, %xmm0
  109. mulsd %xmm2, %xmm6
  110. addsd %xmm7, %xmm1
  111. addsd %xmm4, %xmm5
  112. mulsd %xmm1, %xmm0
  113. addsd %xmm6, %xmm5
  114. addsd %xmm0, %xmm5
  115. cvtpd2ps %xmm5, %xmm0
  116. jmp .L_2TAG_PACKET_2.0.3
  117. .L_2TAG_PACKET_1.0.3:
  118. addl $8388608, %edx
  119. js .L_2TAG_PACKET_3.0.3
  120. cmpl $8388608, %edx
  121. jb .L_2TAG_PACKET_4.0.3
  122. cmpl $2139095040, %edx
  123. jae .L_2TAG_PACKET_5.0.3
  124. movl $528482304, %eax
  125. movd %eax, %xmm6
  126. movsd 2064(%ebx), %xmm5
  127. mulss %xmm6, %xmm0
  128. jmp .L_2TAG_PACKET_0.0.3
  129. .L_2TAG_PACKET_5.0.3:
  130. addss %xmm0, %xmm0
  131. jmp .L_2TAG_PACKET_2.0.3
  132. .L_2TAG_PACKET_3.0.3:
  133. cmpl $-2147483648, %edx
  134. je .L_2TAG_PACKET_6.0.3
  135. addl %edx, %edx
  136. cmpl $-16777216, %edx
  137. ja .L_2TAG_PACKET_5.0.3
  138. xorps %xmm0, %xmm0
  139. divss %xmm0, %xmm0
  140. movl $5, %edx
  141. .L_2TAG_PACKET_7.0.3:
  142. movss %xmm0, (%esp)
  143. movss 112(%esp), %xmm0
  144. subl $32, %esp
  145. lea 112(%esp), %eax
  146. movl %eax, (%esp)
  147. lea 112(%esp), %eax
  148. movl %eax, 4(%esp)
  149. lea 32(%esp), %eax
  150. movl %eax, 8(%esp)
  151. movl %edx, %eax
  152. movl %eax, 12(%esp)
  153. call __libm_error_support
  154. addl $32, %esp
  155. flds (%esp)
  156. jmp .L_2TAG_PACKET_8.0.3
  157. .L_2TAG_PACKET_4.0.3:
  158. cmpl $0, %edx
  159. je .L_2TAG_PACKET_6.0.3
  160. movl $1602224128, %eax
  161. movd %eax, %xmm7
  162. mulss %xmm7, %xmm0
  163. movsd 2072(%ebx), %xmm5
  164. jmp .L_2TAG_PACKET_0.0.3
  165. .L_2TAG_PACKET_6.0.3:
  166. movl $-1082130432, %eax
  167. movd %eax, %xmm0
  168. xorps %xmm1, %xmm1
  169. divss %xmm1, %xmm0
  170. movl $4, %edx
  171. jmp .L_2TAG_PACKET_7.0.3
  172. .L_2TAG_PACKET_2.0.3:
  173. movss %xmm0, 24(%esp)
  174. flds 24(%esp)
  175. .L_2TAG_PACKET_8.0.3:
  176. movl 40(%esp), %ebx
  177. movl %ebp, %esp
  178. popl %ebp
  179. ret
  180. ..B2.3:
  181. .align 16,0x90
  182. .type logf,@function
  183. .size logf,.-logf
  184. .data
  185. # -- End logf
  186. .text
  187. # -- Begin __libm_error_support
  188. .text
  189. .align 16,0x90
  190. __libm_error_support:
  191. # parameter 1: 4 + %esp
  192. # parameter 2: 8 + %esp
  193. # parameter 3: 12 + %esp
  194. # parameter 4: 16 + %esp
  195. ..B3.1:
  196. ..L4:
  197. ret
  198. .align 16,0x90
  199. .type __libm_error_support,@function
  200. .size __libm_error_support,.-__libm_error_support
  201. .data
  202. # -- End __libm_error_support
  203. .section .rodata, "a"
  204. .align 16
  205. .align 16
  206. static_const_table:
  207. .long 4277811695
  208. .long 1072049730
  209. .long 4099377379
  210. .long 1072041554
  211. .long 2854492448
  212. .long 1072033410
  213. .long 3783013829
  214. .long 1072025297
  215. .long 1547061728
  216. .long 1072017216
  217. .long 3705668804
  218. .long 1072009165
  219. .long 649825382
  220. .long 1072001146
  221. .long 4257004898
  222. .long 1071993156
  223. .long 646346839
  224. .long 1071985198
  225. .long 1718090839
  226. .long 1071977269
  227. .long 2203733529
  228. .long 1071969370
  229. .long 1140698018
  230. .long 1071961501
  231. .long 1872170015
  232. .long 1071953661
  233. .long 3457002416
  234. .long 1071945850
  235. .long 669557459
  236. .long 1071938069
  237. .long 1179420986
  238. .long 1071930316
  239. .long 4076413893
  240. .long 1071922591
  241. .long 4165410145
  242. .long 1071914895
  243. .long 556124819
  244. .long 1071907228
  245. .long 957937516
  246. .long 1071899588
  247. .long 204914613
  248. .long 1071891976
  249. .long 1730507025
  250. .long 1071884391
  251. .long 387544807
  252. .long 1071876834
  253. .long 3922939863
  254. .long 1071869303
  255. .long 2912783494
  256. .long 1071861800
  257. .long 826988438
  258. .long 1071854324
  259. .long 1144260235
  260. .long 1071846874
  261. .long 3057005434
  262. .long 1071839450
  263. .long 1471209283
  264. .long 1071832053
  265. .long 4186184763
  266. .long 1071824681
  267. .long 1829683463
  268. .long 1071817336
  269. .long 2217517956
  270. .long 1071810016
  271. .long 288676754
  272. .long 1071802722
  273. .long 3875016090
  274. .long 1071795452
  275. .long 3636378776
  276. .long 1071788208
  277. .long 3125257108
  278. .long 1071780989
  279. .long 1606817369
  280. .long 1071773795
  281. .long 2648729924
  282. .long 1071766625
  283. .long 1236164615
  284. .long 1071759480
  285. .long 951558972
  286. .long 1071752359
  287. .long 1089617062
  288. .long 1071745262
  289. .long 952179194
  290. .long 1071738189
  291. .long 4143093266
  292. .long 1071731139
  293. .long 1388251237
  294. .long 1071724114
  295. .long 600267432
  296. .long 1071717112
  297. .long 1108583542
  298. .long 1071710133
  299. .long 2249313505
  300. .long 1071703177
  301. .long 3365155278
  302. .long 1071696244
  303. .long 3805304058
  304. .long 1071689334
  305. .long 2925366939
  306. .long 1071682447
  307. .long 87278952
  308. .long 1071675583
  309. .long 3249155078
  310. .long 1071668740
  311. .long 3195405229
  312. .long 1071661920
  313. .long 3601425396
  314. .long 1071655122
  315. .long 3853649835
  316. .long 1071648346
  317. .long 2393914686
  318. .long 1071638513
  319. .long 2944026756
  320. .long 1071625048
  321. .long 3870651933
  322. .long 1071611626
  323. .long 3993180461
  324. .long 1071598247
  325. .long 2142264402
  326. .long 1071584911
  327. .long 1454642149
  328. .long 1071571617
  329. .long 783063308
  330. .long 1071558365
  331. .long 3286084979
  332. .long 1071545154
  333. .long 3543033726
  334. .long 1071531985
  335. .long 438773454
  336. .long 1071518858
  337. .long 1458540784
  338. .long 1071505771
  339. .long 1212978710
  340. .long 1071492725
  341. .long 2912845216
  342. .long 1071479719
  343. .long 1189018219
  344. .long 1071466754
  345. .long 3567208110
  346. .long 1071453828
  347. .long 403064643
  348. .long 1071440943
  349. .long 3536762435
  350. .long 1071428096
  351. .long 3343209673
  352. .long 1071415289
  353. .long 3091669954
  354. .long 1071402521
  355. .long 1765778334
  356. .long 1071389792
  357. .long 2653362897
  358. .long 1071377101
  359. .long 461431547
  360. .long 1071364449
  361. .long 2790898835
  362. .long 1071351834
  363. .long 71706889
  364. .long 1071339258
  365. .long 4217424686
  366. .long 1071326718
  367. .long 1380502992
  368. .long 1071314217
  369. .long 3491778671
  370. .long 1071301752
  371. .long 1015732707
  372. .long 1071289325
  373. .long 1605095660
  374. .long 1071276934
  375. .long 35977849
  376. .long 1071264580
  377. .long 3977575844
  378. .long 1071252261
  379. .long 3927305531
  380. .long 1071239979
  381. .long 3275478714
  382. .long 1071227733
  383. .long 1125340846
  384. .long 1071215523
  385. .long 882913881
  386. .long 1071203348
  387. .long 1666971274
  388. .long 1071191208
  389. .long 2603916163
  390. .long 1071179103
  391. .long 2827693557
  392. .long 1071167033
  393. .long 1479703759
  394. .long 1071154998
  395. .long 2003684347
  396. .long 1071142997
  397. .long 3555691467
  398. .long 1071131030
  399. .long 1004016924
  400. .long 1071119098
  401. .long 2108975630
  402. .long 1071107199
  403. .long 1753021246
  404. .long 1071095334
  405. .long 3415503221
  406. .long 1071083502
  407. .long 1992719281
  408. .long 1071071704
  409. .long 977707388
  410. .long 1071059939
  411. .long 3870234994
  412. .long 1071048206
  413. .long 1291822077
  414. .long 1071036507
  415. .long 1050438164
  416. .long 1071024840
  417. .long 2370625547
  418. .long 1071013205
  419. .long 188394569
  420. .long 1071001603
  421. .long 2331021804
  422. .long 1070990032
  423. .long 3747176240
  424. .long 1070978493
  425. .long 3686719393
  426. .long 1070966986
  427. .long 1405669883
  428. .long 1070955511
  429. .long 461103529
  430. .long 1070944067
  431. .long 121152472
  432. .long 1070932654
  433. .long 3954874384
  434. .long 1070921271
  435. .long 2652318780
  436. .long 1070909920
  437. .long 4089234463
  438. .long 1070898599
  439. .long 3262235675
  440. .long 1070887309
  441. .long 3763576649
  442. .long 1070876049
  443. .long 601221319
  444. .long 1070864820
  445. .long 1673619518
  446. .long 1070853620
  447. .long 1999843716
  448. .long 1070842450
  449. .long 899399508
  450. .long 1070831310
  451. .long 1992167703
  452. .long 1070820199
  453. .long 313445281
  454. .long 1070809118
  455. .long 3788725476
  456. .long 1070798065
  457. .long 3168871046
  458. .long 1070787042
  459. .long 2094830420
  460. .long 1070776048
  461. .long 4212681596
  462. .long 1070765082
  463. .long 288676754
  464. .long 1070754146
  465. .long 2568927817
  466. .long 1070743237
  467. .long 1829681364
  468. .long 1070732357
  469. .long 1737005556
  470. .long 1070721505
  471. .long 1666870165
  472. .long 1070710681
  473. .long 1000063738
  474. .long 1070699885
  475. .long 3417111411
  476. .long 1070689116
  477. .long 4013324163
  478. .long 1070678375
  479. .long 2183652476
  480. .long 1070667662
  481. .long 1622638721
  482. .long 1070656976
  483. .long 1734435555
  484. .long 1070646317
  485. .long 1927726804
  486. .long 1070635685
  487. .long 1615681634
  488. .long 1070625080
  489. .long 215909304
  490. .long 1070614502
  491. .long 1445381777
  492. .long 1070603950
  493. .long 870975437
  494. .long 1070590754
  495. .long 1823716217
  496. .long 1070569756
  497. .long 323875369
  498. .long 1070548811
  499. .long 3839688678
  500. .long 1070527917
  501. .long 2667883253
  502. .long 1070507076
  503. .long 4293333010
  504. .long 1070486286
  505. .long 3324205749
  506. .long 1070465548
  507. .long 2966718784
  508. .long 1070444861
  509. .long 2140157205
  510. .long 1070424225
  511. .long 4066729595
  512. .long 1070403639
  513. .long 3386588242
  514. .long 1070383104
  515. .long 3337621361
  516. .long 1070362619
  517. .long 2870475188
  518. .long 1070342184
  519. .long 943446189
  520. .long 1070321799
  521. .long 817374162
  522. .long 1070301463
  523. .long 1465634365
  524. .long 1070281176
  525. .long 1869032404
  526. .long 1070260938
  527. .long 1015732707
  528. .long 1070240749
  529. .long 2196155141
  530. .long 1070220608
  531. .long 118003300
  532. .long 1070200516
  533. .long 2381031992
  534. .long 1070180471
  535. .long 3707175295
  536. .long 1070160474
  537. .long 3120348377
  538. .long 1070140525
  539. .long 3946380940
  540. .long 1070120623
  541. .long 928049556
  542. .long 1070100769
  543. .long 1699849154
  544. .long 1070080961
  545. .long 1018125008
  546. .long 1070061200
  547. .long 2235845747
  548. .long 1070041485
  549. .long 122671437
  550. .long 1070021817
  551. .long 2339728060
  552. .long 1070002194
  553. .long 3669742467
  554. .long 1069982617
  555. .long 3196851002
  556. .long 1069963086
  557. .long 11572342
  558. .long 1069943601
  559. .long 1800682930
  560. .long 1069924160
  561. .long 3372322013
  562. .long 1069904764
  563. .long 3835803021
  564. .long 1069885413
  565. .long 2306589128
  566. .long 1069866107
  567. .long 2201204065
  568. .long 1069846845
  569. .long 2647241692
  570. .long 1069827627
  571. .long 2778278092
  572. .long 1069808453
  573. .long 1733817001
  574. .long 1069789323
  575. .long 2954203158
  576. .long 1069770236
  577. .long 1295667077
  578. .long 1069751193
  579. .long 210141498
  580. .long 1069732193
  581. .long 3155274661
  582. .long 1069713235
  583. .long 709476866
  584. .long 1069694321
  585. .long 636640577
  586. .long 1069675449
  587. .long 2116286250
  588. .long 1069656619
  589. .long 38479793
  590. .long 1069637832
  591. .long 2183652476
  592. .long 1069619086
  593. .long 3452748429
  594. .long 1069600382
  595. .long 3047045639
  596. .long 1069581720
  597. .long 173141005
  598. .long 1069563100
  599. .long 970708326
  600. .long 1069541521
  601. .long 2106590683
  602. .long 1069504444
  603. .long 2198475040
  604. .long 1069467449
  605. .long 3996141691
  606. .long 1069430535
  607. .long 1669613218
  608. .long 1069393703
  609. .long 2283901796
  610. .long 1069356951
  611. .long 29117219
  612. .long 1069320280
  613. .long 1990183441
  614. .long 1069283688
  615. .long 2376948508
  616. .long 1069247176
  617. .long 3998935692
  618. .long 1069210743
  619. .long 1085389880
  620. .long 1069174390
  621. .long 760030536
  622. .long 1069138115
  623. .long 1566132617
  624. .long 1069101918
  625. .long 2056379433
  626. .long 1069065799
  627. .long 792781808
  628. .long 1069029758
  629. .long 641565395
  630. .long 1068993794
  631. .long 183156961
  632. .long 1068957907
  633. .long 2302040698
  634. .long 1068922096
  635. .long 1301778891
  636. .long 1068886362
  637. .long 84804484
  638. .long 1068850704
  639. .long 1562410668
  640. .long 1068815121
  641. .long 64741293
  642. .long 1068779614
  643. .long 2815553124
  644. .long 1068744181
  645. .long 4162338635
  646. .long 1068708823
  647. .long 2756122533
  648. .long 1068673540
  649. .long 1551389854
  650. .long 1068638331
  651. .long 3511047527
  652. .long 1068603195
  653. .long 3016419377
  654. .long 1068568133
  655. .long 3047045639
  656. .long 1068533144
  657. .long 296456961
  658. .long 1068497513
  659. .long 3221665916
  660. .long 1068427825
  661. .long 3697798734
  662. .long 1068358282
  663. .long 3453858508
  664. .long 1068288883
  665. .long 4234736672
  666. .long 1068219627
  667. .long 3506114812
  668. .long 1068150514
  669. .long 3044269692
  670. .long 1068081543
  671. .long 346010435
  672. .long 1068012714
  673. .long 1513453498
  674. .long 1067944025
  675. .long 4074027864
  676. .long 1067875476
  677. .long 1275317999
  678. .long 1067807068
  679. .long 3559777258
  680. .long 1067738798
  681. .long 4204867691
  682. .long 1067670667
  683. .long 797775935
  684. .long 1067602675
  685. .long 3825228429
  686. .long 1067534819
  687. .long 2313634884
  688. .long 1067467101
  689. .long 672386641
  690. .long 1067348671
  691. .long 3960777458
  692. .long 1067213778
  693. .long 1220920383
  694. .long 1067079157
  695. .long 684247743
  696. .long 1066944805
  697. .long 2020150230
  698. .long 1066810721
  699. .long 630721729
  700. .long 1066676905
  701. .long 535440936
  702. .long 1066543355
  703. .long 1486051399
  704. .long 1066410070
  705. .long 2227658502
  706. .long 1066152307
  707. .long 2743640746
  708. .long 1065886792
  709. .long 4184355568
  710. .long 1065621801
  711. .long 1971904113
  712. .long 1065357333
  713. .long 341338964
  714. .long 1064833554
  715. .long 1498975029
  716. .long 1064306693
  717. .long 1440057502
  718. .long 1063257089
  719. .long 0
  720. .long 0
  721. .long 0
  722. .long 0
  723. .long 4277811695
  724. .long 1078341186
  725. .long 4277811695
  726. .long 3225824834
  727. .long 1431655765
  728. .long 1070945621
  729. .long 4277811695
  730. .long 1047932482
  731. .long 1107282704
  732. .long 3219128321
  733. .long 4277811695
  734. .long 1047932482
  735. .type static_const_table,@object
  736. .size static_const_table,2112
  737. .data
  738. .section .note.GNU-stack, ""
  739. # End