123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596 |
- /*
- * 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 "j0f.c"
- .text
- ..TXTST0:
- # -- Begin j0f
- .text
- .align 16,0x90
- .globl j0f
- j0f:
- # parameter 1: %xmm0
- ..B1.1:
- .cfi_startproc
- ..___tag_value_j0f.1:
- ..L2:
- subq $56, %rsp
- .cfi_def_cfa_offset 64
- movd %xmm0, %edx
- movss %xmm0, 48(%rsp)
- andl $2147483647, %edx
- cmpl $2139095040, %edx
- jae ..B1.18
- ..B1.2:
- cmpl $1099154394, %edx
- jae ..B1.19
- ..B1.3:
- cmpl $1081424556, %edx
- jae ..B1.14
- ..B1.4:
- cmpl $1048576000, %edx
- jae ..B1.13
- ..B1.5:
- cmpl $998244352, %edx
- jae ..B1.12
- ..B1.6:
- cmpl $947912704, %edx
- jae ..B1.11
- ..B1.7:
- movss .L_2il0floatpacket.0(%rip), %xmm1
- cmpl $838860800, %edx
- jae ..B1.9
- ..B1.8:
- andps .L_2il0floatpacket.1(%rip), %xmm0
- subss %xmm0, %xmm1
- jmp ..B1.10
- ..B1.9:
- mulss %xmm0, %xmm0
- subss %xmm0, %xmm1
- ..B1.10:
- movaps %xmm1, %xmm0
- addq $56, %rsp
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 64
- ..B1.11:
- pxor %xmm0, %xmm0
- lea 8+_Q3(%rip), %rax
- cvtss2sd 48(%rsp), %xmm0
- mulsd %xmm0, %xmm0
- lea _Q3(%rip), %rdx
- movsd (%rax), %xmm1
- mulsd %xmm0, %xmm1
- addsd (%rdx), %xmm1
- mulsd %xmm0, %xmm1
- addsd .L_2il0floatpacket.2(%rip), %xmm1
- cvtsd2ss %xmm1, %xmm1
- movaps %xmm1, %xmm0
- addq $56, %rsp
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 64
- ..B1.12:
- pxor %xmm1, %xmm1
- lea 24+_Q2(%rip), %rax
- cvtss2sd 48(%rsp), %xmm1
- mulsd %xmm1, %xmm1
- lea 16+_Q2(%rip), %rcx
- movaps %xmm1, %xmm0
- lea 8+_Q2(%rip), %rdx
- mulsd %xmm1, %xmm0
- lea _Q2(%rip), %rsi
- movsd (%rax), %xmm3
- movsd (%rcx), %xmm2
- mulsd %xmm0, %xmm3
- mulsd %xmm0, %xmm2
- addsd (%rdx), %xmm3
- addsd (%rsi), %xmm2
- mulsd %xmm0, %xmm3
- mulsd %xmm1, %xmm2
- addsd %xmm2, %xmm3
- addsd .L_2il0floatpacket.2(%rip), %xmm3
- cvtsd2ss %xmm3, %xmm3
- movaps %xmm3, %xmm0
- addq $56, %rsp
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 64
- ..B1.13:
- pxor %xmm1, %xmm1
- lea 112+_Q1(%rip), %rax
- cvtss2sd 48(%rsp), %xmm1
- andps .L_2il0floatpacket.3(%rip), %xmm1
- lea 104+_Q1(%rip), %rdx
- lea 72+_Q1(%rip), %rcx
- lea 88+_Q1(%rip), %rdi
- lea 96+_Q1(%rip), %r11
- lea 56+_Q1(%rip), %r8
- lea 40+_Q1(%rip), %rsi
- lea 24+_Q1(%rip), %r9
- movsd (%rdx), %xmm6
- lea 32+_Q1(%rip), %rdx
- movsd (%rdi), %xmm0
- lea 16+_Q1(%rip), %rdi
- movsd (%r11), %xmm5
- lea 8+_Q1(%rip), %r10
- subsd (%rax), %xmm1
- lea 64+_Q1(%rip), %rax
- movaps %xmm1, %xmm3
- mulsd %xmm1, %xmm3
- movaps %xmm3, %xmm2
- mulsd %xmm3, %xmm2
- mulsd %xmm2, %xmm6
- mulsd %xmm2, %xmm0
- mulsd %xmm2, %xmm5
- addsd (%rcx), %xmm6
- addsd (%r8), %xmm0
- addsd (%rax), %xmm5
- mulsd %xmm2, %xmm6
- mulsd %xmm2, %xmm0
- mulsd %xmm2, %xmm5
- addsd (%rsi), %xmm6
- addsd (%r9), %xmm0
- addsd (%rdx), %xmm5
- mulsd %xmm2, %xmm6
- mulsd %xmm3, %xmm0
- mulsd %xmm2, %xmm5
- addsd %xmm0, %xmm6
- lea 80+_Q1(%rip), %rcx
- lea 48+_Q1(%rip), %rsi
- lea _Q1(%rip), %r8
- addsd (%r10), %xmm6
- movsd (%rcx), %xmm4
- mulsd %xmm2, %xmm4
- mulsd %xmm1, %xmm6
- addsd (%rsi), %xmm4
- mulsd %xmm2, %xmm4
- addsd (%rdi), %xmm4
- mulsd %xmm3, %xmm4
- addsd %xmm4, %xmm5
- addsd (%r8), %xmm5
- addsd %xmm5, %xmm6
- cvtsd2ss %xmm6, %xmm6
- movaps %xmm6, %xmm0
- addq $56, %rsp
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 64
- ..B1.14:
- cmpl $1092798087, %edx
- jae ..B1.16
- ..B1.15:
- cmpl $1088454576, %edx
- lea _P1(%rip), %rcx
- lea _P2(%rip), %rax
- jb ..B1.17
- movq %rax, %rcx
- jmp ..B1.17
- ..B1.16:
- cmpl $1096101336, %edx
- lea _P3(%rip), %rcx
- lea _P4(%rip), %rax
- jb ..L12
- movq %rax, %rcx
- ..L12:
- ..B1.17:
- pxor %xmm3, %xmm3
- cvtss2sd 48(%rsp), %xmm3
- andps .L_2il0floatpacket.3(%rip), %xmm3
- movsd 96(%rcx), %xmm6
- movsd 80(%rcx), %xmm0
- movsd 88(%rcx), %xmm5
- movsd 72(%rcx), %xmm4
- subsd 104(%rcx), %xmm3
- movaps %xmm3, %xmm1
- mulsd %xmm3, %xmm1
- movaps %xmm1, %xmm2
- mulsd %xmm1, %xmm2
- mulsd %xmm2, %xmm6
- mulsd %xmm2, %xmm0
- mulsd %xmm2, %xmm5
- addsd 64(%rcx), %xmm6
- mulsd %xmm2, %xmm4
- addsd 48(%rcx), %xmm0
- addsd 56(%rcx), %xmm5
- mulsd %xmm2, %xmm6
- addsd 40(%rcx), %xmm4
- mulsd %xmm2, %xmm0
- mulsd %xmm2, %xmm5
- addsd 32(%rcx), %xmm6
- mulsd %xmm2, %xmm4
- addsd 16(%rcx), %xmm0
- addsd 24(%rcx), %xmm5
- mulsd %xmm2, %xmm6
- addsd 8(%rcx), %xmm4
- mulsd %xmm1, %xmm0
- mulsd %xmm1, %xmm5
- mulsd %xmm3, %xmm4
- addsd %xmm0, %xmm6
- mulsd %xmm3, %xmm5
- addsd (%rcx), %xmm6
- addsd %xmm4, %xmm5
- addsd %xmm5, %xmm6
- cvtsd2ss %xmm6, %xmm6
- movaps %xmm6, %xmm0
- addq $56, %rsp
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 64
- ..B1.18:
- pxor %xmm0, %xmm0
- jbe ..L15
- movss 48(%rsp), %xmm0
- ..L15:
- addq $56, %rsp
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 64
- ..B1.19:
- pxor %xmm0, %xmm0
- lea _val_16_0(%rip), %rax
- cvtss2sd 48(%rsp), %xmm0
- andps .L_2il0floatpacket.3(%rip), %xmm0
- lea (%rsp), %rdi
- movsd .L_2il0floatpacket.2(%rip), %xmm1
- lea 8(%rsp), %rsi
- divsd %xmm0, %xmm1
- movsd (%rax), %xmm2
- movl $-1, %edx
- mulsd %xmm1, %xmm2
- movsd %xmm2, 8(%rsi)
- mulsd %xmm2, %xmm2
- movsd %xmm2, 24(%rsi)
- mulsd %xmm2, %xmm2
- movsd %xmm1, 16(%rsi)
- movsd %xmm2, 32(%rsi)
- ..___tag_value_j0f.18:
- call __libm_sincos_k32@PLT
- ..___tag_value_j0f.19:
- ..B1.20:
- lea 40+_QP(%rip), %r10
- lea 40+_PP(%rip), %rdx
- movsd 40(%rsp), %xmm2
- lea 24+_QP(%rip), %r11
- lea 24+_PP(%rip), %rcx
- lea 32+_PP(%rip), %rdi
- lea _tonpi(%rip), %rax
- lea 16+_PP(%rip), %r8
- movsd (%r10), %xmm5
- lea 8+_PP(%rip), %rsi
- movsd (%rdx), %xmm6
- lea 32+_QP(%rip), %rdx
- mulsd %xmm2, %xmm5
- lea _PP(%rip), %r9
- mulsd %xmm2, %xmm6
- addsd (%r11), %xmm5
- addsd (%rcx), %xmm6
- mulsd %xmm2, %xmm5
- mulsd %xmm2, %xmm6
- movsd (%rdx), %xmm4
- lea 16+_QP(%rip), %rcx
- mulsd %xmm2, %xmm4
- addsd (%rsi), %xmm6
- movsd (%rdi), %xmm1
- lea _QP(%rip), %rsi
- mulsd %xmm2, %xmm1
- addsd (%rcx), %xmm4
- movsd (%rax), %xmm0
- lea 8+_QP(%rip), %rax
- mulsd %xmm2, %xmm4
- addsd (%r8), %xmm1
- mulsd 24(%rsp), %xmm0
- addsd (%rax), %xmm5
- mulsd %xmm2, %xmm1
- addsd (%rsi), %xmm4
- sqrtsd %xmm0, %xmm0
- addsd (%r9), %xmm1
- movsd 32(%rsp), %xmm3
- mulsd %xmm3, %xmm5
- mulsd %xmm3, %xmm6
- addsd %xmm4, %xmm5
- addsd %xmm1, %xmm6
- mulsd 16(%rsp), %xmm5
- mulsd 8(%rsp), %xmm6
- mulsd (%rsp), %xmm5
- subsd %xmm5, %xmm6
- mulsd %xmm6, %xmm0
- cvtsd2ss %xmm0, %xmm0
- addq $56, %rsp
- .cfi_def_cfa_offset 8
- ret
- .align 16,0x90
- .cfi_endproc
- .type j0f,@function
- .size j0f,.-j0f
- .data
- # -- End j0f
- .section .rodata, "a"
- .align 16
- .align 16
- .L_2il0floatpacket.1:
- .long 0x7fffffff,0x00000000,0x00000000,0x00000000
- .type .L_2il0floatpacket.1,@object
- .size .L_2il0floatpacket.1,16
- .align 16
- .L_2il0floatpacket.3:
- .long 0xffffffff,0x7fffffff,0x00000000,0x00000000
- .type .L_2il0floatpacket.3,@object
- .size .L_2il0floatpacket.3,16
- .align 8
- .L_2il0floatpacket.2:
- .long 0x00000000,0x3ff00000
- .type .L_2il0floatpacket.2,@object
- .size .L_2il0floatpacket.2,8
- .align 4
- .L_2il0floatpacket.0:
- .long 0x3f800000
- .type .L_2il0floatpacket.0,@object
- .size .L_2il0floatpacket.0,4
- .align 4
- _Q3:
- .long 4294966841
- .long 3218079743
- .long 477219499
- .long 1066401791
- .type _Q3,@object
- .size _Q3,16
- .align 4
- _Q2:
- .long 4294967005
- .long 3218079743
- .long 4292583532
- .long 1066401791
- .long 2963922746
- .long 3208409541
- .long 1698509326
- .long 1054632110
- .type _Q2,@object
- .size _Q2,32
- .align 4
- _Q1:
- .long 569392270
- .long 3163659129
- .long 911539783
- .long 3219168475
- .long 3927550863
- .long 1069261278
- .long 1680954783
- .long 1068301032
- .long 3247602706
- .long 3212950300
- .long 1528576945
- .long 3210869138
- .long 2120930432
- .long 1060197251
- .long 3147753376
- .long 1057418557
- .long 3445667889
- .long 3201446637
- .long 160313185
- .long 3198274950
- .long 2157358765
- .long 1047004568
- .long 1405517519
- .long 1043512506
- .long 3055202941
- .long 3187001715
- .long 562966967
- .long 3183555197
- .long 781654848
- .long 1073954069
- .type _Q1,@object
- .size _Q1,120
- .align 4
- _P1:
- .long 2556390964
- .long 3162487616
- .long 168113101
- .long 1070974694
- .long 3865632959
- .long 3214905202
- .long 3384884860
- .long 3215663440
- .long 3461368592
- .long 1064499199
- .long 2947775703
- .long 1063419441
- .long 1964351934
- .long 3207001659
- .long 1081690493
- .long 3204998104
- .long 2315304668
- .long 1053480462
- .long 3655541446
- .long 1050880364
- .long 988219424
- .long 3194139699
- .long 2647984383
- .long 3191029766
- .long 3459760917
- .long 1038956170
- .long 1529622085
- .long 1075188879
- .type _P1,@object
- .size _P1,112
- .align 4
- _P2:
- .long 2989381656
- .long 3164006638
- .long 2007135498
- .long 3218169721
- .long 3461465629
- .long 1066405759
- .long 1292000183
- .long 1067879320
- .long 1048188593
- .long 3211038307
- .long 2811900586
- .long 3210797269
- .long 275024305
- .long 1058896216
- .long 2179928921
- .long 1057456107
- .long 2316750355
- .long 3200463196
- .long 1626245786
- .long 3198355713
- .long 2429961783
- .long 1046264853
- .long 3081665457
- .long 1043557342
- .long 3760684269
- .long 3186121773
- .long 1825365706
- .long 1075924661
- .type _P2,@object
- .size _P2,112
- .align 4
- _P3:
- .long 915277891
- .long 3163740397
- .long 1721892699
- .long 1070448958
- .long 3433548142
- .long 3213111280
- .long 3603643349
- .long 3215166749
- .long 2193444562
- .long 1062884841
- .long 1036402988
- .long 1063136790
- .long 2039602830
- .long 3205750717
- .long 2039806946
- .long 3204828766
- .long 3757243411
- .long 1052487712
- .long 2819184679
- .long 1050816211
- .long 1638789445
- .long 3193302656
- .long 96077275
- .long 3191008024
- .long 34207204
- .long 1038327735
- .long 8549046
- .long 1076335940
- .type _P3,@object
- .size _P3,112
- .align 4
- _P4:
- .long 4010378302
- .long 3164933090
- .long 260862994
- .long 3217715229
- .long 793353311
- .long 1065112761
- .long 2823013001
- .long 1067546520
- .long 4006575139
- .long 3209863700
- .long 3390737311
- .long 3210433566
- .long 1793352299
- .long 1057800372
- .long 3528876835
- .long 1057234714
- .long 2505438989
- .long 3199512871
- .long 2785865938
- .long 3198229698
- .long 565130724
- .long 1045495083
- .long 410977742
- .long 1043470609
- .long 4266013081
- .long 3185543354
- .long 1056076242
- .long 1076747425
- .type _P4,@object
- .size _P4,112
- .align 4
- _val_16_0:
- .long 0
- .long 1076887552
- .type _val_16_0,@object
- .size _val_16_0,8
- .align 4
- _QP:
- .long 4294921804
- .long 3212836863
- .long 4153409851
- .long 1056096255
- .long 2226361937
- .long 3196916170
- .long 3849695089
- .long 1044094312
- .long 663042994
- .long 3187124278
- .long 3336948587
- .long 1035486718
- .type _QP,@object
- .size _QP,48
- .align 4
- _PP:
- .long 4294966288
- .long 1072693247
- .long 4269912424
- .long 3207725055
- .long 1780799603
- .long 1052554744
- .long 2285933488
- .long 3194113879
- .long 3892950982
- .long 1041746526
- .long 150212775
- .long 3184818833
- .type _PP,@object
- .size _PP,48
- .align 4
- _tonpi:
- .long 1841940611
- .long 1071931184
- .type _tonpi,@object
- .size _tonpi,8
- .data
- .section .note.GNU-stack, ""
- // -- Begin DWARF2 SEGMENT .eh_frame
- .section .eh_frame,"a",@progbits
- .eh_frame_seg:
- .align 1
- # End
|