OLD | NEW |
1 #if defined(__x86_64__) | 1 #if defined(__x86_64__) |
2 .text | 2 .text |
3 | 3 |
4 | 4 |
5 .globl gcm_gmult_4bit | 5 .globl gcm_gmult_4bit |
| 6 .hidden gcm_gmult_4bit |
6 .type gcm_gmult_4bit,@function | 7 .type gcm_gmult_4bit,@function |
7 .align 16 | 8 .align 16 |
8 gcm_gmult_4bit: | 9 gcm_gmult_4bit: |
9 pushq %rbx | 10 pushq %rbx |
10 pushq %rbp | 11 pushq %rbp |
11 pushq %r12 | 12 pushq %r12 |
12 .Lgmult_prologue: | 13 .Lgmult_prologue: |
13 | 14 |
14 movzbq 15(%rdi),%r8 | 15 movzbq 15(%rdi),%r8 |
15 leaq .Lrem_4bit(%rip),%r11 | 16 leaq .Lrem_4bit(%rip),%r11 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 bswapq %r9 | 85 bswapq %r9 |
85 movq %r8,8(%rdi) | 86 movq %r8,8(%rdi) |
86 movq %r9,(%rdi) | 87 movq %r9,(%rdi) |
87 | 88 |
88 movq 16(%rsp),%rbx | 89 movq 16(%rsp),%rbx |
89 leaq 24(%rsp),%rsp | 90 leaq 24(%rsp),%rsp |
90 .Lgmult_epilogue: | 91 .Lgmult_epilogue: |
91 .byte 0xf3,0xc3 | 92 .byte 0xf3,0xc3 |
92 .size gcm_gmult_4bit,.-gcm_gmult_4bit | 93 .size gcm_gmult_4bit,.-gcm_gmult_4bit |
93 .globl gcm_ghash_4bit | 94 .globl gcm_ghash_4bit |
| 95 .hidden gcm_ghash_4bit |
94 .type gcm_ghash_4bit,@function | 96 .type gcm_ghash_4bit,@function |
95 .align 16 | 97 .align 16 |
96 gcm_ghash_4bit: | 98 gcm_ghash_4bit: |
97 pushq %rbx | 99 pushq %rbx |
98 pushq %rbp | 100 pushq %rbp |
99 pushq %r12 | 101 pushq %r12 |
100 pushq %r13 | 102 pushq %r13 |
101 pushq %r14 | 103 pushq %r14 |
102 pushq %r15 | 104 pushq %r15 |
103 subq $280,%rsp | 105 subq $280,%rsp |
(...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
650 movq 8(%rsi),%r14 | 652 movq 8(%rsi),%r14 |
651 movq 16(%rsi),%r13 | 653 movq 16(%rsi),%r13 |
652 movq 24(%rsi),%r12 | 654 movq 24(%rsi),%r12 |
653 movq 32(%rsi),%rbp | 655 movq 32(%rsi),%rbp |
654 movq 40(%rsi),%rbx | 656 movq 40(%rsi),%rbx |
655 leaq 48(%rsi),%rsp | 657 leaq 48(%rsi),%rsp |
656 .Lghash_epilogue: | 658 .Lghash_epilogue: |
657 .byte 0xf3,0xc3 | 659 .byte 0xf3,0xc3 |
658 .size gcm_ghash_4bit,.-gcm_ghash_4bit | 660 .size gcm_ghash_4bit,.-gcm_ghash_4bit |
659 .globl gcm_init_clmul | 661 .globl gcm_init_clmul |
| 662 .hidden gcm_init_clmul |
660 .type gcm_init_clmul,@function | 663 .type gcm_init_clmul,@function |
661 .align 16 | 664 .align 16 |
662 gcm_init_clmul: | 665 gcm_init_clmul: |
663 .L_init_clmul: | 666 .L_init_clmul: |
664 movdqu (%rsi),%xmm2 | 667 movdqu (%rsi),%xmm2 |
665 pshufd $78,%xmm2,%xmm2 | 668 pshufd $78,%xmm2,%xmm2 |
666 | 669 |
667 | 670 |
668 pshufd $255,%xmm2,%xmm4 | 671 pshufd $255,%xmm2,%xmm4 |
669 movdqa %xmm2,%xmm3 | 672 movdqa %xmm2,%xmm3 |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
806 pshufd $78,%xmm0,%xmm4 | 809 pshufd $78,%xmm0,%xmm4 |
807 pxor %xmm5,%xmm3 | 810 pxor %xmm5,%xmm3 |
808 movdqu %xmm5,48(%rdi) | 811 movdqu %xmm5,48(%rdi) |
809 pxor %xmm0,%xmm4 | 812 pxor %xmm0,%xmm4 |
810 movdqu %xmm0,64(%rdi) | 813 movdqu %xmm0,64(%rdi) |
811 .byte 102,15,58,15,227,8 | 814 .byte 102,15,58,15,227,8 |
812 movdqu %xmm4,80(%rdi) | 815 movdqu %xmm4,80(%rdi) |
813 .byte 0xf3,0xc3 | 816 .byte 0xf3,0xc3 |
814 .size gcm_init_clmul,.-gcm_init_clmul | 817 .size gcm_init_clmul,.-gcm_init_clmul |
815 .globl gcm_gmult_clmul | 818 .globl gcm_gmult_clmul |
| 819 .hidden gcm_gmult_clmul |
816 .type gcm_gmult_clmul,@function | 820 .type gcm_gmult_clmul,@function |
817 .align 16 | 821 .align 16 |
818 gcm_gmult_clmul: | 822 gcm_gmult_clmul: |
819 .L_gmult_clmul: | 823 .L_gmult_clmul: |
820 movdqu (%rdi),%xmm0 | 824 movdqu (%rdi),%xmm0 |
821 movdqa .Lbswap_mask(%rip),%xmm5 | 825 movdqa .Lbswap_mask(%rip),%xmm5 |
822 movdqu (%rsi),%xmm2 | 826 movdqu (%rsi),%xmm2 |
823 movdqu 32(%rsi),%xmm4 | 827 movdqu 32(%rsi),%xmm4 |
824 .byte 102,15,56,0,197 | 828 .byte 102,15,56,0,197 |
825 movdqa %xmm0,%xmm1 | 829 movdqa %xmm0,%xmm1 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
857 pxor %xmm0,%xmm4 | 861 pxor %xmm0,%xmm4 |
858 psrlq $5,%xmm0 | 862 psrlq $5,%xmm0 |
859 pxor %xmm4,%xmm0 | 863 pxor %xmm4,%xmm0 |
860 psrlq $1,%xmm0 | 864 psrlq $1,%xmm0 |
861 pxor %xmm1,%xmm0 | 865 pxor %xmm1,%xmm0 |
862 .byte 102,15,56,0,197 | 866 .byte 102,15,56,0,197 |
863 movdqu %xmm0,(%rdi) | 867 movdqu %xmm0,(%rdi) |
864 .byte 0xf3,0xc3 | 868 .byte 0xf3,0xc3 |
865 .size gcm_gmult_clmul,.-gcm_gmult_clmul | 869 .size gcm_gmult_clmul,.-gcm_gmult_clmul |
866 .globl gcm_ghash_clmul | 870 .globl gcm_ghash_clmul |
| 871 .hidden gcm_ghash_clmul |
867 .type gcm_ghash_clmul,@function | 872 .type gcm_ghash_clmul,@function |
868 .align 32 | 873 .align 32 |
869 gcm_ghash_clmul: | 874 gcm_ghash_clmul: |
870 .L_ghash_clmul: | 875 .L_ghash_clmul: |
871 movdqa .Lbswap_mask(%rip),%xmm10 | 876 movdqa .Lbswap_mask(%rip),%xmm10 |
872 | 877 |
873 movdqu (%rdi),%xmm0 | 878 movdqu (%rdi),%xmm0 |
874 movdqu (%rsi),%xmm2 | 879 movdqu (%rsi),%xmm2 |
875 movdqu 32(%rsi),%xmm7 | 880 movdqu 32(%rsi),%xmm7 |
876 .byte 102,65,15,56,0,194 | 881 .byte 102,65,15,56,0,194 |
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1240 psrlq $5,%xmm0 | 1245 psrlq $5,%xmm0 |
1241 pxor %xmm4,%xmm0 | 1246 pxor %xmm4,%xmm0 |
1242 psrlq $1,%xmm0 | 1247 psrlq $1,%xmm0 |
1243 pxor %xmm1,%xmm0 | 1248 pxor %xmm1,%xmm0 |
1244 .Ldone: | 1249 .Ldone: |
1245 .byte 102,65,15,56,0,194 | 1250 .byte 102,65,15,56,0,194 |
1246 movdqu %xmm0,(%rdi) | 1251 movdqu %xmm0,(%rdi) |
1247 .byte 0xf3,0xc3 | 1252 .byte 0xf3,0xc3 |
1248 .size gcm_ghash_clmul,.-gcm_ghash_clmul | 1253 .size gcm_ghash_clmul,.-gcm_ghash_clmul |
1249 .globl gcm_init_avx | 1254 .globl gcm_init_avx |
| 1255 .hidden gcm_init_avx |
1250 .type gcm_init_avx,@function | 1256 .type gcm_init_avx,@function |
1251 .align 32 | 1257 .align 32 |
1252 gcm_init_avx: | 1258 gcm_init_avx: |
1253 jmp .L_init_clmul | 1259 jmp .L_init_clmul |
1254 .size gcm_init_avx,.-gcm_init_avx | 1260 .size gcm_init_avx,.-gcm_init_avx |
1255 .globl gcm_gmult_avx | 1261 .globl gcm_gmult_avx |
| 1262 .hidden gcm_gmult_avx |
1256 .type gcm_gmult_avx,@function | 1263 .type gcm_gmult_avx,@function |
1257 .align 32 | 1264 .align 32 |
1258 gcm_gmult_avx: | 1265 gcm_gmult_avx: |
1259 jmp .L_gmult_clmul | 1266 jmp .L_gmult_clmul |
1260 .size gcm_gmult_avx,.-gcm_gmult_avx | 1267 .size gcm_gmult_avx,.-gcm_gmult_avx |
1261 .globl gcm_ghash_avx | 1268 .globl gcm_ghash_avx |
| 1269 .hidden gcm_ghash_avx |
1262 .type gcm_ghash_avx,@function | 1270 .type gcm_ghash_avx,@function |
1263 .align 32 | 1271 .align 32 |
1264 gcm_ghash_avx: | 1272 gcm_ghash_avx: |
1265 jmp .L_ghash_clmul | 1273 jmp .L_ghash_clmul |
1266 .size gcm_ghash_avx,.-gcm_ghash_avx | 1274 .size gcm_ghash_avx,.-gcm_ghash_avx |
1267 .align 64 | 1275 .align 64 |
1268 .Lbswap_mask: | 1276 .Lbswap_mask: |
1269 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 | 1277 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 |
1270 .L0x1c2_polynomial: | 1278 .L0x1c2_polynomial: |
1271 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 | 1279 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1311 .value 0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE | 1319 .value 0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE |
1312 .value 0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE | 1320 .value 0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE |
1313 .value 0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E | 1321 .value 0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E |
1314 .value 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E | 1322 .value 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E |
1315 .value 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE | 1323 .value 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE |
1316 .value 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE | 1324 .value 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE |
1317 | 1325 |
1318 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84
,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,10
8,46,111,114,103,62,0 | 1326 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84
,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,10
8,46,111,114,103,62,0 |
1319 .align 64 | 1327 .align 64 |
1320 #endif | 1328 #endif |
OLD | NEW |