Index: third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm |
diff --git a/third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm |
index 168f78db3f491345fbaf5e296298db00e13c559d..0f5361a1b54d5e5dab0a18bb790020c572a771f5 100644 |
--- a/third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm |
+++ b/third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm |
@@ -24,11 +24,6 @@ $L$SEH_begin_sha1_block_data_order: |
mov r10d,DWORD[((OPENSSL_ia32cap_P+8))] |
test r8d,512 |
jz NEAR $L$ialu |
- and r8d,268435456 |
- and r9d,1073741824 |
- or r8d,r9d |
- cmp r8d,1342177280 |
- je NEAR _avx_shortcut |
jmp NEAR _ssse3_shortcut |
ALIGN 16 |
@@ -2450,1146 +2445,6 @@ $L$epilogue_ssse3: |
mov rsi,QWORD[16+rsp] |
DB 0F3h,0C3h ;repret |
$L$SEH_end_sha1_block_data_order_ssse3: |
- |
-ALIGN 16 |
-sha1_block_data_order_avx: |
- mov QWORD[8+rsp],rdi ;WIN64 prologue |
- mov QWORD[16+rsp],rsi |
- mov rax,rsp |
-$L$SEH_begin_sha1_block_data_order_avx: |
- mov rdi,rcx |
- mov rsi,rdx |
- mov rdx,r8 |
- |
- |
-_avx_shortcut: |
- mov rax,rsp |
- push rbx |
- push rbp |
- push r12 |
- push r13 |
- push r14 |
- lea rsp,[((-160))+rsp] |
- vzeroupper |
- vmovaps XMMWORD[(-40-96)+rax],xmm6 |
- vmovaps XMMWORD[(-40-80)+rax],xmm7 |
- vmovaps XMMWORD[(-40-64)+rax],xmm8 |
- vmovaps XMMWORD[(-40-48)+rax],xmm9 |
- vmovaps XMMWORD[(-40-32)+rax],xmm10 |
- vmovaps XMMWORD[(-40-16)+rax],xmm11 |
-$L$prologue_avx: |
- mov r14,rax |
- and rsp,-64 |
- mov r8,rdi |
- mov r9,rsi |
- mov r10,rdx |
- |
- shl r10,6 |
- add r10,r9 |
- lea r11,[((K_XX_XX+64))] |
- |
- mov eax,DWORD[r8] |
- mov ebx,DWORD[4+r8] |
- mov ecx,DWORD[8+r8] |
- mov edx,DWORD[12+r8] |
- mov esi,ebx |
- mov ebp,DWORD[16+r8] |
- mov edi,ecx |
- xor edi,edx |
- and esi,edi |
- |
- vmovdqa xmm6,XMMWORD[64+r11] |
- vmovdqa xmm11,XMMWORD[((-64))+r11] |
- vmovdqu xmm0,XMMWORD[r9] |
- vmovdqu xmm1,XMMWORD[16+r9] |
- vmovdqu xmm2,XMMWORD[32+r9] |
- vmovdqu xmm3,XMMWORD[48+r9] |
- vpshufb xmm0,xmm0,xmm6 |
- add r9,64 |
- vpshufb xmm1,xmm1,xmm6 |
- vpshufb xmm2,xmm2,xmm6 |
- vpshufb xmm3,xmm3,xmm6 |
- vpaddd xmm4,xmm0,xmm11 |
- vpaddd xmm5,xmm1,xmm11 |
- vpaddd xmm6,xmm2,xmm11 |
- vmovdqa XMMWORD[rsp],xmm4 |
- vmovdqa XMMWORD[16+rsp],xmm5 |
- vmovdqa XMMWORD[32+rsp],xmm6 |
- jmp NEAR $L$oop_avx |
-ALIGN 16 |
-$L$oop_avx: |
- shrd ebx,ebx,2 |
- xor esi,edx |
- vpalignr xmm4,xmm1,xmm0,8 |
- mov edi,eax |
- add ebp,DWORD[rsp] |
- vpaddd xmm9,xmm11,xmm3 |
- xor ebx,ecx |
- shld eax,eax,5 |
- vpsrldq xmm8,xmm3,4 |
- add ebp,esi |
- and edi,ebx |
- vpxor xmm4,xmm4,xmm0 |
- xor ebx,ecx |
- add ebp,eax |
- vpxor xmm8,xmm8,xmm2 |
- shrd eax,eax,7 |
- xor edi,ecx |
- mov esi,ebp |
- add edx,DWORD[4+rsp] |
- vpxor xmm4,xmm4,xmm8 |
- xor eax,ebx |
- shld ebp,ebp,5 |
- vmovdqa XMMWORD[48+rsp],xmm9 |
- add edx,edi |
- and esi,eax |
- vpsrld xmm8,xmm4,31 |
- xor eax,ebx |
- add edx,ebp |
- shrd ebp,ebp,7 |
- xor esi,ebx |
- vpslldq xmm10,xmm4,12 |
- vpaddd xmm4,xmm4,xmm4 |
- mov edi,edx |
- add ecx,DWORD[8+rsp] |
- xor ebp,eax |
- shld edx,edx,5 |
- vpsrld xmm9,xmm10,30 |
- vpor xmm4,xmm4,xmm8 |
- add ecx,esi |
- and edi,ebp |
- xor ebp,eax |
- add ecx,edx |
- vpslld xmm10,xmm10,2 |
- vpxor xmm4,xmm4,xmm9 |
- shrd edx,edx,7 |
- xor edi,eax |
- mov esi,ecx |
- add ebx,DWORD[12+rsp] |
- vpxor xmm4,xmm4,xmm10 |
- xor edx,ebp |
- shld ecx,ecx,5 |
- add ebx,edi |
- and esi,edx |
- xor edx,ebp |
- add ebx,ecx |
- shrd ecx,ecx,7 |
- xor esi,ebp |
- vpalignr xmm5,xmm2,xmm1,8 |
- mov edi,ebx |
- add eax,DWORD[16+rsp] |
- vpaddd xmm9,xmm11,xmm4 |
- xor ecx,edx |
- shld ebx,ebx,5 |
- vpsrldq xmm8,xmm4,4 |
- add eax,esi |
- and edi,ecx |
- vpxor xmm5,xmm5,xmm1 |
- xor ecx,edx |
- add eax,ebx |
- vpxor xmm8,xmm8,xmm3 |
- shrd ebx,ebx,7 |
- xor edi,edx |
- mov esi,eax |
- add ebp,DWORD[20+rsp] |
- vpxor xmm5,xmm5,xmm8 |
- xor ebx,ecx |
- shld eax,eax,5 |
- vmovdqa XMMWORD[rsp],xmm9 |
- add ebp,edi |
- and esi,ebx |
- vpsrld xmm8,xmm5,31 |
- xor ebx,ecx |
- add ebp,eax |
- shrd eax,eax,7 |
- xor esi,ecx |
- vpslldq xmm10,xmm5,12 |
- vpaddd xmm5,xmm5,xmm5 |
- mov edi,ebp |
- add edx,DWORD[24+rsp] |
- xor eax,ebx |
- shld ebp,ebp,5 |
- vpsrld xmm9,xmm10,30 |
- vpor xmm5,xmm5,xmm8 |
- add edx,esi |
- and edi,eax |
- xor eax,ebx |
- add edx,ebp |
- vpslld xmm10,xmm10,2 |
- vpxor xmm5,xmm5,xmm9 |
- shrd ebp,ebp,7 |
- xor edi,ebx |
- mov esi,edx |
- add ecx,DWORD[28+rsp] |
- vpxor xmm5,xmm5,xmm10 |
- xor ebp,eax |
- shld edx,edx,5 |
- vmovdqa xmm11,XMMWORD[((-32))+r11] |
- add ecx,edi |
- and esi,ebp |
- xor ebp,eax |
- add ecx,edx |
- shrd edx,edx,7 |
- xor esi,eax |
- vpalignr xmm6,xmm3,xmm2,8 |
- mov edi,ecx |
- add ebx,DWORD[32+rsp] |
- vpaddd xmm9,xmm11,xmm5 |
- xor edx,ebp |
- shld ecx,ecx,5 |
- vpsrldq xmm8,xmm5,4 |
- add ebx,esi |
- and edi,edx |
- vpxor xmm6,xmm6,xmm2 |
- xor edx,ebp |
- add ebx,ecx |
- vpxor xmm8,xmm8,xmm4 |
- shrd ecx,ecx,7 |
- xor edi,ebp |
- mov esi,ebx |
- add eax,DWORD[36+rsp] |
- vpxor xmm6,xmm6,xmm8 |
- xor ecx,edx |
- shld ebx,ebx,5 |
- vmovdqa XMMWORD[16+rsp],xmm9 |
- add eax,edi |
- and esi,ecx |
- vpsrld xmm8,xmm6,31 |
- xor ecx,edx |
- add eax,ebx |
- shrd ebx,ebx,7 |
- xor esi,edx |
- vpslldq xmm10,xmm6,12 |
- vpaddd xmm6,xmm6,xmm6 |
- mov edi,eax |
- add ebp,DWORD[40+rsp] |
- xor ebx,ecx |
- shld eax,eax,5 |
- vpsrld xmm9,xmm10,30 |
- vpor xmm6,xmm6,xmm8 |
- add ebp,esi |
- and edi,ebx |
- xor ebx,ecx |
- add ebp,eax |
- vpslld xmm10,xmm10,2 |
- vpxor xmm6,xmm6,xmm9 |
- shrd eax,eax,7 |
- xor edi,ecx |
- mov esi,ebp |
- add edx,DWORD[44+rsp] |
- vpxor xmm6,xmm6,xmm10 |
- xor eax,ebx |
- shld ebp,ebp,5 |
- add edx,edi |
- and esi,eax |
- xor eax,ebx |
- add edx,ebp |
- shrd ebp,ebp,7 |
- xor esi,ebx |
- vpalignr xmm7,xmm4,xmm3,8 |
- mov edi,edx |
- add ecx,DWORD[48+rsp] |
- vpaddd xmm9,xmm11,xmm6 |
- xor ebp,eax |
- shld edx,edx,5 |
- vpsrldq xmm8,xmm6,4 |
- add ecx,esi |
- and edi,ebp |
- vpxor xmm7,xmm7,xmm3 |
- xor ebp,eax |
- add ecx,edx |
- vpxor xmm8,xmm8,xmm5 |
- shrd edx,edx,7 |
- xor edi,eax |
- mov esi,ecx |
- add ebx,DWORD[52+rsp] |
- vpxor xmm7,xmm7,xmm8 |
- xor edx,ebp |
- shld ecx,ecx,5 |
- vmovdqa XMMWORD[32+rsp],xmm9 |
- add ebx,edi |
- and esi,edx |
- vpsrld xmm8,xmm7,31 |
- xor edx,ebp |
- add ebx,ecx |
- shrd ecx,ecx,7 |
- xor esi,ebp |
- vpslldq xmm10,xmm7,12 |
- vpaddd xmm7,xmm7,xmm7 |
- mov edi,ebx |
- add eax,DWORD[56+rsp] |
- xor ecx,edx |
- shld ebx,ebx,5 |
- vpsrld xmm9,xmm10,30 |
- vpor xmm7,xmm7,xmm8 |
- add eax,esi |
- and edi,ecx |
- xor ecx,edx |
- add eax,ebx |
- vpslld xmm10,xmm10,2 |
- vpxor xmm7,xmm7,xmm9 |
- shrd ebx,ebx,7 |
- xor edi,edx |
- mov esi,eax |
- add ebp,DWORD[60+rsp] |
- vpxor xmm7,xmm7,xmm10 |
- xor ebx,ecx |
- shld eax,eax,5 |
- add ebp,edi |
- and esi,ebx |
- xor ebx,ecx |
- add ebp,eax |
- vpalignr xmm8,xmm7,xmm6,8 |
- vpxor xmm0,xmm0,xmm4 |
- shrd eax,eax,7 |
- xor esi,ecx |
- mov edi,ebp |
- add edx,DWORD[rsp] |
- vpxor xmm0,xmm0,xmm1 |
- xor eax,ebx |
- shld ebp,ebp,5 |
- vpaddd xmm9,xmm11,xmm7 |
- add edx,esi |
- and edi,eax |
- vpxor xmm0,xmm0,xmm8 |
- xor eax,ebx |
- add edx,ebp |
- shrd ebp,ebp,7 |
- xor edi,ebx |
- vpsrld xmm8,xmm0,30 |
- vmovdqa XMMWORD[48+rsp],xmm9 |
- mov esi,edx |
- add ecx,DWORD[4+rsp] |
- xor ebp,eax |
- shld edx,edx,5 |
- vpslld xmm0,xmm0,2 |
- add ecx,edi |
- and esi,ebp |
- xor ebp,eax |
- add ecx,edx |
- shrd edx,edx,7 |
- xor esi,eax |
- mov edi,ecx |
- add ebx,DWORD[8+rsp] |
- vpor xmm0,xmm0,xmm8 |
- xor edx,ebp |
- shld ecx,ecx,5 |
- add ebx,esi |
- and edi,edx |
- xor edx,ebp |
- add ebx,ecx |
- add eax,DWORD[12+rsp] |
- xor edi,ebp |
- mov esi,ebx |
- shld ebx,ebx,5 |
- add eax,edi |
- xor esi,edx |
- shrd ecx,ecx,7 |
- add eax,ebx |
- vpalignr xmm8,xmm0,xmm7,8 |
- vpxor xmm1,xmm1,xmm5 |
- add ebp,DWORD[16+rsp] |
- xor esi,ecx |
- mov edi,eax |
- shld eax,eax,5 |
- vpxor xmm1,xmm1,xmm2 |
- add ebp,esi |
- xor edi,ecx |
- vpaddd xmm9,xmm11,xmm0 |
- shrd ebx,ebx,7 |
- add ebp,eax |
- vpxor xmm1,xmm1,xmm8 |
- add edx,DWORD[20+rsp] |
- xor edi,ebx |
- mov esi,ebp |
- shld ebp,ebp,5 |
- vpsrld xmm8,xmm1,30 |
- vmovdqa XMMWORD[rsp],xmm9 |
- add edx,edi |
- xor esi,ebx |
- shrd eax,eax,7 |
- add edx,ebp |
- vpslld xmm1,xmm1,2 |
- add ecx,DWORD[24+rsp] |
- xor esi,eax |
- mov edi,edx |
- shld edx,edx,5 |
- add ecx,esi |
- xor edi,eax |
- shrd ebp,ebp,7 |
- add ecx,edx |
- vpor xmm1,xmm1,xmm8 |
- add ebx,DWORD[28+rsp] |
- xor edi,ebp |
- mov esi,ecx |
- shld ecx,ecx,5 |
- add ebx,edi |
- xor esi,ebp |
- shrd edx,edx,7 |
- add ebx,ecx |
- vpalignr xmm8,xmm1,xmm0,8 |
- vpxor xmm2,xmm2,xmm6 |
- add eax,DWORD[32+rsp] |
- xor esi,edx |
- mov edi,ebx |
- shld ebx,ebx,5 |
- vpxor xmm2,xmm2,xmm3 |
- add eax,esi |
- xor edi,edx |
- vpaddd xmm9,xmm11,xmm1 |
- vmovdqa xmm11,XMMWORD[r11] |
- shrd ecx,ecx,7 |
- add eax,ebx |
- vpxor xmm2,xmm2,xmm8 |
- add ebp,DWORD[36+rsp] |
- xor edi,ecx |
- mov esi,eax |
- shld eax,eax,5 |
- vpsrld xmm8,xmm2,30 |
- vmovdqa XMMWORD[16+rsp],xmm9 |
- add ebp,edi |
- xor esi,ecx |
- shrd ebx,ebx,7 |
- add ebp,eax |
- vpslld xmm2,xmm2,2 |
- add edx,DWORD[40+rsp] |
- xor esi,ebx |
- mov edi,ebp |
- shld ebp,ebp,5 |
- add edx,esi |
- xor edi,ebx |
- shrd eax,eax,7 |
- add edx,ebp |
- vpor xmm2,xmm2,xmm8 |
- add ecx,DWORD[44+rsp] |
- xor edi,eax |
- mov esi,edx |
- shld edx,edx,5 |
- add ecx,edi |
- xor esi,eax |
- shrd ebp,ebp,7 |
- add ecx,edx |
- vpalignr xmm8,xmm2,xmm1,8 |
- vpxor xmm3,xmm3,xmm7 |
- add ebx,DWORD[48+rsp] |
- xor esi,ebp |
- mov edi,ecx |
- shld ecx,ecx,5 |
- vpxor xmm3,xmm3,xmm4 |
- add ebx,esi |
- xor edi,ebp |
- vpaddd xmm9,xmm11,xmm2 |
- shrd edx,edx,7 |
- add ebx,ecx |
- vpxor xmm3,xmm3,xmm8 |
- add eax,DWORD[52+rsp] |
- xor edi,edx |
- mov esi,ebx |
- shld ebx,ebx,5 |
- vpsrld xmm8,xmm3,30 |
- vmovdqa XMMWORD[32+rsp],xmm9 |
- add eax,edi |
- xor esi,edx |
- shrd ecx,ecx,7 |
- add eax,ebx |
- vpslld xmm3,xmm3,2 |
- add ebp,DWORD[56+rsp] |
- xor esi,ecx |
- mov edi,eax |
- shld eax,eax,5 |
- add ebp,esi |
- xor edi,ecx |
- shrd ebx,ebx,7 |
- add ebp,eax |
- vpor xmm3,xmm3,xmm8 |
- add edx,DWORD[60+rsp] |
- xor edi,ebx |
- mov esi,ebp |
- shld ebp,ebp,5 |
- add edx,edi |
- xor esi,ebx |
- shrd eax,eax,7 |
- add edx,ebp |
- vpalignr xmm8,xmm3,xmm2,8 |
- vpxor xmm4,xmm4,xmm0 |
- add ecx,DWORD[rsp] |
- xor esi,eax |
- mov edi,edx |
- shld edx,edx,5 |
- vpxor xmm4,xmm4,xmm5 |
- add ecx,esi |
- xor edi,eax |
- vpaddd xmm9,xmm11,xmm3 |
- shrd ebp,ebp,7 |
- add ecx,edx |
- vpxor xmm4,xmm4,xmm8 |
- add ebx,DWORD[4+rsp] |
- xor edi,ebp |
- mov esi,ecx |
- shld ecx,ecx,5 |
- vpsrld xmm8,xmm4,30 |
- vmovdqa XMMWORD[48+rsp],xmm9 |
- add ebx,edi |
- xor esi,ebp |
- shrd edx,edx,7 |
- add ebx,ecx |
- vpslld xmm4,xmm4,2 |
- add eax,DWORD[8+rsp] |
- xor esi,edx |
- mov edi,ebx |
- shld ebx,ebx,5 |
- add eax,esi |
- xor edi,edx |
- shrd ecx,ecx,7 |
- add eax,ebx |
- vpor xmm4,xmm4,xmm8 |
- add ebp,DWORD[12+rsp] |
- xor edi,ecx |
- mov esi,eax |
- shld eax,eax,5 |
- add ebp,edi |
- xor esi,ecx |
- shrd ebx,ebx,7 |
- add ebp,eax |
- vpalignr xmm8,xmm4,xmm3,8 |
- vpxor xmm5,xmm5,xmm1 |
- add edx,DWORD[16+rsp] |
- xor esi,ebx |
- mov edi,ebp |
- shld ebp,ebp,5 |
- vpxor xmm5,xmm5,xmm6 |
- add edx,esi |
- xor edi,ebx |
- vpaddd xmm9,xmm11,xmm4 |
- shrd eax,eax,7 |
- add edx,ebp |
- vpxor xmm5,xmm5,xmm8 |
- add ecx,DWORD[20+rsp] |
- xor edi,eax |
- mov esi,edx |
- shld edx,edx,5 |
- vpsrld xmm8,xmm5,30 |
- vmovdqa XMMWORD[rsp],xmm9 |
- add ecx,edi |
- xor esi,eax |
- shrd ebp,ebp,7 |
- add ecx,edx |
- vpslld xmm5,xmm5,2 |
- add ebx,DWORD[24+rsp] |
- xor esi,ebp |
- mov edi,ecx |
- shld ecx,ecx,5 |
- add ebx,esi |
- xor edi,ebp |
- shrd edx,edx,7 |
- add ebx,ecx |
- vpor xmm5,xmm5,xmm8 |
- add eax,DWORD[28+rsp] |
- shrd ecx,ecx,7 |
- mov esi,ebx |
- xor edi,edx |
- shld ebx,ebx,5 |
- add eax,edi |
- xor esi,ecx |
- xor ecx,edx |
- add eax,ebx |
- vpalignr xmm8,xmm5,xmm4,8 |
- vpxor xmm6,xmm6,xmm2 |
- add ebp,DWORD[32+rsp] |
- and esi,ecx |
- xor ecx,edx |
- shrd ebx,ebx,7 |
- vpxor xmm6,xmm6,xmm7 |
- mov edi,eax |
- xor esi,ecx |
- vpaddd xmm9,xmm11,xmm5 |
- shld eax,eax,5 |
- add ebp,esi |
- vpxor xmm6,xmm6,xmm8 |
- xor edi,ebx |
- xor ebx,ecx |
- add ebp,eax |
- add edx,DWORD[36+rsp] |
- vpsrld xmm8,xmm6,30 |
- vmovdqa XMMWORD[16+rsp],xmm9 |
- and edi,ebx |
- xor ebx,ecx |
- shrd eax,eax,7 |
- mov esi,ebp |
- vpslld xmm6,xmm6,2 |
- xor edi,ebx |
- shld ebp,ebp,5 |
- add edx,edi |
- xor esi,eax |
- xor eax,ebx |
- add edx,ebp |
- add ecx,DWORD[40+rsp] |
- and esi,eax |
- vpor xmm6,xmm6,xmm8 |
- xor eax,ebx |
- shrd ebp,ebp,7 |
- mov edi,edx |
- xor esi,eax |
- shld edx,edx,5 |
- add ecx,esi |
- xor edi,ebp |
- xor ebp,eax |
- add ecx,edx |
- add ebx,DWORD[44+rsp] |
- and edi,ebp |
- xor ebp,eax |
- shrd edx,edx,7 |
- mov esi,ecx |
- xor edi,ebp |
- shld ecx,ecx,5 |
- add ebx,edi |
- xor esi,edx |
- xor edx,ebp |
- add ebx,ecx |
- vpalignr xmm8,xmm6,xmm5,8 |
- vpxor xmm7,xmm7,xmm3 |
- add eax,DWORD[48+rsp] |
- and esi,edx |
- xor edx,ebp |
- shrd ecx,ecx,7 |
- vpxor xmm7,xmm7,xmm0 |
- mov edi,ebx |
- xor esi,edx |
- vpaddd xmm9,xmm11,xmm6 |
- vmovdqa xmm11,XMMWORD[32+r11] |
- shld ebx,ebx,5 |
- add eax,esi |
- vpxor xmm7,xmm7,xmm8 |
- xor edi,ecx |
- xor ecx,edx |
- add eax,ebx |
- add ebp,DWORD[52+rsp] |
- vpsrld xmm8,xmm7,30 |
- vmovdqa XMMWORD[32+rsp],xmm9 |
- and edi,ecx |
- xor ecx,edx |
- shrd ebx,ebx,7 |
- mov esi,eax |
- vpslld xmm7,xmm7,2 |
- xor edi,ecx |
- shld eax,eax,5 |
- add ebp,edi |
- xor esi,ebx |
- xor ebx,ecx |
- add ebp,eax |
- add edx,DWORD[56+rsp] |
- and esi,ebx |
- vpor xmm7,xmm7,xmm8 |
- xor ebx,ecx |
- shrd eax,eax,7 |
- mov edi,ebp |
- xor esi,ebx |
- shld ebp,ebp,5 |
- add edx,esi |
- xor edi,eax |
- xor eax,ebx |
- add edx,ebp |
- add ecx,DWORD[60+rsp] |
- and edi,eax |
- xor eax,ebx |
- shrd ebp,ebp,7 |
- mov esi,edx |
- xor edi,eax |
- shld edx,edx,5 |
- add ecx,edi |
- xor esi,ebp |
- xor ebp,eax |
- add ecx,edx |
- vpalignr xmm8,xmm7,xmm6,8 |
- vpxor xmm0,xmm0,xmm4 |
- add ebx,DWORD[rsp] |
- and esi,ebp |
- xor ebp,eax |
- shrd edx,edx,7 |
- vpxor xmm0,xmm0,xmm1 |
- mov edi,ecx |
- xor esi,ebp |
- vpaddd xmm9,xmm11,xmm7 |
- shld ecx,ecx,5 |
- add ebx,esi |
- vpxor xmm0,xmm0,xmm8 |
- xor edi,edx |
- xor edx,ebp |
- add ebx,ecx |
- add eax,DWORD[4+rsp] |
- vpsrld xmm8,xmm0,30 |
- vmovdqa XMMWORD[48+rsp],xmm9 |
- and edi,edx |
- xor edx,ebp |
- shrd ecx,ecx,7 |
- mov esi,ebx |
- vpslld xmm0,xmm0,2 |
- xor edi,edx |
- shld ebx,ebx,5 |
- add eax,edi |
- xor esi,ecx |
- xor ecx,edx |
- add eax,ebx |
- add ebp,DWORD[8+rsp] |
- and esi,ecx |
- vpor xmm0,xmm0,xmm8 |
- xor ecx,edx |
- shrd ebx,ebx,7 |
- mov edi,eax |
- xor esi,ecx |
- shld eax,eax,5 |
- add ebp,esi |
- xor edi,ebx |
- xor ebx,ecx |
- add ebp,eax |
- add edx,DWORD[12+rsp] |
- and edi,ebx |
- xor ebx,ecx |
- shrd eax,eax,7 |
- mov esi,ebp |
- xor edi,ebx |
- shld ebp,ebp,5 |
- add edx,edi |
- xor esi,eax |
- xor eax,ebx |
- add edx,ebp |
- vpalignr xmm8,xmm0,xmm7,8 |
- vpxor xmm1,xmm1,xmm5 |
- add ecx,DWORD[16+rsp] |
- and esi,eax |
- xor eax,ebx |
- shrd ebp,ebp,7 |
- vpxor xmm1,xmm1,xmm2 |
- mov edi,edx |
- xor esi,eax |
- vpaddd xmm9,xmm11,xmm0 |
- shld edx,edx,5 |
- add ecx,esi |
- vpxor xmm1,xmm1,xmm8 |
- xor edi,ebp |
- xor ebp,eax |
- add ecx,edx |
- add ebx,DWORD[20+rsp] |
- vpsrld xmm8,xmm1,30 |
- vmovdqa XMMWORD[rsp],xmm9 |
- and edi,ebp |
- xor ebp,eax |
- shrd edx,edx,7 |
- mov esi,ecx |
- vpslld xmm1,xmm1,2 |
- xor edi,ebp |
- shld ecx,ecx,5 |
- add ebx,edi |
- xor esi,edx |
- xor edx,ebp |
- add ebx,ecx |
- add eax,DWORD[24+rsp] |
- and esi,edx |
- vpor xmm1,xmm1,xmm8 |
- xor edx,ebp |
- shrd ecx,ecx,7 |
- mov edi,ebx |
- xor esi,edx |
- shld ebx,ebx,5 |
- add eax,esi |
- xor edi,ecx |
- xor ecx,edx |
- add eax,ebx |
- add ebp,DWORD[28+rsp] |
- and edi,ecx |
- xor ecx,edx |
- shrd ebx,ebx,7 |
- mov esi,eax |
- xor edi,ecx |
- shld eax,eax,5 |
- add ebp,edi |
- xor esi,ebx |
- xor ebx,ecx |
- add ebp,eax |
- vpalignr xmm8,xmm1,xmm0,8 |
- vpxor xmm2,xmm2,xmm6 |
- add edx,DWORD[32+rsp] |
- and esi,ebx |
- xor ebx,ecx |
- shrd eax,eax,7 |
- vpxor xmm2,xmm2,xmm3 |
- mov edi,ebp |
- xor esi,ebx |
- vpaddd xmm9,xmm11,xmm1 |
- shld ebp,ebp,5 |
- add edx,esi |
- vpxor xmm2,xmm2,xmm8 |
- xor edi,eax |
- xor eax,ebx |
- add edx,ebp |
- add ecx,DWORD[36+rsp] |
- vpsrld xmm8,xmm2,30 |
- vmovdqa XMMWORD[16+rsp],xmm9 |
- and edi,eax |
- xor eax,ebx |
- shrd ebp,ebp,7 |
- mov esi,edx |
- vpslld xmm2,xmm2,2 |
- xor edi,eax |
- shld edx,edx,5 |
- add ecx,edi |
- xor esi,ebp |
- xor ebp,eax |
- add ecx,edx |
- add ebx,DWORD[40+rsp] |
- and esi,ebp |
- vpor xmm2,xmm2,xmm8 |
- xor ebp,eax |
- shrd edx,edx,7 |
- mov edi,ecx |
- xor esi,ebp |
- shld ecx,ecx,5 |
- add ebx,esi |
- xor edi,edx |
- xor edx,ebp |
- add ebx,ecx |
- add eax,DWORD[44+rsp] |
- and edi,edx |
- xor edx,ebp |
- shrd ecx,ecx,7 |
- mov esi,ebx |
- xor edi,edx |
- shld ebx,ebx,5 |
- add eax,edi |
- xor esi,edx |
- add eax,ebx |
- vpalignr xmm8,xmm2,xmm1,8 |
- vpxor xmm3,xmm3,xmm7 |
- add ebp,DWORD[48+rsp] |
- xor esi,ecx |
- mov edi,eax |
- shld eax,eax,5 |
- vpxor xmm3,xmm3,xmm4 |
- add ebp,esi |
- xor edi,ecx |
- vpaddd xmm9,xmm11,xmm2 |
- shrd ebx,ebx,7 |
- add ebp,eax |
- vpxor xmm3,xmm3,xmm8 |
- add edx,DWORD[52+rsp] |
- xor edi,ebx |
- mov esi,ebp |
- shld ebp,ebp,5 |
- vpsrld xmm8,xmm3,30 |
- vmovdqa XMMWORD[32+rsp],xmm9 |
- add edx,edi |
- xor esi,ebx |
- shrd eax,eax,7 |
- add edx,ebp |
- vpslld xmm3,xmm3,2 |
- add ecx,DWORD[56+rsp] |
- xor esi,eax |
- mov edi,edx |
- shld edx,edx,5 |
- add ecx,esi |
- xor edi,eax |
- shrd ebp,ebp,7 |
- add ecx,edx |
- vpor xmm3,xmm3,xmm8 |
- add ebx,DWORD[60+rsp] |
- xor edi,ebp |
- mov esi,ecx |
- shld ecx,ecx,5 |
- add ebx,edi |
- xor esi,ebp |
- shrd edx,edx,7 |
- add ebx,ecx |
- add eax,DWORD[rsp] |
- vpaddd xmm9,xmm11,xmm3 |
- xor esi,edx |
- mov edi,ebx |
- shld ebx,ebx,5 |
- add eax,esi |
- vmovdqa XMMWORD[48+rsp],xmm9 |
- xor edi,edx |
- shrd ecx,ecx,7 |
- add eax,ebx |
- add ebp,DWORD[4+rsp] |
- xor edi,ecx |
- mov esi,eax |
- shld eax,eax,5 |
- add ebp,edi |
- xor esi,ecx |
- shrd ebx,ebx,7 |
- add ebp,eax |
- add edx,DWORD[8+rsp] |
- xor esi,ebx |
- mov edi,ebp |
- shld ebp,ebp,5 |
- add edx,esi |
- xor edi,ebx |
- shrd eax,eax,7 |
- add edx,ebp |
- add ecx,DWORD[12+rsp] |
- xor edi,eax |
- mov esi,edx |
- shld edx,edx,5 |
- add ecx,edi |
- xor esi,eax |
- shrd ebp,ebp,7 |
- add ecx,edx |
- cmp r9,r10 |
- je NEAR $L$done_avx |
- vmovdqa xmm6,XMMWORD[64+r11] |
- vmovdqa xmm11,XMMWORD[((-64))+r11] |
- vmovdqu xmm0,XMMWORD[r9] |
- vmovdqu xmm1,XMMWORD[16+r9] |
- vmovdqu xmm2,XMMWORD[32+r9] |
- vmovdqu xmm3,XMMWORD[48+r9] |
- vpshufb xmm0,xmm0,xmm6 |
- add r9,64 |
- add ebx,DWORD[16+rsp] |
- xor esi,ebp |
- vpshufb xmm1,xmm1,xmm6 |
- mov edi,ecx |
- shld ecx,ecx,5 |
- vpaddd xmm4,xmm0,xmm11 |
- add ebx,esi |
- xor edi,ebp |
- shrd edx,edx,7 |
- add ebx,ecx |
- vmovdqa XMMWORD[rsp],xmm4 |
- add eax,DWORD[20+rsp] |
- xor edi,edx |
- mov esi,ebx |
- shld ebx,ebx,5 |
- add eax,edi |
- xor esi,edx |
- shrd ecx,ecx,7 |
- add eax,ebx |
- add ebp,DWORD[24+rsp] |
- xor esi,ecx |
- mov edi,eax |
- shld eax,eax,5 |
- add ebp,esi |
- xor edi,ecx |
- shrd ebx,ebx,7 |
- add ebp,eax |
- add edx,DWORD[28+rsp] |
- xor edi,ebx |
- mov esi,ebp |
- shld ebp,ebp,5 |
- add edx,edi |
- xor esi,ebx |
- shrd eax,eax,7 |
- add edx,ebp |
- add ecx,DWORD[32+rsp] |
- xor esi,eax |
- vpshufb xmm2,xmm2,xmm6 |
- mov edi,edx |
- shld edx,edx,5 |
- vpaddd xmm5,xmm1,xmm11 |
- add ecx,esi |
- xor edi,eax |
- shrd ebp,ebp,7 |
- add ecx,edx |
- vmovdqa XMMWORD[16+rsp],xmm5 |
- add ebx,DWORD[36+rsp] |
- xor edi,ebp |
- mov esi,ecx |
- shld ecx,ecx,5 |
- add ebx,edi |
- xor esi,ebp |
- shrd edx,edx,7 |
- add ebx,ecx |
- add eax,DWORD[40+rsp] |
- xor esi,edx |
- mov edi,ebx |
- shld ebx,ebx,5 |
- add eax,esi |
- xor edi,edx |
- shrd ecx,ecx,7 |
- add eax,ebx |
- add ebp,DWORD[44+rsp] |
- xor edi,ecx |
- mov esi,eax |
- shld eax,eax,5 |
- add ebp,edi |
- xor esi,ecx |
- shrd ebx,ebx,7 |
- add ebp,eax |
- add edx,DWORD[48+rsp] |
- xor esi,ebx |
- vpshufb xmm3,xmm3,xmm6 |
- mov edi,ebp |
- shld ebp,ebp,5 |
- vpaddd xmm6,xmm2,xmm11 |
- add edx,esi |
- xor edi,ebx |
- shrd eax,eax,7 |
- add edx,ebp |
- vmovdqa XMMWORD[32+rsp],xmm6 |
- add ecx,DWORD[52+rsp] |
- xor edi,eax |
- mov esi,edx |
- shld edx,edx,5 |
- add ecx,edi |
- xor esi,eax |
- shrd ebp,ebp,7 |
- add ecx,edx |
- add ebx,DWORD[56+rsp] |
- xor esi,ebp |
- mov edi,ecx |
- shld ecx,ecx,5 |
- add ebx,esi |
- xor edi,ebp |
- shrd edx,edx,7 |
- add ebx,ecx |
- add eax,DWORD[60+rsp] |
- xor edi,edx |
- mov esi,ebx |
- shld ebx,ebx,5 |
- add eax,edi |
- shrd ecx,ecx,7 |
- add eax,ebx |
- add eax,DWORD[r8] |
- add esi,DWORD[4+r8] |
- add ecx,DWORD[8+r8] |
- add edx,DWORD[12+r8] |
- mov DWORD[r8],eax |
- add ebp,DWORD[16+r8] |
- mov DWORD[4+r8],esi |
- mov ebx,esi |
- mov DWORD[8+r8],ecx |
- mov edi,ecx |
- mov DWORD[12+r8],edx |
- xor edi,edx |
- mov DWORD[16+r8],ebp |
- and esi,edi |
- jmp NEAR $L$oop_avx |
- |
-ALIGN 16 |
-$L$done_avx: |
- add ebx,DWORD[16+rsp] |
- xor esi,ebp |
- mov edi,ecx |
- shld ecx,ecx,5 |
- add ebx,esi |
- xor edi,ebp |
- shrd edx,edx,7 |
- add ebx,ecx |
- add eax,DWORD[20+rsp] |
- xor edi,edx |
- mov esi,ebx |
- shld ebx,ebx,5 |
- add eax,edi |
- xor esi,edx |
- shrd ecx,ecx,7 |
- add eax,ebx |
- add ebp,DWORD[24+rsp] |
- xor esi,ecx |
- mov edi,eax |
- shld eax,eax,5 |
- add ebp,esi |
- xor edi,ecx |
- shrd ebx,ebx,7 |
- add ebp,eax |
- add edx,DWORD[28+rsp] |
- xor edi,ebx |
- mov esi,ebp |
- shld ebp,ebp,5 |
- add edx,edi |
- xor esi,ebx |
- shrd eax,eax,7 |
- add edx,ebp |
- add ecx,DWORD[32+rsp] |
- xor esi,eax |
- mov edi,edx |
- shld edx,edx,5 |
- add ecx,esi |
- xor edi,eax |
- shrd ebp,ebp,7 |
- add ecx,edx |
- add ebx,DWORD[36+rsp] |
- xor edi,ebp |
- mov esi,ecx |
- shld ecx,ecx,5 |
- add ebx,edi |
- xor esi,ebp |
- shrd edx,edx,7 |
- add ebx,ecx |
- add eax,DWORD[40+rsp] |
- xor esi,edx |
- mov edi,ebx |
- shld ebx,ebx,5 |
- add eax,esi |
- xor edi,edx |
- shrd ecx,ecx,7 |
- add eax,ebx |
- add ebp,DWORD[44+rsp] |
- xor edi,ecx |
- mov esi,eax |
- shld eax,eax,5 |
- add ebp,edi |
- xor esi,ecx |
- shrd ebx,ebx,7 |
- add ebp,eax |
- add edx,DWORD[48+rsp] |
- xor esi,ebx |
- mov edi,ebp |
- shld ebp,ebp,5 |
- add edx,esi |
- xor edi,ebx |
- shrd eax,eax,7 |
- add edx,ebp |
- add ecx,DWORD[52+rsp] |
- xor edi,eax |
- mov esi,edx |
- shld edx,edx,5 |
- add ecx,edi |
- xor esi,eax |
- shrd ebp,ebp,7 |
- add ecx,edx |
- add ebx,DWORD[56+rsp] |
- xor esi,ebp |
- mov edi,ecx |
- shld ecx,ecx,5 |
- add ebx,esi |
- xor edi,ebp |
- shrd edx,edx,7 |
- add ebx,ecx |
- add eax,DWORD[60+rsp] |
- xor edi,edx |
- mov esi,ebx |
- shld ebx,ebx,5 |
- add eax,edi |
- shrd ecx,ecx,7 |
- add eax,ebx |
- vzeroupper |
- |
- add eax,DWORD[r8] |
- add esi,DWORD[4+r8] |
- add ecx,DWORD[8+r8] |
- mov DWORD[r8],eax |
- add edx,DWORD[12+r8] |
- mov DWORD[4+r8],esi |
- add ebp,DWORD[16+r8] |
- mov DWORD[8+r8],ecx |
- mov DWORD[12+r8],edx |
- mov DWORD[16+r8],ebp |
- movaps xmm6,XMMWORD[((-40-96))+r14] |
- movaps xmm7,XMMWORD[((-40-80))+r14] |
- movaps xmm8,XMMWORD[((-40-64))+r14] |
- movaps xmm9,XMMWORD[((-40-48))+r14] |
- movaps xmm10,XMMWORD[((-40-32))+r14] |
- movaps xmm11,XMMWORD[((-40-16))+r14] |
- lea rsi,[r14] |
- mov r14,QWORD[((-40))+rsi] |
- mov r13,QWORD[((-32))+rsi] |
- mov r12,QWORD[((-24))+rsi] |
- mov rbp,QWORD[((-16))+rsi] |
- mov rbx,QWORD[((-8))+rsi] |
- lea rsp,[rsi] |
-$L$epilogue_avx: |
- mov rdi,QWORD[8+rsp] ;WIN64 epilogue |
- mov rsi,QWORD[16+rsp] |
- DB 0F3h,0C3h ;repret |
-$L$SEH_end_sha1_block_data_order_avx: |
ALIGN 64 |
K_XX_XX: |
DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 |
@@ -3750,9 +2605,6 @@ ALIGN 4 |
DD $L$SEH_begin_sha1_block_data_order_ssse3 wrt ..imagebase |
DD $L$SEH_end_sha1_block_data_order_ssse3 wrt ..imagebase |
DD $L$SEH_info_sha1_block_data_order_ssse3 wrt ..imagebase |
- DD $L$SEH_begin_sha1_block_data_order_avx wrt ..imagebase |
- DD $L$SEH_end_sha1_block_data_order_avx wrt ..imagebase |
- DD $L$SEH_info_sha1_block_data_order_avx wrt ..imagebase |
section .xdata rdata align=8 |
ALIGN 8 |
$L$SEH_info_sha1_block_data_order: |
@@ -3762,7 +2614,3 @@ $L$SEH_info_sha1_block_data_order_ssse3: |
DB 9,0,0,0 |
DD ssse3_handler wrt ..imagebase |
DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase |
-$L$SEH_info_sha1_block_data_order_avx: |
-DB 9,0,0,0 |
- DD ssse3_handler wrt ..imagebase |
- DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase |