123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742 |
- /*
- * Math library
- *
- * Copyright (C) 2016 Intel Corporation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Intel Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *
- * Author Name <jingwei.zhang@intel.com>
- * History:
- * 03-14-2016 Initial version. numerics svn rev. 12864
- */
- .file "logf_wmt.c"
- .text
- ..TXTST0:
- # -- Begin static_func
- .text
- .align 16,0x90
- static_func:
- ..B1.1:
- ..L1:
- call ..L2
- ..L2:
- popl %eax
- lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%eax), %eax
- lea static_const_table@GOTOFF(%eax), %eax
- ret
- .align 16,0x90
- .type static_func,@function
- .size static_func,.-static_func
- .data
- # -- End static_func
- .text
- # -- Begin logf
- .text
- .align 16,0x90
- .globl logf
- logf:
- # parameter 1: 8 + %ebp
- ..B2.1:
- ..L3:
- ..B2.2:
- pushl %ebp
- movl %esp, %ebp
- subl $104, %esp
- movl %ebx, 40(%esp)
- call static_func
- movl %eax, %ebx
- movss 112(%esp), %xmm0
- movl $16384, %ecx
- movd %ecx, %xmm4
- movl $-32768, %eax
- movd %eax, %xmm2
- xorpd %xmm3, %xmm3
- movl $16368, %edx
- pinsrw $3, %edx, %xmm3
- xorpd %xmm5, %xmm5
- .L_2TAG_PACKET_0.0.3:
- movd %xmm0, %edx
- rcpss %xmm0, %xmm1
- movsd 2080(%ebx), %xmm7
- pshuflw $68, %xmm0, %xmm0
- paddd %xmm4, %xmm1
- subl $8388608, %edx
- cmpl $2113929216, %edx
- jae .L_2TAG_PACKET_1.0.3
- andps %xmm1, %xmm2
- cvtps2pd %xmm0, %xmm0
- cvtps2pd %xmm2, %xmm1
- movd %xmm2, %eax
- andl $-8388608, %edx
- subl $1056964608, %edx
- cvtsi2sdl %edx, %xmm6
- mulsd %xmm1, %xmm0
- subl $1056964608, %edx
- addl %edx, %eax
- shrl $12, %eax
- movsd (%ebx,%eax), %xmm4
- subsd %xmm3, %xmm0
- movsd 2088(%ebx), %xmm2
- movsd 2096(%ebx), %xmm1
- mulsd %xmm0, %xmm7
- addsd %xmm0, %xmm5
- mulsd %xmm0, %xmm0
- mulsd %xmm2, %xmm6
- addsd %xmm7, %xmm1
- addsd %xmm4, %xmm5
- mulsd %xmm1, %xmm0
- addsd %xmm6, %xmm5
- addsd %xmm0, %xmm5
- cvtpd2ps %xmm5, %xmm0
- jmp .L_2TAG_PACKET_2.0.3
- .L_2TAG_PACKET_1.0.3:
- addl $8388608, %edx
- js .L_2TAG_PACKET_3.0.3
- cmpl $8388608, %edx
- jb .L_2TAG_PACKET_4.0.3
- cmpl $2139095040, %edx
- jae .L_2TAG_PACKET_5.0.3
- movl $528482304, %eax
- movd %eax, %xmm6
- movsd 2064(%ebx), %xmm5
- mulss %xmm6, %xmm0
- jmp .L_2TAG_PACKET_0.0.3
- .L_2TAG_PACKET_5.0.3:
- addss %xmm0, %xmm0
- jmp .L_2TAG_PACKET_2.0.3
- .L_2TAG_PACKET_3.0.3:
- cmpl $-2147483648, %edx
- je .L_2TAG_PACKET_6.0.3
- addl %edx, %edx
- cmpl $-16777216, %edx
- ja .L_2TAG_PACKET_5.0.3
- xorps %xmm0, %xmm0
- divss %xmm0, %xmm0
- movl $5, %edx
- .L_2TAG_PACKET_7.0.3:
- movss %xmm0, (%esp)
- movss 112(%esp), %xmm0
- subl $32, %esp
- lea 112(%esp), %eax
- movl %eax, (%esp)
- lea 112(%esp), %eax
- movl %eax, 4(%esp)
- lea 32(%esp), %eax
- movl %eax, 8(%esp)
- movl %edx, %eax
- movl %eax, 12(%esp)
- call __libm_error_support
- addl $32, %esp
- flds (%esp)
- jmp .L_2TAG_PACKET_8.0.3
- .L_2TAG_PACKET_4.0.3:
- cmpl $0, %edx
- je .L_2TAG_PACKET_6.0.3
- movl $1602224128, %eax
- movd %eax, %xmm7
- mulss %xmm7, %xmm0
- movsd 2072(%ebx), %xmm5
- jmp .L_2TAG_PACKET_0.0.3
- .L_2TAG_PACKET_6.0.3:
- movl $-1082130432, %eax
- movd %eax, %xmm0
- xorps %xmm1, %xmm1
- divss %xmm1, %xmm0
- movl $4, %edx
- jmp .L_2TAG_PACKET_7.0.3
- .L_2TAG_PACKET_2.0.3:
- movss %xmm0, 24(%esp)
- flds 24(%esp)
- .L_2TAG_PACKET_8.0.3:
- movl 40(%esp), %ebx
- movl %ebp, %esp
- popl %ebp
- ret
- ..B2.3:
- .align 16,0x90
- .type logf,@function
- .size logf,.-logf
- .data
- # -- End logf
- .text
- # -- Begin __libm_error_support
- .text
- .align 16,0x90
- __libm_error_support:
- # parameter 1: 4 + %esp
- # parameter 2: 8 + %esp
- # parameter 3: 12 + %esp
- # parameter 4: 16 + %esp
- ..B3.1:
- ..L4:
- ret
- .align 16,0x90
- .type __libm_error_support,@function
- .size __libm_error_support,.-__libm_error_support
- .data
- # -- End __libm_error_support
- .section .rodata, "a"
- .align 16
- .align 16
- static_const_table:
- .long 4277811695
- .long 1072049730
- .long 4099377379
- .long 1072041554
- .long 2854492448
- .long 1072033410
- .long 3783013829
- .long 1072025297
- .long 1547061728
- .long 1072017216
- .long 3705668804
- .long 1072009165
- .long 649825382
- .long 1072001146
- .long 4257004898
- .long 1071993156
- .long 646346839
- .long 1071985198
- .long 1718090839
- .long 1071977269
- .long 2203733529
- .long 1071969370
- .long 1140698018
- .long 1071961501
- .long 1872170015
- .long 1071953661
- .long 3457002416
- .long 1071945850
- .long 669557459
- .long 1071938069
- .long 1179420986
- .long 1071930316
- .long 4076413893
- .long 1071922591
- .long 4165410145
- .long 1071914895
- .long 556124819
- .long 1071907228
- .long 957937516
- .long 1071899588
- .long 204914613
- .long 1071891976
- .long 1730507025
- .long 1071884391
- .long 387544807
- .long 1071876834
- .long 3922939863
- .long 1071869303
- .long 2912783494
- .long 1071861800
- .long 826988438
- .long 1071854324
- .long 1144260235
- .long 1071846874
- .long 3057005434
- .long 1071839450
- .long 1471209283
- .long 1071832053
- .long 4186184763
- .long 1071824681
- .long 1829683463
- .long 1071817336
- .long 2217517956
- .long 1071810016
- .long 288676754
- .long 1071802722
- .long 3875016090
- .long 1071795452
- .long 3636378776
- .long 1071788208
- .long 3125257108
- .long 1071780989
- .long 1606817369
- .long 1071773795
- .long 2648729924
- .long 1071766625
- .long 1236164615
- .long 1071759480
- .long 951558972
- .long 1071752359
- .long 1089617062
- .long 1071745262
- .long 952179194
- .long 1071738189
- .long 4143093266
- .long 1071731139
- .long 1388251237
- .long 1071724114
- .long 600267432
- .long 1071717112
- .long 1108583542
- .long 1071710133
- .long 2249313505
- .long 1071703177
- .long 3365155278
- .long 1071696244
- .long 3805304058
- .long 1071689334
- .long 2925366939
- .long 1071682447
- .long 87278952
- .long 1071675583
- .long 3249155078
- .long 1071668740
- .long 3195405229
- .long 1071661920
- .long 3601425396
- .long 1071655122
- .long 3853649835
- .long 1071648346
- .long 2393914686
- .long 1071638513
- .long 2944026756
- .long 1071625048
- .long 3870651933
- .long 1071611626
- .long 3993180461
- .long 1071598247
- .long 2142264402
- .long 1071584911
- .long 1454642149
- .long 1071571617
- .long 783063308
- .long 1071558365
- .long 3286084979
- .long 1071545154
- .long 3543033726
- .long 1071531985
- .long 438773454
- .long 1071518858
- .long 1458540784
- .long 1071505771
- .long 1212978710
- .long 1071492725
- .long 2912845216
- .long 1071479719
- .long 1189018219
- .long 1071466754
- .long 3567208110
- .long 1071453828
- .long 403064643
- .long 1071440943
- .long 3536762435
- .long 1071428096
- .long 3343209673
- .long 1071415289
- .long 3091669954
- .long 1071402521
- .long 1765778334
- .long 1071389792
- .long 2653362897
- .long 1071377101
- .long 461431547
- .long 1071364449
- .long 2790898835
- .long 1071351834
- .long 71706889
- .long 1071339258
- .long 4217424686
- .long 1071326718
- .long 1380502992
- .long 1071314217
- .long 3491778671
- .long 1071301752
- .long 1015732707
- .long 1071289325
- .long 1605095660
- .long 1071276934
- .long 35977849
- .long 1071264580
- .long 3977575844
- .long 1071252261
- .long 3927305531
- .long 1071239979
- .long 3275478714
- .long 1071227733
- .long 1125340846
- .long 1071215523
- .long 882913881
- .long 1071203348
- .long 1666971274
- .long 1071191208
- .long 2603916163
- .long 1071179103
- .long 2827693557
- .long 1071167033
- .long 1479703759
- .long 1071154998
- .long 2003684347
- .long 1071142997
- .long 3555691467
- .long 1071131030
- .long 1004016924
- .long 1071119098
- .long 2108975630
- .long 1071107199
- .long 1753021246
- .long 1071095334
- .long 3415503221
- .long 1071083502
- .long 1992719281
- .long 1071071704
- .long 977707388
- .long 1071059939
- .long 3870234994
- .long 1071048206
- .long 1291822077
- .long 1071036507
- .long 1050438164
- .long 1071024840
- .long 2370625547
- .long 1071013205
- .long 188394569
- .long 1071001603
- .long 2331021804
- .long 1070990032
- .long 3747176240
- .long 1070978493
- .long 3686719393
- .long 1070966986
- .long 1405669883
- .long 1070955511
- .long 461103529
- .long 1070944067
- .long 121152472
- .long 1070932654
- .long 3954874384
- .long 1070921271
- .long 2652318780
- .long 1070909920
- .long 4089234463
- .long 1070898599
- .long 3262235675
- .long 1070887309
- .long 3763576649
- .long 1070876049
- .long 601221319
- .long 1070864820
- .long 1673619518
- .long 1070853620
- .long 1999843716
- .long 1070842450
- .long 899399508
- .long 1070831310
- .long 1992167703
- .long 1070820199
- .long 313445281
- .long 1070809118
- .long 3788725476
- .long 1070798065
- .long 3168871046
- .long 1070787042
- .long 2094830420
- .long 1070776048
- .long 4212681596
- .long 1070765082
- .long 288676754
- .long 1070754146
- .long 2568927817
- .long 1070743237
- .long 1829681364
- .long 1070732357
- .long 1737005556
- .long 1070721505
- .long 1666870165
- .long 1070710681
- .long 1000063738
- .long 1070699885
- .long 3417111411
- .long 1070689116
- .long 4013324163
- .long 1070678375
- .long 2183652476
- .long 1070667662
- .long 1622638721
- .long 1070656976
- .long 1734435555
- .long 1070646317
- .long 1927726804
- .long 1070635685
- .long 1615681634
- .long 1070625080
- .long 215909304
- .long 1070614502
- .long 1445381777
- .long 1070603950
- .long 870975437
- .long 1070590754
- .long 1823716217
- .long 1070569756
- .long 323875369
- .long 1070548811
- .long 3839688678
- .long 1070527917
- .long 2667883253
- .long 1070507076
- .long 4293333010
- .long 1070486286
- .long 3324205749
- .long 1070465548
- .long 2966718784
- .long 1070444861
- .long 2140157205
- .long 1070424225
- .long 4066729595
- .long 1070403639
- .long 3386588242
- .long 1070383104
- .long 3337621361
- .long 1070362619
- .long 2870475188
- .long 1070342184
- .long 943446189
- .long 1070321799
- .long 817374162
- .long 1070301463
- .long 1465634365
- .long 1070281176
- .long 1869032404
- .long 1070260938
- .long 1015732707
- .long 1070240749
- .long 2196155141
- .long 1070220608
- .long 118003300
- .long 1070200516
- .long 2381031992
- .long 1070180471
- .long 3707175295
- .long 1070160474
- .long 3120348377
- .long 1070140525
- .long 3946380940
- .long 1070120623
- .long 928049556
- .long 1070100769
- .long 1699849154
- .long 1070080961
- .long 1018125008
- .long 1070061200
- .long 2235845747
- .long 1070041485
- .long 122671437
- .long 1070021817
- .long 2339728060
- .long 1070002194
- .long 3669742467
- .long 1069982617
- .long 3196851002
- .long 1069963086
- .long 11572342
- .long 1069943601
- .long 1800682930
- .long 1069924160
- .long 3372322013
- .long 1069904764
- .long 3835803021
- .long 1069885413
- .long 2306589128
- .long 1069866107
- .long 2201204065
- .long 1069846845
- .long 2647241692
- .long 1069827627
- .long 2778278092
- .long 1069808453
- .long 1733817001
- .long 1069789323
- .long 2954203158
- .long 1069770236
- .long 1295667077
- .long 1069751193
- .long 210141498
- .long 1069732193
- .long 3155274661
- .long 1069713235
- .long 709476866
- .long 1069694321
- .long 636640577
- .long 1069675449
- .long 2116286250
- .long 1069656619
- .long 38479793
- .long 1069637832
- .long 2183652476
- .long 1069619086
- .long 3452748429
- .long 1069600382
- .long 3047045639
- .long 1069581720
- .long 173141005
- .long 1069563100
- .long 970708326
- .long 1069541521
- .long 2106590683
- .long 1069504444
- .long 2198475040
- .long 1069467449
- .long 3996141691
- .long 1069430535
- .long 1669613218
- .long 1069393703
- .long 2283901796
- .long 1069356951
- .long 29117219
- .long 1069320280
- .long 1990183441
- .long 1069283688
- .long 2376948508
- .long 1069247176
- .long 3998935692
- .long 1069210743
- .long 1085389880
- .long 1069174390
- .long 760030536
- .long 1069138115
- .long 1566132617
- .long 1069101918
- .long 2056379433
- .long 1069065799
- .long 792781808
- .long 1069029758
- .long 641565395
- .long 1068993794
- .long 183156961
- .long 1068957907
- .long 2302040698
- .long 1068922096
- .long 1301778891
- .long 1068886362
- .long 84804484
- .long 1068850704
- .long 1562410668
- .long 1068815121
- .long 64741293
- .long 1068779614
- .long 2815553124
- .long 1068744181
- .long 4162338635
- .long 1068708823
- .long 2756122533
- .long 1068673540
- .long 1551389854
- .long 1068638331
- .long 3511047527
- .long 1068603195
- .long 3016419377
- .long 1068568133
- .long 3047045639
- .long 1068533144
- .long 296456961
- .long 1068497513
- .long 3221665916
- .long 1068427825
- .long 3697798734
- .long 1068358282
- .long 3453858508
- .long 1068288883
- .long 4234736672
- .long 1068219627
- .long 3506114812
- .long 1068150514
- .long 3044269692
- .long 1068081543
- .long 346010435
- .long 1068012714
- .long 1513453498
- .long 1067944025
- .long 4074027864
- .long 1067875476
- .long 1275317999
- .long 1067807068
- .long 3559777258
- .long 1067738798
- .long 4204867691
- .long 1067670667
- .long 797775935
- .long 1067602675
- .long 3825228429
- .long 1067534819
- .long 2313634884
- .long 1067467101
- .long 672386641
- .long 1067348671
- .long 3960777458
- .long 1067213778
- .long 1220920383
- .long 1067079157
- .long 684247743
- .long 1066944805
- .long 2020150230
- .long 1066810721
- .long 630721729
- .long 1066676905
- .long 535440936
- .long 1066543355
- .long 1486051399
- .long 1066410070
- .long 2227658502
- .long 1066152307
- .long 2743640746
- .long 1065886792
- .long 4184355568
- .long 1065621801
- .long 1971904113
- .long 1065357333
- .long 341338964
- .long 1064833554
- .long 1498975029
- .long 1064306693
- .long 1440057502
- .long 1063257089
- .long 0
- .long 0
- .long 0
- .long 0
- .long 4277811695
- .long 1078341186
- .long 4277811695
- .long 3225824834
- .long 1431655765
- .long 1070945621
- .long 4277811695
- .long 1047932482
- .long 1107282704
- .long 3219128321
- .long 4277811695
- .long 1047932482
- .type static_const_table,@object
- .size static_const_table,2112
- .data
- .section .note.GNU-stack, ""
- # End
|