OLD | NEW |
1 #if defined(__x86_64__) | 1 #if defined(__x86_64__) |
2 .text | 2 .text |
3 | 3 |
4 .globl _aesni_encrypt | 4 .globl _aesni_encrypt |
| 5 .private_extern _aesni_encrypt |
5 | 6 |
6 .p2align 4 | 7 .p2align 4 |
7 _aesni_encrypt: | 8 _aesni_encrypt: |
8 movups (%rdi),%xmm2 | 9 movups (%rdi),%xmm2 |
9 movl 240(%rdx),%eax | 10 movl 240(%rdx),%eax |
10 movups (%rdx),%xmm0 | 11 movups (%rdx),%xmm0 |
11 movups 16(%rdx),%xmm1 | 12 movups 16(%rdx),%xmm1 |
12 leaq 32(%rdx),%rdx | 13 leaq 32(%rdx),%rdx |
13 xorps %xmm0,%xmm2 | 14 xorps %xmm0,%xmm2 |
14 L$oop_enc1_1: | 15 L$oop_enc1_1: |
15 .byte 102,15,56,220,209 | 16 .byte 102,15,56,220,209 |
16 decl %eax | 17 decl %eax |
17 movups (%rdx),%xmm1 | 18 movups (%rdx),%xmm1 |
18 leaq 16(%rdx),%rdx | 19 leaq 16(%rdx),%rdx |
19 jnz L$oop_enc1_1 | 20 jnz L$oop_enc1_1 |
20 .byte 102,15,56,221,209 | 21 .byte 102,15,56,221,209 |
21 movups %xmm2,(%rsi) | 22 movups %xmm2,(%rsi) |
22 .byte 0xf3,0xc3 | 23 .byte 0xf3,0xc3 |
23 | 24 |
24 | 25 |
25 .globl _aesni_decrypt | 26 .globl _aesni_decrypt |
| 27 .private_extern _aesni_decrypt |
26 | 28 |
27 .p2align 4 | 29 .p2align 4 |
28 _aesni_decrypt: | 30 _aesni_decrypt: |
29 movups (%rdi),%xmm2 | 31 movups (%rdi),%xmm2 |
30 movl 240(%rdx),%eax | 32 movl 240(%rdx),%eax |
31 movups (%rdx),%xmm0 | 33 movups (%rdx),%xmm0 |
32 movups 16(%rdx),%xmm1 | 34 movups 16(%rdx),%xmm1 |
33 leaq 32(%rdx),%rdx | 35 leaq 32(%rdx),%rdx |
34 xorps %xmm0,%xmm2 | 36 xorps %xmm0,%xmm2 |
35 L$oop_dec1_2: | 37 L$oop_dec1_2: |
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 .byte 102,15,56,223,216 | 496 .byte 102,15,56,223,216 |
495 .byte 102,15,56,223,224 | 497 .byte 102,15,56,223,224 |
496 .byte 102,15,56,223,232 | 498 .byte 102,15,56,223,232 |
497 .byte 102,15,56,223,240 | 499 .byte 102,15,56,223,240 |
498 .byte 102,15,56,223,248 | 500 .byte 102,15,56,223,248 |
499 .byte 102,68,15,56,223,192 | 501 .byte 102,68,15,56,223,192 |
500 .byte 102,68,15,56,223,200 | 502 .byte 102,68,15,56,223,200 |
501 .byte 0xf3,0xc3 | 503 .byte 0xf3,0xc3 |
502 | 504 |
503 .globl _aesni_ecb_encrypt | 505 .globl _aesni_ecb_encrypt |
| 506 .private_extern _aesni_ecb_encrypt |
504 | 507 |
505 .p2align 4 | 508 .p2align 4 |
506 _aesni_ecb_encrypt: | 509 _aesni_ecb_encrypt: |
507 andq $-16,%rdx | 510 andq $-16,%rdx |
508 jz L$ecb_ret | 511 jz L$ecb_ret |
509 | 512 |
510 movl 240(%rcx),%eax | 513 movl 240(%rcx),%eax |
511 movups (%rcx),%xmm0 | 514 movups (%rcx),%xmm0 |
512 movq %rcx,%r11 | 515 movq %rcx,%r11 |
513 movl %eax,%r10d | 516 movl %eax,%r10d |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
794 movups %xmm3,16(%rsi) | 797 movups %xmm3,16(%rsi) |
795 movups %xmm4,32(%rsi) | 798 movups %xmm4,32(%rsi) |
796 movups %xmm5,48(%rsi) | 799 movups %xmm5,48(%rsi) |
797 movups %xmm6,64(%rsi) | 800 movups %xmm6,64(%rsi) |
798 movups %xmm7,80(%rsi) | 801 movups %xmm7,80(%rsi) |
799 | 802 |
800 L$ecb_ret: | 803 L$ecb_ret: |
801 .byte 0xf3,0xc3 | 804 .byte 0xf3,0xc3 |
802 | 805 |
803 .globl _aesni_ccm64_encrypt_blocks | 806 .globl _aesni_ccm64_encrypt_blocks |
| 807 .private_extern _aesni_ccm64_encrypt_blocks |
804 | 808 |
805 .p2align 4 | 809 .p2align 4 |
806 _aesni_ccm64_encrypt_blocks: | 810 _aesni_ccm64_encrypt_blocks: |
807 movl 240(%rcx),%eax | 811 movl 240(%rcx),%eax |
808 movdqu (%r8),%xmm6 | 812 movdqu (%r8),%xmm6 |
809 movdqa L$increment64(%rip),%xmm9 | 813 movdqa L$increment64(%rip),%xmm9 |
810 movdqa L$bswap_mask(%rip),%xmm7 | 814 movdqa L$bswap_mask(%rip),%xmm7 |
811 | 815 |
812 shll $4,%eax | 816 shll $4,%eax |
813 movl $16,%r10d | 817 movl $16,%r10d |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
851 movdqa %xmm6,%xmm2 | 855 movdqa %xmm6,%xmm2 |
852 movups %xmm8,(%rsi) | 856 movups %xmm8,(%rsi) |
853 .byte 102,15,56,0,215 | 857 .byte 102,15,56,0,215 |
854 leaq 16(%rsi),%rsi | 858 leaq 16(%rsi),%rsi |
855 jnz L$ccm64_enc_outer | 859 jnz L$ccm64_enc_outer |
856 | 860 |
857 movups %xmm3,(%r9) | 861 movups %xmm3,(%r9) |
858 .byte 0xf3,0xc3 | 862 .byte 0xf3,0xc3 |
859 | 863 |
860 .globl _aesni_ccm64_decrypt_blocks | 864 .globl _aesni_ccm64_decrypt_blocks |
| 865 .private_extern _aesni_ccm64_decrypt_blocks |
861 | 866 |
862 .p2align 4 | 867 .p2align 4 |
863 _aesni_ccm64_decrypt_blocks: | 868 _aesni_ccm64_decrypt_blocks: |
864 movl 240(%rcx),%eax | 869 movl 240(%rcx),%eax |
865 movups (%r8),%xmm6 | 870 movups (%r8),%xmm6 |
866 movdqu (%r9),%xmm3 | 871 movdqu (%r9),%xmm3 |
867 movdqa L$increment64(%rip),%xmm9 | 872 movdqa L$increment64(%rip),%xmm9 |
868 movdqa L$bswap_mask(%rip),%xmm7 | 873 movdqa L$bswap_mask(%rip),%xmm7 |
869 | 874 |
870 movaps %xmm6,%xmm2 | 875 movaps %xmm6,%xmm2 |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
942 .byte 102,15,56,220,217 | 947 .byte 102,15,56,220,217 |
943 decl %eax | 948 decl %eax |
944 movups (%r11),%xmm1 | 949 movups (%r11),%xmm1 |
945 leaq 16(%r11),%r11 | 950 leaq 16(%r11),%r11 |
946 jnz L$oop_enc1_6 | 951 jnz L$oop_enc1_6 |
947 .byte 102,15,56,221,217 | 952 .byte 102,15,56,221,217 |
948 movups %xmm3,(%r9) | 953 movups %xmm3,(%r9) |
949 .byte 0xf3,0xc3 | 954 .byte 0xf3,0xc3 |
950 | 955 |
951 .globl _aesni_ctr32_encrypt_blocks | 956 .globl _aesni_ctr32_encrypt_blocks |
| 957 .private_extern _aesni_ctr32_encrypt_blocks |
952 | 958 |
953 .p2align 4 | 959 .p2align 4 |
954 _aesni_ctr32_encrypt_blocks: | 960 _aesni_ctr32_encrypt_blocks: |
955 leaq (%rsp),%rax | 961 leaq (%rsp),%rax |
956 pushq %rbp | 962 pushq %rbp |
957 subq $128,%rsp | 963 subq $128,%rsp |
958 andq $-16,%rsp | 964 andq $-16,%rsp |
959 leaq -8(%rax),%rbp | 965 leaq -8(%rax),%rbp |
960 | 966 |
961 cmpq $1,%rdx | 967 cmpq $1,%rdx |
(...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1480 jmp L$ctr32_done | 1486 jmp L$ctr32_done |
1481 | 1487 |
1482 .p2align 4 | 1488 .p2align 4 |
1483 L$ctr32_done: | 1489 L$ctr32_done: |
1484 leaq (%rbp),%rsp | 1490 leaq (%rbp),%rsp |
1485 popq %rbp | 1491 popq %rbp |
1486 L$ctr32_epilogue: | 1492 L$ctr32_epilogue: |
1487 .byte 0xf3,0xc3 | 1493 .byte 0xf3,0xc3 |
1488 | 1494 |
1489 .globl _aesni_xts_encrypt | 1495 .globl _aesni_xts_encrypt |
| 1496 .private_extern _aesni_xts_encrypt |
1490 | 1497 |
1491 .p2align 4 | 1498 .p2align 4 |
1492 _aesni_xts_encrypt: | 1499 _aesni_xts_encrypt: |
1493 leaq (%rsp),%rax | 1500 leaq (%rsp),%rax |
1494 pushq %rbp | 1501 pushq %rbp |
1495 subq $112,%rsp | 1502 subq $112,%rsp |
1496 andq $-16,%rsp | 1503 andq $-16,%rsp |
1497 leaq -8(%rax),%rbp | 1504 leaq -8(%rax),%rbp |
1498 movups (%r9),%xmm2 | 1505 movups (%r9),%xmm2 |
1499 movl 240(%r8),%eax | 1506 movl 240(%r8),%eax |
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1920 xorps %xmm10,%xmm2 | 1927 xorps %xmm10,%xmm2 |
1921 movups %xmm2,-16(%rsi) | 1928 movups %xmm2,-16(%rsi) |
1922 | 1929 |
1923 L$xts_enc_ret: | 1930 L$xts_enc_ret: |
1924 leaq (%rbp),%rsp | 1931 leaq (%rbp),%rsp |
1925 popq %rbp | 1932 popq %rbp |
1926 L$xts_enc_epilogue: | 1933 L$xts_enc_epilogue: |
1927 .byte 0xf3,0xc3 | 1934 .byte 0xf3,0xc3 |
1928 | 1935 |
1929 .globl _aesni_xts_decrypt | 1936 .globl _aesni_xts_decrypt |
| 1937 .private_extern _aesni_xts_decrypt |
1930 | 1938 |
1931 .p2align 4 | 1939 .p2align 4 |
1932 _aesni_xts_decrypt: | 1940 _aesni_xts_decrypt: |
1933 leaq (%rsp),%rax | 1941 leaq (%rsp),%rax |
1934 pushq %rbp | 1942 pushq %rbp |
1935 subq $112,%rsp | 1943 subq $112,%rsp |
1936 andq $-16,%rsp | 1944 andq $-16,%rsp |
1937 leaq -8(%rax),%rbp | 1945 leaq -8(%rax),%rbp |
1938 movups (%r9),%xmm2 | 1946 movups (%r9),%xmm2 |
1939 movl 240(%r8),%eax | 1947 movl 240(%r8),%eax |
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2398 xorps %xmm10,%xmm2 | 2406 xorps %xmm10,%xmm2 |
2399 movups %xmm2,(%rsi) | 2407 movups %xmm2,(%rsi) |
2400 | 2408 |
2401 L$xts_dec_ret: | 2409 L$xts_dec_ret: |
2402 leaq (%rbp),%rsp | 2410 leaq (%rbp),%rsp |
2403 popq %rbp | 2411 popq %rbp |
2404 L$xts_dec_epilogue: | 2412 L$xts_dec_epilogue: |
2405 .byte 0xf3,0xc3 | 2413 .byte 0xf3,0xc3 |
2406 | 2414 |
2407 .globl _aesni_cbc_encrypt | 2415 .globl _aesni_cbc_encrypt |
| 2416 .private_extern _aesni_cbc_encrypt |
2408 | 2417 |
2409 .p2align 4 | 2418 .p2align 4 |
2410 _aesni_cbc_encrypt: | 2419 _aesni_cbc_encrypt: |
2411 testq %rdx,%rdx | 2420 testq %rdx,%rdx |
2412 jz L$cbc_ret | 2421 jz L$cbc_ret |
2413 | 2422 |
2414 movl 240(%rcx),%r10d | 2423 movl 240(%rcx),%r10d |
2415 movq %rcx,%r11 | 2424 movq %rcx,%r11 |
2416 testl %r9d,%r9d | 2425 testl %r9d,%r9d |
2417 jz L$cbc_decrypt | 2426 jz L$cbc_decrypt |
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2914 leaq (%rsp),%rsi | 2923 leaq (%rsp),%rsi |
2915 .long 0x9066A4F3 | 2924 .long 0x9066A4F3 |
2916 | 2925 |
2917 L$cbc_dec_ret: | 2926 L$cbc_dec_ret: |
2918 leaq (%rbp),%rsp | 2927 leaq (%rbp),%rsp |
2919 popq %rbp | 2928 popq %rbp |
2920 L$cbc_ret: | 2929 L$cbc_ret: |
2921 .byte 0xf3,0xc3 | 2930 .byte 0xf3,0xc3 |
2922 | 2931 |
2923 .globl _aesni_set_decrypt_key | 2932 .globl _aesni_set_decrypt_key |
| 2933 .private_extern _aesni_set_decrypt_key |
2924 | 2934 |
2925 .p2align 4 | 2935 .p2align 4 |
2926 _aesni_set_decrypt_key: | 2936 _aesni_set_decrypt_key: |
2927 .byte 0x48,0x83,0xEC,0x08 | 2937 .byte 0x48,0x83,0xEC,0x08 |
2928 call __aesni_set_encrypt_key | 2938 call __aesni_set_encrypt_key |
2929 shll $4,%esi | 2939 shll $4,%esi |
2930 testl %eax,%eax | 2940 testl %eax,%eax |
2931 jnz L$dec_key_ret | 2941 jnz L$dec_key_ret |
2932 leaq 16(%rdx,%rsi,1),%rdi | 2942 leaq 16(%rdx,%rsi,1),%rdi |
2933 | 2943 |
(...skipping 18 matching lines...) Expand all Loading... |
2952 | 2962 |
2953 movups (%rdx),%xmm0 | 2963 movups (%rdx),%xmm0 |
2954 .byte 102,15,56,219,192 | 2964 .byte 102,15,56,219,192 |
2955 movups %xmm0,(%rdi) | 2965 movups %xmm0,(%rdi) |
2956 L$dec_key_ret: | 2966 L$dec_key_ret: |
2957 addq $8,%rsp | 2967 addq $8,%rsp |
2958 .byte 0xf3,0xc3 | 2968 .byte 0xf3,0xc3 |
2959 L$SEH_end_set_decrypt_key: | 2969 L$SEH_end_set_decrypt_key: |
2960 | 2970 |
2961 .globl _aesni_set_encrypt_key | 2971 .globl _aesni_set_encrypt_key |
| 2972 .private_extern _aesni_set_encrypt_key |
2962 | 2973 |
2963 .p2align 4 | 2974 .p2align 4 |
2964 _aesni_set_encrypt_key: | 2975 _aesni_set_encrypt_key: |
2965 __aesni_set_encrypt_key: | 2976 __aesni_set_encrypt_key: |
2966 .byte 0x48,0x83,0xEC,0x08 | 2977 .byte 0x48,0x83,0xEC,0x08 |
2967 movq $-1,%rax | 2978 movq $-1,%rax |
2968 testq %rdi,%rdi | 2979 testq %rdi,%rdi |
2969 jz L$enc_key_ret | 2980 jz L$enc_key_ret |
2970 testq %rdx,%rdx | 2981 testq %rdx,%rdx |
2971 jz L$enc_key_ret | 2982 jz L$enc_key_ret |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3158 L$increment64: | 3169 L$increment64: |
3159 .long 1,0,0,0 | 3170 .long 1,0,0,0 |
3160 L$xts_magic: | 3171 L$xts_magic: |
3161 .long 0x87,0,1,0 | 3172 .long 0x87,0,1,0 |
3162 L$increment1: | 3173 L$increment1: |
3163 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 | 3174 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 |
3164 | 3175 |
3165 .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69,83,45,78,73,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,108,46,111,114,103,62,0 | 3176 .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69,83,45,78,73,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,108,46,111,114,103,62,0 |
3166 .p2align 6 | 3177 .p2align 6 |
3167 #endif | 3178 #endif |
OLD | NEW |