| 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
|
|
|