Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1205)

Unified Diff: third_party/boringssl/win-x86/crypto/sha/sha256-586.asm

Issue 1938433002: Revert BoringSSL Roll (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/boringssl/win-x86/crypto/sha/sha256-586.asm
diff --git a/third_party/boringssl/win-x86/crypto/sha/sha256-586.asm b/third_party/boringssl/win-x86/crypto/sha/sha256-586.asm
index 3e7cfcca0775845ccd543072ee65f621069c43ed..fe36bc5c9adc85c5d5b05b2221d88b122d81b1e9 100644
--- a/third_party/boringssl/win-x86/crypto/sha/sha256-586.asm
+++ b/third_party/boringssl/win-x86/crypto/sha/sha256-586.asm
@@ -49,10 +49,11 @@ L$000pic_point:
jz NEAR L$003no_xmm
and ecx,1073741824
and ebx,268435968
+ test edx,536870912
+ jnz NEAR L$004shaext
or ecx,ebx
and ecx,1342177280
cmp ecx,1342177280
- je NEAR L$004AVX
test ebx,512
jnz NEAR L$005SSSE3
L$003no_xmm:
@@ -3178,6 +3179,204 @@ L$009grand_loop:
pop ebp
ret
align 32
+L$004shaext:
+ sub esp,32
+ movdqu xmm1,[esi]
+ lea ebp,[128+ebp]
+ movdqu xmm2,[16+esi]
+ movdqa xmm7,[128+ebp]
+ pshufd xmm0,xmm1,27
+ pshufd xmm1,xmm1,177
+ pshufd xmm2,xmm2,27
+db 102,15,58,15,202,8
+ punpcklqdq xmm2,xmm0
+ jmp NEAR L$010loop_shaext
+align 16
+L$010loop_shaext:
+ movdqu xmm3,[edi]
+ movdqu xmm4,[16+edi]
+ movdqu xmm5,[32+edi]
+db 102,15,56,0,223
+ movdqu xmm6,[48+edi]
+ movdqa [16+esp],xmm2
+ movdqa xmm0,[ebp-128]
+ paddd xmm0,xmm3
+db 102,15,56,0,231
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ nop
+ movdqa [esp],xmm1
+db 15,56,203,202
+ movdqa xmm0,[ebp-112]
+ paddd xmm0,xmm4
+db 102,15,56,0,239
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ lea edi,[64+edi]
+db 15,56,204,220
+db 15,56,203,202
+ movdqa xmm0,[ebp-96]
+ paddd xmm0,xmm5
+db 102,15,56,0,247
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ movdqa xmm7,xmm6
+db 102,15,58,15,253,4
+ nop
+ paddd xmm3,xmm7
+db 15,56,204,229
+db 15,56,203,202
+ movdqa xmm0,[ebp-80]
+ paddd xmm0,xmm6
+db 15,56,205,222
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ movdqa xmm7,xmm3
+db 102,15,58,15,254,4
+ nop
+ paddd xmm4,xmm7
+db 15,56,204,238
+db 15,56,203,202
+ movdqa xmm0,[ebp-64]
+ paddd xmm0,xmm3
+db 15,56,205,227
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ movdqa xmm7,xmm4
+db 102,15,58,15,251,4
+ nop
+ paddd xmm5,xmm7
+db 15,56,204,243
+db 15,56,203,202
+ movdqa xmm0,[ebp-48]
+ paddd xmm0,xmm4
+db 15,56,205,236
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ movdqa xmm7,xmm5
+db 102,15,58,15,252,4
+ nop
+ paddd xmm6,xmm7
+db 15,56,204,220
+db 15,56,203,202
+ movdqa xmm0,[ebp-32]
+ paddd xmm0,xmm5
+db 15,56,205,245
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ movdqa xmm7,xmm6
+db 102,15,58,15,253,4
+ nop
+ paddd xmm3,xmm7
+db 15,56,204,229
+db 15,56,203,202
+ movdqa xmm0,[ebp-16]
+ paddd xmm0,xmm6
+db 15,56,205,222
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ movdqa xmm7,xmm3
+db 102,15,58,15,254,4
+ nop
+ paddd xmm4,xmm7
+db 15,56,204,238
+db 15,56,203,202
+ movdqa xmm0,[ebp]
+ paddd xmm0,xmm3
+db 15,56,205,227
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ movdqa xmm7,xmm4
+db 102,15,58,15,251,4
+ nop
+ paddd xmm5,xmm7
+db 15,56,204,243
+db 15,56,203,202
+ movdqa xmm0,[16+ebp]
+ paddd xmm0,xmm4
+db 15,56,205,236
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ movdqa xmm7,xmm5
+db 102,15,58,15,252,4
+ nop
+ paddd xmm6,xmm7
+db 15,56,204,220
+db 15,56,203,202
+ movdqa xmm0,[32+ebp]
+ paddd xmm0,xmm5
+db 15,56,205,245
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ movdqa xmm7,xmm6
+db 102,15,58,15,253,4
+ nop
+ paddd xmm3,xmm7
+db 15,56,204,229
+db 15,56,203,202
+ movdqa xmm0,[48+ebp]
+ paddd xmm0,xmm6
+db 15,56,205,222
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ movdqa xmm7,xmm3
+db 102,15,58,15,254,4
+ nop
+ paddd xmm4,xmm7
+db 15,56,204,238
+db 15,56,203,202
+ movdqa xmm0,[64+ebp]
+ paddd xmm0,xmm3
+db 15,56,205,227
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ movdqa xmm7,xmm4
+db 102,15,58,15,251,4
+ nop
+ paddd xmm5,xmm7
+db 15,56,204,243
+db 15,56,203,202
+ movdqa xmm0,[80+ebp]
+ paddd xmm0,xmm4
+db 15,56,205,236
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ movdqa xmm7,xmm5
+db 102,15,58,15,252,4
+db 15,56,203,202
+ paddd xmm6,xmm7
+ movdqa xmm0,[96+ebp]
+ paddd xmm0,xmm5
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+db 15,56,205,245
+ movdqa xmm7,[128+ebp]
+db 15,56,203,202
+ movdqa xmm0,[112+ebp]
+ paddd xmm0,xmm6
+ nop
+db 15,56,203,209
+ pshufd xmm0,xmm0,14
+ cmp eax,edi
+ nop
+db 15,56,203,202
+ paddd xmm2,[16+esp]
+ paddd xmm1,[esp]
+ jnz NEAR L$010loop_shaext
+ pshufd xmm2,xmm2,177
+ pshufd xmm7,xmm1,27
+ pshufd xmm1,xmm1,177
+ punpckhqdq xmm1,xmm2
+db 102,15,58,15,215,8
+ mov esp,DWORD [44+esp]
+ movdqu [esi],xmm1
+ movdqu [16+esi],xmm2
+ pop edi
+ pop esi
+ pop ebx
+ pop ebp
+ ret
+align 32
L$005SSSE3:
lea esp,[esp-96]
mov eax,DWORD [esi]
@@ -3197,9 +3396,9 @@ L$005SSSE3:
mov DWORD [24+esp],ecx
mov DWORD [28+esp],esi
movdqa xmm7,[256+ebp]
- jmp NEAR L$010grand_ssse3
+ jmp NEAR L$011grand_ssse3
align 16
-L$010grand_ssse3:
+L$011grand_ssse3:
movdqu xmm0,[edi]
movdqu xmm1,[16+edi]
movdqu xmm2,[32+edi]
@@ -3222,9 +3421,9 @@ db 102,15,56,0,223
paddd xmm7,xmm3
movdqa [64+esp],xmm6
movdqa [80+esp],xmm7
- jmp NEAR L$011ssse3_00_47
+ jmp NEAR L$012ssse3_00_47
align 16
-L$011ssse3_00_47:
+L$012ssse3_00_47:
add ebp,64
mov ecx,edx
movdqa xmm4,xmm1
@@ -3867,7 +4066,7 @@ db 102,15,58,15,249,4
add eax,ecx
movdqa [80+esp],xmm6
cmp DWORD [64+ebp],66051
- jne NEAR L$011ssse3_00_47
+ jne NEAR L$012ssse3_00_47
mov ecx,edx
ror edx,14
mov esi,DWORD [20+esp]
@@ -4381,1189 +4580,8 @@ db 102,15,58,15,249,4
movdqa xmm7,[64+ebp]
sub ebp,192
cmp edi,DWORD [104+esp]
- jb NEAR L$010grand_ssse3
- mov esp,DWORD [108+esp]
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-align 32
-L$004AVX:
- lea esp,[esp-96]
- vzeroall
- mov eax,DWORD [esi]
- mov ebx,DWORD [4+esi]
- mov ecx,DWORD [8+esi]
- mov edi,DWORD [12+esi]
- mov DWORD [4+esp],ebx
- xor ebx,ecx
- mov DWORD [8+esp],ecx
- mov DWORD [12+esp],edi
- mov edx,DWORD [16+esi]
- mov edi,DWORD [20+esi]
- mov ecx,DWORD [24+esi]
- mov esi,DWORD [28+esi]
- mov DWORD [20+esp],edi
- mov edi,DWORD [100+esp]
- mov DWORD [24+esp],ecx
- mov DWORD [28+esp],esi
- vmovdqa xmm7,[256+ebp]
- jmp NEAR L$012grand_avx
-align 32
-L$012grand_avx:
- vmovdqu xmm0,[edi]
- vmovdqu xmm1,[16+edi]
- vmovdqu xmm2,[32+edi]
- vmovdqu xmm3,[48+edi]
- add edi,64
- vpshufb xmm0,xmm0,xmm7
- mov DWORD [100+esp],edi
- vpshufb xmm1,xmm1,xmm7
- vpshufb xmm2,xmm2,xmm7
- vpaddd xmm4,xmm0,[ebp]
- vpshufb xmm3,xmm3,xmm7
- vpaddd xmm5,xmm1,[16+ebp]
- vpaddd xmm6,xmm2,[32+ebp]
- vpaddd xmm7,xmm3,[48+ebp]
- vmovdqa [32+esp],xmm4
- vmovdqa [48+esp],xmm5
- vmovdqa [64+esp],xmm6
- vmovdqa [80+esp],xmm7
- jmp NEAR L$013avx_00_47
-align 16
-L$013avx_00_47:
- add ebp,64
- vpalignr xmm4,xmm1,xmm0,4
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [20+esp]
- vpalignr xmm7,xmm3,xmm2,4
- xor edx,ecx
- mov edi,DWORD [24+esp]
- xor esi,edi
- vpsrld xmm6,xmm4,7
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [16+esp],ecx
- vpaddd xmm0,xmm0,xmm7
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- vpsrld xmm7,xmm4,3
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [4+esp]
- vpslld xmm5,xmm4,14
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [esp],eax
- vpxor xmm4,xmm7,xmm6
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [28+esp]
- vpshufd xmm7,xmm3,250
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- vpsrld xmm6,xmm6,11
- add edx,DWORD [32+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- vpxor xmm4,xmm4,xmm5
- add ebx,edx
- add edx,DWORD [12+esp]
- add ebx,ecx
- vpslld xmm5,xmm5,11
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [16+esp]
- vpxor xmm4,xmm4,xmm6
- xor edx,ecx
- mov edi,DWORD [20+esp]
- xor esi,edi
- vpsrld xmm6,xmm7,10
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [12+esp],ecx
- vpxor xmm4,xmm4,xmm5
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- vpsrlq xmm5,xmm7,17
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [esp]
- vpaddd xmm0,xmm0,xmm4
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [28+esp],ebx
- vpxor xmm6,xmm6,xmm5
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [24+esp]
- vpsrlq xmm7,xmm7,19
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- vpxor xmm6,xmm6,xmm7
- add edx,DWORD [36+esp]
- xor eax,edi
- shrd ecx,ecx,2
- vpshufd xmm7,xmm6,132
- add eax,edx
- add edx,DWORD [8+esp]
- add eax,ecx
- vpsrldq xmm7,xmm7,8
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [12+esp]
- vpaddd xmm0,xmm0,xmm7
- xor edx,ecx
- mov edi,DWORD [16+esp]
- xor esi,edi
- vpshufd xmm7,xmm0,80
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [8+esp],ecx
- vpsrld xmm6,xmm7,10
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- vpsrlq xmm5,xmm7,17
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [28+esp]
- vpxor xmm6,xmm6,xmm5
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [24+esp],eax
- vpsrlq xmm7,xmm7,19
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [20+esp]
- vpxor xmm6,xmm6,xmm7
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- vpshufd xmm7,xmm6,232
- add edx,DWORD [40+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- vpslldq xmm7,xmm7,8
- add ebx,edx
- add edx,DWORD [4+esp]
- add ebx,ecx
- vpaddd xmm0,xmm0,xmm7
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [8+esp]
- vpaddd xmm6,xmm0,[ebp]
- xor edx,ecx
- mov edi,DWORD [12+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [4+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [24+esp]
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [20+esp],ebx
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [16+esp]
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- add edx,DWORD [44+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add eax,edx
- add edx,DWORD [esp]
- add eax,ecx
- vmovdqa [32+esp],xmm6
- vpalignr xmm4,xmm2,xmm1,4
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [4+esp]
- vpalignr xmm7,xmm0,xmm3,4
- xor edx,ecx
- mov edi,DWORD [8+esp]
- xor esi,edi
- vpsrld xmm6,xmm4,7
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [esp],ecx
- vpaddd xmm1,xmm1,xmm7
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- vpsrld xmm7,xmm4,3
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [20+esp]
- vpslld xmm5,xmm4,14
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [16+esp],eax
- vpxor xmm4,xmm7,xmm6
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [12+esp]
- vpshufd xmm7,xmm0,250
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- vpsrld xmm6,xmm6,11
- add edx,DWORD [48+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- vpxor xmm4,xmm4,xmm5
- add ebx,edx
- add edx,DWORD [28+esp]
- add ebx,ecx
- vpslld xmm5,xmm5,11
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [esp]
- vpxor xmm4,xmm4,xmm6
- xor edx,ecx
- mov edi,DWORD [4+esp]
- xor esi,edi
- vpsrld xmm6,xmm7,10
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [28+esp],ecx
- vpxor xmm4,xmm4,xmm5
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- vpsrlq xmm5,xmm7,17
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [16+esp]
- vpaddd xmm1,xmm1,xmm4
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [12+esp],ebx
- vpxor xmm6,xmm6,xmm5
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [8+esp]
- vpsrlq xmm7,xmm7,19
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- vpxor xmm6,xmm6,xmm7
- add edx,DWORD [52+esp]
- xor eax,edi
- shrd ecx,ecx,2
- vpshufd xmm7,xmm6,132
- add eax,edx
- add edx,DWORD [24+esp]
- add eax,ecx
- vpsrldq xmm7,xmm7,8
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [28+esp]
- vpaddd xmm1,xmm1,xmm7
- xor edx,ecx
- mov edi,DWORD [esp]
- xor esi,edi
- vpshufd xmm7,xmm1,80
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [24+esp],ecx
- vpsrld xmm6,xmm7,10
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- vpsrlq xmm5,xmm7,17
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [12+esp]
- vpxor xmm6,xmm6,xmm5
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [8+esp],eax
- vpsrlq xmm7,xmm7,19
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [4+esp]
- vpxor xmm6,xmm6,xmm7
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- vpshufd xmm7,xmm6,232
- add edx,DWORD [56+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- vpslldq xmm7,xmm7,8
- add ebx,edx
- add edx,DWORD [20+esp]
- add ebx,ecx
- vpaddd xmm1,xmm1,xmm7
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [24+esp]
- vpaddd xmm6,xmm1,[16+ebp]
- xor edx,ecx
- mov edi,DWORD [28+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [20+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [8+esp]
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [4+esp],ebx
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [esp]
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- add edx,DWORD [60+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add eax,edx
- add edx,DWORD [16+esp]
- add eax,ecx
- vmovdqa [48+esp],xmm6
- vpalignr xmm4,xmm3,xmm2,4
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [20+esp]
- vpalignr xmm7,xmm1,xmm0,4
- xor edx,ecx
- mov edi,DWORD [24+esp]
- xor esi,edi
- vpsrld xmm6,xmm4,7
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [16+esp],ecx
- vpaddd xmm2,xmm2,xmm7
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- vpsrld xmm7,xmm4,3
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [4+esp]
- vpslld xmm5,xmm4,14
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [esp],eax
- vpxor xmm4,xmm7,xmm6
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [28+esp]
- vpshufd xmm7,xmm1,250
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- vpsrld xmm6,xmm6,11
- add edx,DWORD [64+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- vpxor xmm4,xmm4,xmm5
- add ebx,edx
- add edx,DWORD [12+esp]
- add ebx,ecx
- vpslld xmm5,xmm5,11
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [16+esp]
- vpxor xmm4,xmm4,xmm6
- xor edx,ecx
- mov edi,DWORD [20+esp]
- xor esi,edi
- vpsrld xmm6,xmm7,10
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [12+esp],ecx
- vpxor xmm4,xmm4,xmm5
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- vpsrlq xmm5,xmm7,17
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [esp]
- vpaddd xmm2,xmm2,xmm4
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [28+esp],ebx
- vpxor xmm6,xmm6,xmm5
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [24+esp]
- vpsrlq xmm7,xmm7,19
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- vpxor xmm6,xmm6,xmm7
- add edx,DWORD [68+esp]
- xor eax,edi
- shrd ecx,ecx,2
- vpshufd xmm7,xmm6,132
- add eax,edx
- add edx,DWORD [8+esp]
- add eax,ecx
- vpsrldq xmm7,xmm7,8
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [12+esp]
- vpaddd xmm2,xmm2,xmm7
- xor edx,ecx
- mov edi,DWORD [16+esp]
- xor esi,edi
- vpshufd xmm7,xmm2,80
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [8+esp],ecx
- vpsrld xmm6,xmm7,10
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- vpsrlq xmm5,xmm7,17
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [28+esp]
- vpxor xmm6,xmm6,xmm5
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [24+esp],eax
- vpsrlq xmm7,xmm7,19
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [20+esp]
- vpxor xmm6,xmm6,xmm7
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- vpshufd xmm7,xmm6,232
- add edx,DWORD [72+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- vpslldq xmm7,xmm7,8
- add ebx,edx
- add edx,DWORD [4+esp]
- add ebx,ecx
- vpaddd xmm2,xmm2,xmm7
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [8+esp]
- vpaddd xmm6,xmm2,[32+ebp]
- xor edx,ecx
- mov edi,DWORD [12+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [4+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [24+esp]
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [20+esp],ebx
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [16+esp]
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- add edx,DWORD [76+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add eax,edx
- add edx,DWORD [esp]
- add eax,ecx
- vmovdqa [64+esp],xmm6
- vpalignr xmm4,xmm0,xmm3,4
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [4+esp]
- vpalignr xmm7,xmm2,xmm1,4
- xor edx,ecx
- mov edi,DWORD [8+esp]
- xor esi,edi
- vpsrld xmm6,xmm4,7
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [esp],ecx
- vpaddd xmm3,xmm3,xmm7
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- vpsrld xmm7,xmm4,3
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [20+esp]
- vpslld xmm5,xmm4,14
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [16+esp],eax
- vpxor xmm4,xmm7,xmm6
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [12+esp]
- vpshufd xmm7,xmm2,250
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- vpsrld xmm6,xmm6,11
- add edx,DWORD [80+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- vpxor xmm4,xmm4,xmm5
- add ebx,edx
- add edx,DWORD [28+esp]
- add ebx,ecx
- vpslld xmm5,xmm5,11
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [esp]
- vpxor xmm4,xmm4,xmm6
- xor edx,ecx
- mov edi,DWORD [4+esp]
- xor esi,edi
- vpsrld xmm6,xmm7,10
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [28+esp],ecx
- vpxor xmm4,xmm4,xmm5
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- vpsrlq xmm5,xmm7,17
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [16+esp]
- vpaddd xmm3,xmm3,xmm4
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [12+esp],ebx
- vpxor xmm6,xmm6,xmm5
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [8+esp]
- vpsrlq xmm7,xmm7,19
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- vpxor xmm6,xmm6,xmm7
- add edx,DWORD [84+esp]
- xor eax,edi
- shrd ecx,ecx,2
- vpshufd xmm7,xmm6,132
- add eax,edx
- add edx,DWORD [24+esp]
- add eax,ecx
- vpsrldq xmm7,xmm7,8
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [28+esp]
- vpaddd xmm3,xmm3,xmm7
- xor edx,ecx
- mov edi,DWORD [esp]
- xor esi,edi
- vpshufd xmm7,xmm3,80
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [24+esp],ecx
- vpsrld xmm6,xmm7,10
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- vpsrlq xmm5,xmm7,17
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [12+esp]
- vpxor xmm6,xmm6,xmm5
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [8+esp],eax
- vpsrlq xmm7,xmm7,19
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [4+esp]
- vpxor xmm6,xmm6,xmm7
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- vpshufd xmm7,xmm6,232
- add edx,DWORD [88+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- vpslldq xmm7,xmm7,8
- add ebx,edx
- add edx,DWORD [20+esp]
- add ebx,ecx
- vpaddd xmm3,xmm3,xmm7
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [24+esp]
- vpaddd xmm6,xmm3,[48+ebp]
- xor edx,ecx
- mov edi,DWORD [28+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [20+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [8+esp]
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [4+esp],ebx
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [esp]
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- add edx,DWORD [92+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add eax,edx
- add edx,DWORD [16+esp]
- add eax,ecx
- vmovdqa [80+esp],xmm6
- cmp DWORD [64+ebp],66051
- jne NEAR L$013avx_00_47
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [20+esp]
- xor edx,ecx
- mov edi,DWORD [24+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [16+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [4+esp]
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [esp],eax
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [28+esp]
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- add edx,DWORD [32+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- add ebx,edx
- add edx,DWORD [12+esp]
- add ebx,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [16+esp]
- xor edx,ecx
- mov edi,DWORD [20+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [12+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [esp]
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [28+esp],ebx
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [24+esp]
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- add edx,DWORD [36+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add eax,edx
- add edx,DWORD [8+esp]
- add eax,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [12+esp]
- xor edx,ecx
- mov edi,DWORD [16+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [8+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [28+esp]
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [24+esp],eax
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [20+esp]
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- add edx,DWORD [40+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- add ebx,edx
- add edx,DWORD [4+esp]
- add ebx,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [8+esp]
- xor edx,ecx
- mov edi,DWORD [12+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [4+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [24+esp]
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [20+esp],ebx
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [16+esp]
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- add edx,DWORD [44+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add eax,edx
- add edx,DWORD [esp]
- add eax,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [4+esp]
- xor edx,ecx
- mov edi,DWORD [8+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [20+esp]
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [16+esp],eax
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [12+esp]
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- add edx,DWORD [48+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- add ebx,edx
- add edx,DWORD [28+esp]
- add ebx,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [esp]
- xor edx,ecx
- mov edi,DWORD [4+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [28+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [16+esp]
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [12+esp],ebx
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [8+esp]
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- add edx,DWORD [52+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add eax,edx
- add edx,DWORD [24+esp]
- add eax,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [28+esp]
- xor edx,ecx
- mov edi,DWORD [esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [24+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [12+esp]
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [8+esp],eax
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [4+esp]
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- add edx,DWORD [56+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- add ebx,edx
- add edx,DWORD [20+esp]
- add ebx,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [24+esp]
- xor edx,ecx
- mov edi,DWORD [28+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [20+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [8+esp]
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [4+esp],ebx
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [esp]
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- add edx,DWORD [60+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add eax,edx
- add edx,DWORD [16+esp]
- add eax,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [20+esp]
- xor edx,ecx
- mov edi,DWORD [24+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [16+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [4+esp]
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [esp],eax
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [28+esp]
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- add edx,DWORD [64+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- add ebx,edx
- add edx,DWORD [12+esp]
- add ebx,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [16+esp]
- xor edx,ecx
- mov edi,DWORD [20+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [12+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [esp]
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [28+esp],ebx
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [24+esp]
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- add edx,DWORD [68+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add eax,edx
- add edx,DWORD [8+esp]
- add eax,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [12+esp]
- xor edx,ecx
- mov edi,DWORD [16+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [8+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [28+esp]
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [24+esp],eax
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [20+esp]
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- add edx,DWORD [72+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- add ebx,edx
- add edx,DWORD [4+esp]
- add ebx,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [8+esp]
- xor edx,ecx
- mov edi,DWORD [12+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [4+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [24+esp]
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [20+esp],ebx
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [16+esp]
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- add edx,DWORD [76+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add eax,edx
- add edx,DWORD [esp]
- add eax,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [4+esp]
- xor edx,ecx
- mov edi,DWORD [8+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [20+esp]
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [16+esp],eax
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [12+esp]
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- add edx,DWORD [80+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- add ebx,edx
- add edx,DWORD [28+esp]
- add ebx,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [esp]
- xor edx,ecx
- mov edi,DWORD [4+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [28+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [16+esp]
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [12+esp],ebx
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [8+esp]
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- add edx,DWORD [84+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add eax,edx
- add edx,DWORD [24+esp]
- add eax,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [28+esp]
- xor edx,ecx
- mov edi,DWORD [esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [24+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,eax
- add edx,edi
- mov edi,DWORD [12+esp]
- mov esi,eax
- shrd ecx,ecx,9
- mov DWORD [8+esp],eax
- xor ecx,eax
- xor eax,edi
- add edx,DWORD [4+esp]
- shrd ecx,ecx,11
- and ebx,eax
- xor ecx,esi
- add edx,DWORD [88+esp]
- xor ebx,edi
- shrd ecx,ecx,2
- add ebx,edx
- add edx,DWORD [20+esp]
- add ebx,ecx
- mov ecx,edx
- shrd edx,edx,14
- mov esi,DWORD [24+esp]
- xor edx,ecx
- mov edi,DWORD [28+esp]
- xor esi,edi
- shrd edx,edx,5
- and esi,ecx
- mov DWORD [20+esp],ecx
- xor edx,ecx
- xor edi,esi
- shrd edx,edx,6
- mov ecx,ebx
- add edx,edi
- mov edi,DWORD [8+esp]
- mov esi,ebx
- shrd ecx,ecx,9
- mov DWORD [4+esp],ebx
- xor ecx,ebx
- xor ebx,edi
- add edx,DWORD [esp]
- shrd ecx,ecx,11
- and eax,ebx
- xor ecx,esi
- add edx,DWORD [92+esp]
- xor eax,edi
- shrd ecx,ecx,2
- add eax,edx
- add edx,DWORD [16+esp]
- add eax,ecx
- mov esi,DWORD [96+esp]
- xor ebx,edi
- mov ecx,DWORD [12+esp]
- add eax,DWORD [esi]
- add ebx,DWORD [4+esi]
- add edi,DWORD [8+esi]
- add ecx,DWORD [12+esi]
- mov DWORD [esi],eax
- mov DWORD [4+esi],ebx
- mov DWORD [8+esi],edi
- mov DWORD [12+esi],ecx
- mov DWORD [4+esp],ebx
- xor ebx,edi
- mov DWORD [8+esp],edi
- mov DWORD [12+esp],ecx
- mov edi,DWORD [20+esp]
- mov ecx,DWORD [24+esp]
- add edx,DWORD [16+esi]
- add edi,DWORD [20+esi]
- add ecx,DWORD [24+esi]
- mov DWORD [16+esi],edx
- mov DWORD [20+esi],edi
- mov DWORD [20+esp],edi
- mov edi,DWORD [28+esp]
- mov DWORD [24+esi],ecx
- add edi,DWORD [28+esi]
- mov DWORD [24+esp],ecx
- mov DWORD [28+esi],edi
- mov DWORD [28+esp],edi
- mov edi,DWORD [100+esp]
- vmovdqa xmm7,[64+ebp]
- sub ebp,192
- cmp edi,DWORD [104+esp]
- jb NEAR L$012grand_avx
+ jb NEAR L$011grand_ssse3
mov esp,DWORD [108+esp]
- vzeroall
pop edi
pop esi
pop ebx
« no previous file with comments | « third_party/boringssl/win-x86/crypto/sha/sha1-586.asm ('k') | third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont5.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698