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

Unified Diff: third_party/boringssl/win-x86/crypto/aes/aesni-x86.asm

Issue 1128293004: Revert of Roll src/third_party/boringssl/src 68de407:de12d6c (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Thanks Rietveld, Thietveld. Created 5 years, 7 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/aes/aesni-x86.asm
diff --git a/third_party/boringssl/win-x86/crypto/aes/aesni-x86.asm b/third_party/boringssl/win-x86/crypto/aes/aesni-x86.asm
index a9a595653f08275d9b7788885031c2960d123e67..845bb35fdbf774eacac02785f960fabad60e7749 100644
--- a/third_party/boringssl/win-x86/crypto/aes/aesni-x86.asm
+++ b/third_party/boringssl/win-x86/crypto/aes/aesni-x86.asm
@@ -14,7 +14,6 @@ section .text code align=64
%else
section .text code
%endif
-;extern _OPENSSL_ia32cap_P
global _aesni_encrypt
align 16
_aesni_encrypt:
@@ -35,10 +34,7 @@ db 102,15,56,220,209
lea edx,[16+edx]
jnz NEAR L$000enc1_loop_1
db 102,15,56,221,209
- pxor xmm0,xmm0
- pxor xmm1,xmm1
movups [eax],xmm2
- pxor xmm2,xmm2
ret
global _aesni_decrypt
align 16
@@ -60,10 +56,7 @@ db 102,15,56,222,209
lea edx,[16+edx]
jnz NEAR L$001dec1_loop_2
db 102,15,56,223,209
- pxor xmm0,xmm0
- pxor xmm1,xmm1
movups [eax],xmm2
- pxor xmm2,xmm2
ret
align 16
__aesni_encrypt2:
@@ -263,15 +256,17 @@ db 102,15,56,220,217
neg ecx
db 102,15,56,220,225
pxor xmm7,xmm0
- movups xmm0,[ecx*1+edx]
add ecx,16
- jmp NEAR L$008_aesni_encrypt6_inner
+db 102,15,56,220,233
+db 102,15,56,220,241
+db 102,15,56,220,249
+ movups xmm0,[ecx*1+edx-16]
+ jmp NEAR L$_aesni_encrypt6_enter
align 16
-L$009enc6_loop:
+L$008enc6_loop:
db 102,15,56,220,209
db 102,15,56,220,217
db 102,15,56,220,225
-L$008_aesni_encrypt6_inner:
db 102,15,56,220,233
db 102,15,56,220,241
db 102,15,56,220,249
@@ -285,7 +280,7 @@ db 102,15,56,220,232
db 102,15,56,220,240
db 102,15,56,220,248
movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$009enc6_loop
+ jnz NEAR L$008enc6_loop
db 102,15,56,220,209
db 102,15,56,220,217
db 102,15,56,220,225
@@ -315,15 +310,17 @@ db 102,15,56,222,217
neg ecx
db 102,15,56,222,225
pxor xmm7,xmm0
- movups xmm0,[ecx*1+edx]
add ecx,16
- jmp NEAR L$010_aesni_decrypt6_inner
+db 102,15,56,222,233
+db 102,15,56,222,241
+db 102,15,56,222,249
+ movups xmm0,[ecx*1+edx-16]
+ jmp NEAR L$_aesni_decrypt6_enter
align 16
-L$011dec6_loop:
+L$009dec6_loop:
db 102,15,56,222,209
db 102,15,56,222,217
db 102,15,56,222,225
-L$010_aesni_decrypt6_inner:
db 102,15,56,222,233
db 102,15,56,222,241
db 102,15,56,222,249
@@ -337,7 +334,7 @@ db 102,15,56,222,232
db 102,15,56,222,240
db 102,15,56,222,248
movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$011dec6_loop
+ jnz NEAR L$009dec6_loop
db 102,15,56,222,209
db 102,15,56,222,217
db 102,15,56,222,225
@@ -365,14 +362,14 @@ L$_aesni_ecb_encrypt_begin:
mov edx,DWORD [32+esp]
mov ebx,DWORD [36+esp]
and eax,-16
- jz NEAR L$012ecb_ret
+ jz NEAR L$010ecb_ret
mov ecx,DWORD [240+edx]
test ebx,ebx
- jz NEAR L$013ecb_decrypt
+ jz NEAR L$011ecb_decrypt
mov ebp,edx
mov ebx,ecx
cmp eax,96
- jb NEAR L$014ecb_enc_tail
+ jb NEAR L$012ecb_enc_tail
movdqu xmm2,[esi]
movdqu xmm3,[16+esi]
movdqu xmm4,[32+esi]
@@ -381,9 +378,9 @@ L$_aesni_ecb_encrypt_begin:
movdqu xmm7,[80+esi]
lea esi,[96+esi]
sub eax,96
- jmp NEAR L$015ecb_enc_loop6_enter
+ jmp NEAR L$013ecb_enc_loop6_enter
align 16
-L$016ecb_enc_loop6:
+L$014ecb_enc_loop6:
movups [edi],xmm2
movdqu xmm2,[esi]
movups [16+edi],xmm3
@@ -398,12 +395,12 @@ L$016ecb_enc_loop6:
lea edi,[96+edi]
movdqu xmm7,[80+esi]
lea esi,[96+esi]
-L$015ecb_enc_loop6_enter:
+L$013ecb_enc_loop6_enter:
call __aesni_encrypt6
mov edx,ebp
mov ecx,ebx
sub eax,96
- jnc NEAR L$016ecb_enc_loop6
+ jnc NEAR L$014ecb_enc_loop6
movups [edi],xmm2
movups [16+edi],xmm3
movups [32+edi],xmm4
@@ -412,18 +409,18 @@ L$015ecb_enc_loop6_enter:
movups [80+edi],xmm7
lea edi,[96+edi]
add eax,96
- jz NEAR L$012ecb_ret
-L$014ecb_enc_tail:
+ jz NEAR L$010ecb_ret
+L$012ecb_enc_tail:
movups xmm2,[esi]
cmp eax,32
- jb NEAR L$017ecb_enc_one
+ jb NEAR L$015ecb_enc_one
movups xmm3,[16+esi]
- je NEAR L$018ecb_enc_two
+ je NEAR L$016ecb_enc_two
movups xmm4,[32+esi]
cmp eax,64
- jb NEAR L$019ecb_enc_three
+ jb NEAR L$017ecb_enc_three
movups xmm5,[48+esi]
- je NEAR L$020ecb_enc_four
+ je NEAR L$018ecb_enc_four
movups xmm6,[64+esi]
xorps xmm7,xmm7
call __aesni_encrypt6
@@ -432,49 +429,49 @@ L$014ecb_enc_tail:
movups [32+edi],xmm4
movups [48+edi],xmm5
movups [64+edi],xmm6
- jmp NEAR L$012ecb_ret
+ jmp NEAR L$010ecb_ret
align 16
-L$017ecb_enc_one:
+L$015ecb_enc_one:
movups xmm0,[edx]
movups xmm1,[16+edx]
lea edx,[32+edx]
xorps xmm2,xmm0
-L$021enc1_loop_3:
+L$019enc1_loop_3:
db 102,15,56,220,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$021enc1_loop_3
+ jnz NEAR L$019enc1_loop_3
db 102,15,56,221,209
movups [edi],xmm2
- jmp NEAR L$012ecb_ret
+ jmp NEAR L$010ecb_ret
align 16
-L$018ecb_enc_two:
+L$016ecb_enc_two:
call __aesni_encrypt2
movups [edi],xmm2
movups [16+edi],xmm3
- jmp NEAR L$012ecb_ret
+ jmp NEAR L$010ecb_ret
align 16
-L$019ecb_enc_three:
+L$017ecb_enc_three:
call __aesni_encrypt3
movups [edi],xmm2
movups [16+edi],xmm3
movups [32+edi],xmm4
- jmp NEAR L$012ecb_ret
+ jmp NEAR L$010ecb_ret
align 16
-L$020ecb_enc_four:
+L$018ecb_enc_four:
call __aesni_encrypt4
movups [edi],xmm2
movups [16+edi],xmm3
movups [32+edi],xmm4
movups [48+edi],xmm5
- jmp NEAR L$012ecb_ret
+ jmp NEAR L$010ecb_ret
align 16
-L$013ecb_decrypt:
+L$011ecb_decrypt:
mov ebp,edx
mov ebx,ecx
cmp eax,96
- jb NEAR L$022ecb_dec_tail
+ jb NEAR L$020ecb_dec_tail
movdqu xmm2,[esi]
movdqu xmm3,[16+esi]
movdqu xmm4,[32+esi]
@@ -483,9 +480,9 @@ L$013ecb_decrypt:
movdqu xmm7,[80+esi]
lea esi,[96+esi]
sub eax,96
- jmp NEAR L$023ecb_dec_loop6_enter
+ jmp NEAR L$021ecb_dec_loop6_enter
align 16
-L$024ecb_dec_loop6:
+L$022ecb_dec_loop6:
movups [edi],xmm2
movdqu xmm2,[esi]
movups [16+edi],xmm3
@@ -500,12 +497,12 @@ L$024ecb_dec_loop6:
lea edi,[96+edi]
movdqu xmm7,[80+esi]
lea esi,[96+esi]
-L$023ecb_dec_loop6_enter:
+L$021ecb_dec_loop6_enter:
call __aesni_decrypt6
mov edx,ebp
mov ecx,ebx
sub eax,96
- jnc NEAR L$024ecb_dec_loop6
+ jnc NEAR L$022ecb_dec_loop6
movups [edi],xmm2
movups [16+edi],xmm3
movups [32+edi],xmm4
@@ -514,18 +511,18 @@ L$023ecb_dec_loop6_enter:
movups [80+edi],xmm7
lea edi,[96+edi]
add eax,96
- jz NEAR L$012ecb_ret
-L$022ecb_dec_tail:
+ jz NEAR L$010ecb_ret
+L$020ecb_dec_tail:
movups xmm2,[esi]
cmp eax,32
- jb NEAR L$025ecb_dec_one
+ jb NEAR L$023ecb_dec_one
movups xmm3,[16+esi]
- je NEAR L$026ecb_dec_two
+ je NEAR L$024ecb_dec_two
movups xmm4,[32+esi]
cmp eax,64
- jb NEAR L$027ecb_dec_three
+ jb NEAR L$025ecb_dec_three
movups xmm5,[48+esi]
- je NEAR L$028ecb_dec_four
+ je NEAR L$026ecb_dec_four
movups xmm6,[64+esi]
xorps xmm7,xmm7
call __aesni_decrypt6
@@ -534,51 +531,43 @@ L$022ecb_dec_tail:
movups [32+edi],xmm4
movups [48+edi],xmm5
movups [64+edi],xmm6
- jmp NEAR L$012ecb_ret
+ jmp NEAR L$010ecb_ret
align 16
-L$025ecb_dec_one:
+L$023ecb_dec_one:
movups xmm0,[edx]
movups xmm1,[16+edx]
lea edx,[32+edx]
xorps xmm2,xmm0
-L$029dec1_loop_4:
+L$027dec1_loop_4:
db 102,15,56,222,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$029dec1_loop_4
+ jnz NEAR L$027dec1_loop_4
db 102,15,56,223,209
movups [edi],xmm2
- jmp NEAR L$012ecb_ret
+ jmp NEAR L$010ecb_ret
align 16
-L$026ecb_dec_two:
+L$024ecb_dec_two:
call __aesni_decrypt2
movups [edi],xmm2
movups [16+edi],xmm3
- jmp NEAR L$012ecb_ret
+ jmp NEAR L$010ecb_ret
align 16
-L$027ecb_dec_three:
+L$025ecb_dec_three:
call __aesni_decrypt3
movups [edi],xmm2
movups [16+edi],xmm3
movups [32+edi],xmm4
- jmp NEAR L$012ecb_ret
+ jmp NEAR L$010ecb_ret
align 16
-L$028ecb_dec_four:
+L$026ecb_dec_four:
call __aesni_decrypt4
movups [edi],xmm2
movups [16+edi],xmm3
movups [32+edi],xmm4
movups [48+edi],xmm5
-L$012ecb_ret:
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- pxor xmm6,xmm6
- pxor xmm7,xmm7
+L$010ecb_ret:
pop edi
pop esi
pop ebx
@@ -623,7 +612,7 @@ L$_aesni_ccm64_encrypt_blocks_begin:
lea edx,[32+ecx*1+edx]
sub ebx,ecx
db 102,15,56,0,253
-L$030ccm64_enc_outer:
+L$028ccm64_enc_outer:
movups xmm0,[ebp]
mov ecx,ebx
movups xmm6,[esi]
@@ -632,7 +621,7 @@ L$030ccm64_enc_outer:
xorps xmm0,xmm6
xorps xmm3,xmm0
movups xmm0,[32+ebp]
-L$031ccm64_enc2_loop:
+L$029ccm64_enc2_loop:
db 102,15,56,220,209
db 102,15,56,220,217
movups xmm1,[ecx*1+edx]
@@ -640,7 +629,7 @@ db 102,15,56,220,217
db 102,15,56,220,208
db 102,15,56,220,216
movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$031ccm64_enc2_loop
+ jnz NEAR L$029ccm64_enc2_loop
db 102,15,56,220,209
db 102,15,56,220,217
paddq xmm7,[16+esp]
@@ -653,18 +642,10 @@ db 102,15,56,221,216
movups [edi],xmm6
db 102,15,56,0,213
lea edi,[16+edi]
- jnz NEAR L$030ccm64_enc_outer
+ jnz NEAR L$028ccm64_enc_outer
mov esp,DWORD [48+esp]
mov edi,DWORD [40+esp]
movups [edi],xmm3
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- pxor xmm6,xmm6
- pxor xmm7,xmm7
pop edi
pop esi
pop ebx
@@ -710,12 +691,12 @@ db 102,15,56,0,253
movups xmm1,[16+edx]
lea edx,[32+edx]
xorps xmm2,xmm0
-L$032enc1_loop_5:
+L$030enc1_loop_5:
db 102,15,56,220,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$032enc1_loop_5
+ jnz NEAR L$030enc1_loop_5
db 102,15,56,221,209
shl ebx,4
mov ecx,16
@@ -725,16 +706,16 @@ db 102,15,56,221,209
sub ecx,ebx
lea edx,[32+ebx*1+ebp]
mov ebx,ecx
- jmp NEAR L$033ccm64_dec_outer
+ jmp NEAR L$031ccm64_dec_outer
align 16
-L$033ccm64_dec_outer:
+L$031ccm64_dec_outer:
xorps xmm6,xmm2
movdqa xmm2,xmm7
movups [edi],xmm6
lea edi,[16+edi]
db 102,15,56,0,213
sub eax,1
- jz NEAR L$034ccm64_dec_break
+ jz NEAR L$032ccm64_dec_break
movups xmm0,[ebp]
mov ecx,ebx
movups xmm1,[16+ebp]
@@ -742,7 +723,7 @@ db 102,15,56,0,213
xorps xmm2,xmm0
xorps xmm3,xmm6
movups xmm0,[32+ebp]
-L$035ccm64_dec2_loop:
+L$033ccm64_dec2_loop:
db 102,15,56,220,209
db 102,15,56,220,217
movups xmm1,[ecx*1+edx]
@@ -750,7 +731,7 @@ db 102,15,56,220,217
db 102,15,56,220,208
db 102,15,56,220,216
movups xmm0,[ecx*1+edx-16]
- jnz NEAR L$035ccm64_dec2_loop
+ jnz NEAR L$033ccm64_dec2_loop
movups xmm6,[esi]
paddq xmm7,[16+esp]
db 102,15,56,220,209
@@ -758,9 +739,9 @@ db 102,15,56,220,217
db 102,15,56,221,208
db 102,15,56,221,216
lea esi,[16+esi]
- jmp NEAR L$033ccm64_dec_outer
+ jmp NEAR L$031ccm64_dec_outer
align 16
-L$034ccm64_dec_break:
+L$032ccm64_dec_break:
mov ecx,DWORD [240+ebp]
mov edx,ebp
movups xmm0,[edx]
@@ -768,24 +749,16 @@ L$034ccm64_dec_break:
xorps xmm6,xmm0
lea edx,[32+edx]
xorps xmm3,xmm6
-L$036enc1_loop_6:
+L$034enc1_loop_6:
db 102,15,56,220,217
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$036enc1_loop_6
+ jnz NEAR L$034enc1_loop_6
db 102,15,56,221,217
mov esp,DWORD [48+esp]
mov edi,DWORD [40+esp]
movups [edi],xmm3
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- pxor xmm6,xmm6
- pxor xmm7,xmm7
pop edi
pop esi
pop ebx
@@ -809,7 +782,7 @@ L$_aesni_ctr32_encrypt_blocks_begin:
and esp,-16
mov DWORD [80+esp],ebp
cmp eax,1
- je NEAR L$037ctr32_one_shortcut
+ je NEAR L$035ctr32_one_shortcut
movdqu xmm7,[ebx]
mov DWORD [esp],202182159
mov DWORD [4+esp],134810123
@@ -847,7 +820,7 @@ db 102,15,56,0,202
pshufd xmm2,xmm0,192
pshufd xmm3,xmm0,128
cmp eax,6
- jb NEAR L$038ctr32_tail
+ jb NEAR L$036ctr32_tail
pxor xmm7,xmm6
shl ecx,4
mov ebx,16
@@ -856,9 +829,9 @@ db 102,15,56,0,202
sub ebx,ecx
lea edx,[32+ecx*1+edx]
sub eax,6
- jmp NEAR L$039ctr32_loop6
+ jmp NEAR L$037ctr32_loop6
align 16
-L$039ctr32_loop6:
+L$037ctr32_loop6:
pshufd xmm4,xmm0,64
movdqa xmm0,[32+esp]
pshufd xmm5,xmm1,192
@@ -912,27 +885,27 @@ db 102,15,56,0,202
lea edi,[96+edi]
pshufd xmm3,xmm0,128
sub eax,6
- jnc NEAR L$039ctr32_loop6
+ jnc NEAR L$037ctr32_loop6
add eax,6
- jz NEAR L$040ctr32_ret
+ jz NEAR L$038ctr32_ret
movdqu xmm7,[ebp]
mov edx,ebp
pxor xmm7,[32+esp]
mov ecx,DWORD [240+ebp]
-L$038ctr32_tail:
+L$036ctr32_tail:
por xmm2,xmm7
cmp eax,2
- jb NEAR L$041ctr32_one
+ jb NEAR L$039ctr32_one
pshufd xmm4,xmm0,64
por xmm3,xmm7
- je NEAR L$042ctr32_two
+ je NEAR L$040ctr32_two
pshufd xmm5,xmm1,192
por xmm4,xmm7
cmp eax,4
- jb NEAR L$043ctr32_three
+ jb NEAR L$041ctr32_three
pshufd xmm6,xmm1,128
por xmm5,xmm7
- je NEAR L$044ctr32_four
+ je NEAR L$042ctr32_four
por xmm6,xmm7
call __aesni_encrypt6
movups xmm1,[esi]
@@ -950,29 +923,29 @@ L$038ctr32_tail:
movups [32+edi],xmm4
movups [48+edi],xmm5
movups [64+edi],xmm6
- jmp NEAR L$040ctr32_ret
+ jmp NEAR L$038ctr32_ret
align 16
-L$037ctr32_one_shortcut:
+L$035ctr32_one_shortcut:
movups xmm2,[ebx]
mov ecx,DWORD [240+edx]
-L$041ctr32_one:
+L$039ctr32_one:
movups xmm0,[edx]
movups xmm1,[16+edx]
lea edx,[32+edx]
xorps xmm2,xmm0
-L$045enc1_loop_7:
+L$043enc1_loop_7:
db 102,15,56,220,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$045enc1_loop_7
+ jnz NEAR L$043enc1_loop_7
db 102,15,56,221,209
movups xmm6,[esi]
xorps xmm6,xmm2
movups [edi],xmm6
- jmp NEAR L$040ctr32_ret
+ jmp NEAR L$038ctr32_ret
align 16
-L$042ctr32_two:
+L$040ctr32_two:
call __aesni_encrypt2
movups xmm5,[esi]
movups xmm6,[16+esi]
@@ -980,9 +953,9 @@ L$042ctr32_two:
xorps xmm3,xmm6
movups [edi],xmm2
movups [16+edi],xmm3
- jmp NEAR L$040ctr32_ret
+ jmp NEAR L$038ctr32_ret
align 16
-L$043ctr32_three:
+L$041ctr32_three:
call __aesni_encrypt3
movups xmm5,[esi]
movups xmm6,[16+esi]
@@ -993,9 +966,9 @@ L$043ctr32_three:
xorps xmm4,xmm7
movups [16+edi],xmm3
movups [32+edi],xmm4
- jmp NEAR L$040ctr32_ret
+ jmp NEAR L$038ctr32_ret
align 16
-L$044ctr32_four:
+L$042ctr32_four:
call __aesni_encrypt4
movups xmm6,[esi]
movups xmm7,[16+esi]
@@ -1009,18 +982,7 @@ L$044ctr32_four:
xorps xmm5,xmm0
movups [32+edi],xmm4
movups [48+edi],xmm5
-L$040ctr32_ret:
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- movdqa [32+esp],xmm0
- pxor xmm5,xmm5
- movdqa [48+esp],xmm0
- pxor xmm6,xmm6
- movdqa [64+esp],xmm0
- pxor xmm7,xmm7
+L$038ctr32_ret:
mov esp,DWORD [80+esp]
pop edi
pop esi
@@ -1043,12 +1005,12 @@ L$_aesni_xts_encrypt_begin:
movups xmm1,[16+edx]
lea edx,[32+edx]
xorps xmm2,xmm0
-L$046enc1_loop_8:
+L$044enc1_loop_8:
db 102,15,56,220,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$046enc1_loop_8
+ jnz NEAR L$044enc1_loop_8
db 102,15,56,221,209
mov esi,DWORD [20+esp]
mov edi,DWORD [24+esp]
@@ -1072,14 +1034,14 @@ db 102,15,56,221,209
mov ebp,edx
mov ebx,ecx
sub eax,96
- jc NEAR L$047xts_enc_short
+ jc NEAR L$045xts_enc_short
shl ecx,4
mov ebx,16
sub ebx,ecx
lea edx,[32+ecx*1+edx]
- jmp NEAR L$048xts_enc_loop6
+ jmp NEAR L$046xts_enc_loop6
align 16
-L$048xts_enc_loop6:
+L$046xts_enc_loop6:
pshufd xmm2,xmm0,19
pxor xmm0,xmm0
movdqa [esp],xmm1
@@ -1168,23 +1130,23 @@ db 102,15,56,220,249
pcmpgtd xmm0,xmm1
pxor xmm1,xmm2
sub eax,96
- jnc NEAR L$048xts_enc_loop6
+ jnc NEAR L$046xts_enc_loop6
mov ecx,DWORD [240+ebp]
mov edx,ebp
mov ebx,ecx
-L$047xts_enc_short:
+L$045xts_enc_short:
add eax,96
- jz NEAR L$049xts_enc_done6x
+ jz NEAR L$047xts_enc_done6x
movdqa xmm5,xmm1
cmp eax,32
- jb NEAR L$050xts_enc_one
+ jb NEAR L$048xts_enc_one
pshufd xmm2,xmm0,19
pxor xmm0,xmm0
paddq xmm1,xmm1
pand xmm2,xmm3
pcmpgtd xmm0,xmm1
pxor xmm1,xmm2
- je NEAR L$051xts_enc_two
+ je NEAR L$049xts_enc_two
pshufd xmm2,xmm0,19
pxor xmm0,xmm0
movdqa xmm6,xmm1
@@ -1193,7 +1155,7 @@ L$047xts_enc_short:
pcmpgtd xmm0,xmm1
pxor xmm1,xmm2
cmp eax,64
- jb NEAR L$052xts_enc_three
+ jb NEAR L$050xts_enc_three
pshufd xmm2,xmm0,19
pxor xmm0,xmm0
movdqa xmm7,xmm1
@@ -1203,7 +1165,7 @@ L$047xts_enc_short:
pxor xmm1,xmm2
movdqa [esp],xmm5
movdqa [16+esp],xmm6
- je NEAR L$053xts_enc_four
+ je NEAR L$051xts_enc_four
movdqa [32+esp],xmm7
pshufd xmm7,xmm0,19
movdqa [48+esp],xmm1
@@ -1235,9 +1197,9 @@ L$047xts_enc_short:
movups [48+edi],xmm5
movups [64+edi],xmm6
lea edi,[80+edi]
- jmp NEAR L$054xts_enc_done
+ jmp NEAR L$052xts_enc_done
align 16
-L$050xts_enc_one:
+L$048xts_enc_one:
movups xmm2,[esi]
lea esi,[16+esi]
xorps xmm2,xmm5
@@ -1245,20 +1207,20 @@ L$050xts_enc_one:
movups xmm1,[16+edx]
lea edx,[32+edx]
xorps xmm2,xmm0
-L$055enc1_loop_9:
+L$053enc1_loop_9:
db 102,15,56,220,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$055enc1_loop_9
+ jnz NEAR L$053enc1_loop_9
db 102,15,56,221,209
xorps xmm2,xmm5
movups [edi],xmm2
lea edi,[16+edi]
movdqa xmm1,xmm5
- jmp NEAR L$054xts_enc_done
+ jmp NEAR L$052xts_enc_done
align 16
-L$051xts_enc_two:
+L$049xts_enc_two:
movaps xmm6,xmm1
movups xmm2,[esi]
movups xmm3,[16+esi]
@@ -1272,9 +1234,9 @@ L$051xts_enc_two:
movups [16+edi],xmm3
lea edi,[32+edi]
movdqa xmm1,xmm6
- jmp NEAR L$054xts_enc_done
+ jmp NEAR L$052xts_enc_done
align 16
-L$052xts_enc_three:
+L$050xts_enc_three:
movaps xmm7,xmm1
movups xmm2,[esi]
movups xmm3,[16+esi]
@@ -1292,9 +1254,9 @@ L$052xts_enc_three:
movups [32+edi],xmm4
lea edi,[48+edi]
movdqa xmm1,xmm7
- jmp NEAR L$054xts_enc_done
+ jmp NEAR L$052xts_enc_done
align 16
-L$053xts_enc_four:
+L$051xts_enc_four:
movaps xmm6,xmm1
movups xmm2,[esi]
movups xmm3,[16+esi]
@@ -1316,28 +1278,28 @@ L$053xts_enc_four:
movups [48+edi],xmm5
lea edi,[64+edi]
movdqa xmm1,xmm6
- jmp NEAR L$054xts_enc_done
+ jmp NEAR L$052xts_enc_done
align 16
-L$049xts_enc_done6x:
+L$047xts_enc_done6x:
mov eax,DWORD [112+esp]
and eax,15
- jz NEAR L$056xts_enc_ret
+ jz NEAR L$054xts_enc_ret
movdqa xmm5,xmm1
mov DWORD [112+esp],eax
- jmp NEAR L$057xts_enc_steal
+ jmp NEAR L$055xts_enc_steal
align 16
-L$054xts_enc_done:
+L$052xts_enc_done:
mov eax,DWORD [112+esp]
pxor xmm0,xmm0
and eax,15
- jz NEAR L$056xts_enc_ret
+ jz NEAR L$054xts_enc_ret
pcmpgtd xmm0,xmm1
mov DWORD [112+esp],eax
pshufd xmm5,xmm0,19
paddq xmm1,xmm1
pand xmm5,[96+esp]
pxor xmm5,xmm1
-L$057xts_enc_steal:
+L$055xts_enc_steal:
movzx ecx,BYTE [esi]
movzx edx,BYTE [edi-16]
lea esi,[1+esi]
@@ -1345,7 +1307,7 @@ L$057xts_enc_steal:
mov BYTE [edi],dl
lea edi,[1+edi]
sub eax,1
- jnz NEAR L$057xts_enc_steal
+ jnz NEAR L$055xts_enc_steal
sub edi,DWORD [112+esp]
mov edx,ebp
mov ecx,ebx
@@ -1355,30 +1317,16 @@ L$057xts_enc_steal:
movups xmm1,[16+edx]
lea edx,[32+edx]
xorps xmm2,xmm0
-L$058enc1_loop_10:
+L$056enc1_loop_10:
db 102,15,56,220,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$058enc1_loop_10
+ jnz NEAR L$056enc1_loop_10
db 102,15,56,221,209
xorps xmm2,xmm5
movups [edi-16],xmm2
-L$056xts_enc_ret:
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- movdqa [esp],xmm0
- pxor xmm3,xmm3
- movdqa [16+esp],xmm0
- pxor xmm4,xmm4
- movdqa [32+esp],xmm0
- pxor xmm5,xmm5
- movdqa [48+esp],xmm0
- pxor xmm6,xmm6
- movdqa [64+esp],xmm0
- pxor xmm7,xmm7
- movdqa [80+esp],xmm0
+L$054xts_enc_ret:
mov esp,DWORD [116+esp]
pop edi
pop esi
@@ -1401,12 +1349,12 @@ L$_aesni_xts_decrypt_begin:
movups xmm1,[16+edx]
lea edx,[32+edx]
xorps xmm2,xmm0
-L$059enc1_loop_11:
+L$057enc1_loop_11:
db 102,15,56,220,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$059enc1_loop_11
+ jnz NEAR L$057enc1_loop_11
db 102,15,56,221,209
mov esi,DWORD [20+esp]
mov edi,DWORD [24+esp]
@@ -1435,14 +1383,14 @@ db 102,15,56,221,209
pcmpgtd xmm0,xmm1
and eax,-16
sub eax,96
- jc NEAR L$060xts_dec_short
+ jc NEAR L$058xts_dec_short
shl ecx,4
mov ebx,16
sub ebx,ecx
lea edx,[32+ecx*1+edx]
- jmp NEAR L$061xts_dec_loop6
+ jmp NEAR L$059xts_dec_loop6
align 16
-L$061xts_dec_loop6:
+L$059xts_dec_loop6:
pshufd xmm2,xmm0,19
pxor xmm0,xmm0
movdqa [esp],xmm1
@@ -1531,23 +1479,23 @@ db 102,15,56,222,249
pcmpgtd xmm0,xmm1
pxor xmm1,xmm2
sub eax,96
- jnc NEAR L$061xts_dec_loop6
+ jnc NEAR L$059xts_dec_loop6
mov ecx,DWORD [240+ebp]
mov edx,ebp
mov ebx,ecx
-L$060xts_dec_short:
+L$058xts_dec_short:
add eax,96
- jz NEAR L$062xts_dec_done6x
+ jz NEAR L$060xts_dec_done6x
movdqa xmm5,xmm1
cmp eax,32
- jb NEAR L$063xts_dec_one
+ jb NEAR L$061xts_dec_one
pshufd xmm2,xmm0,19
pxor xmm0,xmm0
paddq xmm1,xmm1
pand xmm2,xmm3
pcmpgtd xmm0,xmm1
pxor xmm1,xmm2
- je NEAR L$064xts_dec_two
+ je NEAR L$062xts_dec_two
pshufd xmm2,xmm0,19
pxor xmm0,xmm0
movdqa xmm6,xmm1
@@ -1556,7 +1504,7 @@ L$060xts_dec_short:
pcmpgtd xmm0,xmm1
pxor xmm1,xmm2
cmp eax,64
- jb NEAR L$065xts_dec_three
+ jb NEAR L$063xts_dec_three
pshufd xmm2,xmm0,19
pxor xmm0,xmm0
movdqa xmm7,xmm1
@@ -1566,7 +1514,7 @@ L$060xts_dec_short:
pxor xmm1,xmm2
movdqa [esp],xmm5
movdqa [16+esp],xmm6
- je NEAR L$066xts_dec_four
+ je NEAR L$064xts_dec_four
movdqa [32+esp],xmm7
pshufd xmm7,xmm0,19
movdqa [48+esp],xmm1
@@ -1598,9 +1546,9 @@ L$060xts_dec_short:
movups [48+edi],xmm5
movups [64+edi],xmm6
lea edi,[80+edi]
- jmp NEAR L$067xts_dec_done
+ jmp NEAR L$065xts_dec_done
align 16
-L$063xts_dec_one:
+L$061xts_dec_one:
movups xmm2,[esi]
lea esi,[16+esi]
xorps xmm2,xmm5
@@ -1608,20 +1556,20 @@ L$063xts_dec_one:
movups xmm1,[16+edx]
lea edx,[32+edx]
xorps xmm2,xmm0
-L$068dec1_loop_12:
+L$066dec1_loop_12:
db 102,15,56,222,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$068dec1_loop_12
+ jnz NEAR L$066dec1_loop_12
db 102,15,56,223,209
xorps xmm2,xmm5
movups [edi],xmm2
lea edi,[16+edi]
movdqa xmm1,xmm5
- jmp NEAR L$067xts_dec_done
+ jmp NEAR L$065xts_dec_done
align 16
-L$064xts_dec_two:
+L$062xts_dec_two:
movaps xmm6,xmm1
movups xmm2,[esi]
movups xmm3,[16+esi]
@@ -1635,9 +1583,9 @@ L$064xts_dec_two:
movups [16+edi],xmm3
lea edi,[32+edi]
movdqa xmm1,xmm6
- jmp NEAR L$067xts_dec_done
+ jmp NEAR L$065xts_dec_done
align 16
-L$065xts_dec_three:
+L$063xts_dec_three:
movaps xmm7,xmm1
movups xmm2,[esi]
movups xmm3,[16+esi]
@@ -1655,9 +1603,9 @@ L$065xts_dec_three:
movups [32+edi],xmm4
lea edi,[48+edi]
movdqa xmm1,xmm7
- jmp NEAR L$067xts_dec_done
+ jmp NEAR L$065xts_dec_done
align 16
-L$066xts_dec_four:
+L$064xts_dec_four:
movaps xmm6,xmm1
movups xmm2,[esi]
movups xmm3,[16+esi]
@@ -1679,20 +1627,20 @@ L$066xts_dec_four:
movups [48+edi],xmm5
lea edi,[64+edi]
movdqa xmm1,xmm6
- jmp NEAR L$067xts_dec_done
+ jmp NEAR L$065xts_dec_done
align 16
-L$062xts_dec_done6x:
+L$060xts_dec_done6x:
mov eax,DWORD [112+esp]
and eax,15
- jz NEAR L$069xts_dec_ret
+ jz NEAR L$067xts_dec_ret
mov DWORD [112+esp],eax
- jmp NEAR L$070xts_dec_only_one_more
+ jmp NEAR L$068xts_dec_only_one_more
align 16
-L$067xts_dec_done:
+L$065xts_dec_done:
mov eax,DWORD [112+esp]
pxor xmm0,xmm0
and eax,15
- jz NEAR L$069xts_dec_ret
+ jz NEAR L$067xts_dec_ret
pcmpgtd xmm0,xmm1
mov DWORD [112+esp],eax
pshufd xmm2,xmm0,19
@@ -1702,7 +1650,7 @@ L$067xts_dec_done:
pand xmm2,xmm3
pcmpgtd xmm0,xmm1
pxor xmm1,xmm2
-L$070xts_dec_only_one_more:
+L$068xts_dec_only_one_more:
pshufd xmm5,xmm0,19
movdqa xmm6,xmm1
paddq xmm1,xmm1
@@ -1716,16 +1664,16 @@ L$070xts_dec_only_one_more:
movups xmm1,[16+edx]
lea edx,[32+edx]
xorps xmm2,xmm0
-L$071dec1_loop_13:
+L$069dec1_loop_13:
db 102,15,56,222,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$071dec1_loop_13
+ jnz NEAR L$069dec1_loop_13
db 102,15,56,223,209
xorps xmm2,xmm5
movups [edi],xmm2
-L$072xts_dec_steal:
+L$070xts_dec_steal:
movzx ecx,BYTE [16+esi]
movzx edx,BYTE [edi]
lea esi,[1+esi]
@@ -1733,7 +1681,7 @@ L$072xts_dec_steal:
mov BYTE [16+edi],dl
lea edi,[1+edi]
sub eax,1
- jnz NEAR L$072xts_dec_steal
+ jnz NEAR L$070xts_dec_steal
sub edi,DWORD [112+esp]
mov edx,ebp
mov ecx,ebx
@@ -1743,30 +1691,16 @@ L$072xts_dec_steal:
movups xmm1,[16+edx]
lea edx,[32+edx]
xorps xmm2,xmm0
-L$073dec1_loop_14:
+L$071dec1_loop_14:
db 102,15,56,222,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$073dec1_loop_14
+ jnz NEAR L$071dec1_loop_14
db 102,15,56,223,209
xorps xmm2,xmm6
movups [edi],xmm2
-L$069xts_dec_ret:
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- movdqa [esp],xmm0
- pxor xmm3,xmm3
- movdqa [16+esp],xmm0
- pxor xmm4,xmm4
- movdqa [32+esp],xmm0
- pxor xmm5,xmm5
- movdqa [48+esp],xmm0
- pxor xmm6,xmm6
- movdqa [64+esp],xmm0
- pxor xmm7,xmm7
- movdqa [80+esp],xmm0
+L$067xts_dec_ret:
mov esp,DWORD [116+esp]
pop edi
pop esi
@@ -1790,7 +1724,7 @@ L$_aesni_cbc_encrypt_begin:
mov edx,DWORD [32+esp]
mov ebp,DWORD [36+esp]
test eax,eax
- jz NEAR L$074cbc_abort
+ jz NEAR L$072cbc_abort
cmp DWORD [40+esp],0
xchg ebx,esp
movups xmm7,[ebp]
@@ -1798,14 +1732,14 @@ L$_aesni_cbc_encrypt_begin:
mov ebp,edx
mov DWORD [16+esp],ebx
mov ebx,ecx
- je NEAR L$075cbc_decrypt
+ je NEAR L$073cbc_decrypt
movaps xmm2,xmm7
cmp eax,16
- jb NEAR L$076cbc_enc_tail
+ jb NEAR L$074cbc_enc_tail
sub eax,16
- jmp NEAR L$077cbc_enc_loop
+ jmp NEAR L$075cbc_enc_loop
align 16
-L$077cbc_enc_loop:
+L$075cbc_enc_loop:
movups xmm7,[esi]
lea esi,[16+esi]
movups xmm0,[edx]
@@ -1813,25 +1747,24 @@ L$077cbc_enc_loop:
xorps xmm7,xmm0
lea edx,[32+edx]
xorps xmm2,xmm7
-L$078enc1_loop_15:
+L$076enc1_loop_15:
db 102,15,56,220,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$078enc1_loop_15
+ jnz NEAR L$076enc1_loop_15
db 102,15,56,221,209
mov ecx,ebx
mov edx,ebp
movups [edi],xmm2
lea edi,[16+edi]
sub eax,16
- jnc NEAR L$077cbc_enc_loop
+ jnc NEAR L$075cbc_enc_loop
add eax,16
- jnz NEAR L$076cbc_enc_tail
+ jnz NEAR L$074cbc_enc_tail
movaps xmm7,xmm2
- pxor xmm2,xmm2
- jmp NEAR L$079cbc_ret
-L$076cbc_enc_tail:
+ jmp NEAR L$077cbc_ret
+L$074cbc_enc_tail:
mov ecx,eax
dd 2767451785
mov ecx,16
@@ -1842,20 +1775,20 @@ dd 2868115081
mov ecx,ebx
mov esi,edi
mov edx,ebp
- jmp NEAR L$077cbc_enc_loop
+ jmp NEAR L$075cbc_enc_loop
align 16
-L$075cbc_decrypt:
+L$073cbc_decrypt:
cmp eax,80
- jbe NEAR L$080cbc_dec_tail
+ jbe NEAR L$078cbc_dec_tail
movaps [esp],xmm7
sub eax,80
- jmp NEAR L$081cbc_dec_loop6_enter
+ jmp NEAR L$079cbc_dec_loop6_enter
align 16
-L$082cbc_dec_loop6:
+L$080cbc_dec_loop6:
movaps [esp],xmm0
movups [edi],xmm7
lea edi,[16+edi]
-L$081cbc_dec_loop6_enter:
+L$079cbc_dec_loop6_enter:
movdqu xmm2,[esi]
movdqu xmm3,[16+esi]
movdqu xmm4,[32+esi]
@@ -1885,28 +1818,28 @@ L$081cbc_dec_loop6_enter:
movups [64+edi],xmm6
lea edi,[80+edi]
sub eax,96
- ja NEAR L$082cbc_dec_loop6
+ ja NEAR L$080cbc_dec_loop6
movaps xmm2,xmm7
movaps xmm7,xmm0
add eax,80
- jle NEAR L$083cbc_dec_clear_tail_collected
+ jle NEAR L$081cbc_dec_tail_collected
movups [edi],xmm2
lea edi,[16+edi]
-L$080cbc_dec_tail:
+L$078cbc_dec_tail:
movups xmm2,[esi]
movaps xmm6,xmm2
cmp eax,16
- jbe NEAR L$084cbc_dec_one
+ jbe NEAR L$082cbc_dec_one
movups xmm3,[16+esi]
movaps xmm5,xmm3
cmp eax,32
- jbe NEAR L$085cbc_dec_two
+ jbe NEAR L$083cbc_dec_two
movups xmm4,[32+esi]
cmp eax,48
- jbe NEAR L$086cbc_dec_three
+ jbe NEAR L$084cbc_dec_three
movups xmm5,[48+esi]
cmp eax,64
- jbe NEAR L$087cbc_dec_four
+ jbe NEAR L$085cbc_dec_four
movups xmm6,[64+esi]
movaps [esp],xmm7
movups xmm2,[esi]
@@ -1924,62 +1857,55 @@ L$080cbc_dec_tail:
xorps xmm6,xmm0
movups [edi],xmm2
movups [16+edi],xmm3
- pxor xmm3,xmm3
movups [32+edi],xmm4
- pxor xmm4,xmm4
movups [48+edi],xmm5
- pxor xmm5,xmm5
lea edi,[64+edi]
movaps xmm2,xmm6
- pxor xmm6,xmm6
sub eax,80
- jmp NEAR L$088cbc_dec_tail_collected
+ jmp NEAR L$081cbc_dec_tail_collected
align 16
-L$084cbc_dec_one:
+L$082cbc_dec_one:
movups xmm0,[edx]
movups xmm1,[16+edx]
lea edx,[32+edx]
xorps xmm2,xmm0
-L$089dec1_loop_16:
+L$086dec1_loop_16:
db 102,15,56,222,209
dec ecx
movups xmm1,[edx]
lea edx,[16+edx]
- jnz NEAR L$089dec1_loop_16
+ jnz NEAR L$086dec1_loop_16
db 102,15,56,223,209
xorps xmm2,xmm7
movaps xmm7,xmm6
sub eax,16
- jmp NEAR L$088cbc_dec_tail_collected
+ jmp NEAR L$081cbc_dec_tail_collected
align 16
-L$085cbc_dec_two:
+L$083cbc_dec_two:
call __aesni_decrypt2
xorps xmm2,xmm7
xorps xmm3,xmm6
movups [edi],xmm2
movaps xmm2,xmm3
- pxor xmm3,xmm3
lea edi,[16+edi]
movaps xmm7,xmm5
sub eax,32
- jmp NEAR L$088cbc_dec_tail_collected
+ jmp NEAR L$081cbc_dec_tail_collected
align 16
-L$086cbc_dec_three:
+L$084cbc_dec_three:
call __aesni_decrypt3
xorps xmm2,xmm7
xorps xmm3,xmm6
xorps xmm4,xmm5
movups [edi],xmm2
movaps xmm2,xmm4
- pxor xmm4,xmm4
movups [16+edi],xmm3
- pxor xmm3,xmm3
lea edi,[32+edi]
movups xmm7,[32+esi]
sub eax,48
- jmp NEAR L$088cbc_dec_tail_collected
+ jmp NEAR L$081cbc_dec_tail_collected
align 16
-L$087cbc_dec_four:
+L$085cbc_dec_four:
call __aesni_decrypt4
movups xmm1,[16+esi]
movups xmm0,[32+esi]
@@ -1989,44 +1915,28 @@ L$087cbc_dec_four:
movups [edi],xmm2
xorps xmm4,xmm1
movups [16+edi],xmm3
- pxor xmm3,xmm3
xorps xmm5,xmm0
movups [32+edi],xmm4
- pxor xmm4,xmm4
lea edi,[48+edi]
movaps xmm2,xmm5
- pxor xmm5,xmm5
sub eax,64
- jmp NEAR L$088cbc_dec_tail_collected
-align 16
-L$083cbc_dec_clear_tail_collected:
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- pxor xmm6,xmm6
-L$088cbc_dec_tail_collected:
+L$081cbc_dec_tail_collected:
and eax,15
- jnz NEAR L$090cbc_dec_tail_partial
+ jnz NEAR L$087cbc_dec_tail_partial
movups [edi],xmm2
- pxor xmm0,xmm0
- jmp NEAR L$079cbc_ret
+ jmp NEAR L$077cbc_ret
align 16
-L$090cbc_dec_tail_partial:
+L$087cbc_dec_tail_partial:
movaps [esp],xmm2
- pxor xmm0,xmm0
mov ecx,16
mov esi,esp
sub ecx,eax
dd 2767451785
- movdqa [esp],xmm2
-L$079cbc_ret:
+L$077cbc_ret:
mov esp,DWORD [16+esp]
mov ebp,DWORD [36+esp]
- pxor xmm2,xmm2
- pxor xmm1,xmm1
movups [ebp],xmm7
- pxor xmm7,xmm7
-L$074cbc_abort:
+L$072cbc_abort:
pop edi
pop esi
pop ebx
@@ -2034,62 +1944,52 @@ L$074cbc_abort:
ret
align 16
__aesni_set_encrypt_key:
- push ebp
- push ebx
test eax,eax
- jz NEAR L$091bad_pointer
+ jz NEAR L$088bad_pointer
test edx,edx
- jz NEAR L$091bad_pointer
- call L$092pic
-L$092pic:
- pop ebx
- lea ebx,[(L$key_const-L$092pic)+ebx]
- lea ebp,[_OPENSSL_ia32cap_P]
+ jz NEAR L$088bad_pointer
movups xmm0,[eax]
xorps xmm4,xmm4
- mov ebp,DWORD [4+ebp]
lea edx,[16+edx]
- and ebp,268437504
cmp ecx,256
- je NEAR L$09314rounds
+ je NEAR L$08914rounds
cmp ecx,192
- je NEAR L$09412rounds
+ je NEAR L$09012rounds
cmp ecx,128
- jne NEAR L$095bad_keybits
+ jne NEAR L$091bad_keybits
align 16
-L$09610rounds:
- cmp ebp,268435456
- je NEAR L$09710rounds_alt
+L$09210rounds:
mov ecx,9
movups [edx-16],xmm0
db 102,15,58,223,200,1
- call L$098key_128_cold
+ call L$093key_128_cold
db 102,15,58,223,200,2
- call L$099key_128
+ call L$094key_128
db 102,15,58,223,200,4
- call L$099key_128
+ call L$094key_128
db 102,15,58,223,200,8
- call L$099key_128
+ call L$094key_128
db 102,15,58,223,200,16
- call L$099key_128
+ call L$094key_128
db 102,15,58,223,200,32
- call L$099key_128
+ call L$094key_128
db 102,15,58,223,200,64
- call L$099key_128
+ call L$094key_128
db 102,15,58,223,200,128
- call L$099key_128
+ call L$094key_128
db 102,15,58,223,200,27
- call L$099key_128
+ call L$094key_128
db 102,15,58,223,200,54
- call L$099key_128
+ call L$094key_128
movups [edx],xmm0
mov DWORD [80+edx],ecx
- jmp NEAR L$100good_key
+ xor eax,eax
+ ret
align 16
-L$099key_128:
+L$094key_128:
movups [edx],xmm0
lea edx,[16+edx]
-L$098key_128_cold:
+L$093key_128_cold:
shufps xmm4,xmm0,16
xorps xmm0,xmm4
shufps xmm4,xmm0,140
@@ -2098,91 +1998,38 @@ L$098key_128_cold:
xorps xmm0,xmm1
ret
align 16
-L$09710rounds_alt:
- movdqa xmm5,[ebx]
- mov ecx,8
- movdqa xmm4,[32+ebx]
- movdqa xmm2,xmm0
- movdqu [edx-16],xmm0
-L$101loop_key128:
-db 102,15,56,0,197
-db 102,15,56,221,196
- pslld xmm4,1
- lea edx,[16+edx]
- movdqa xmm3,xmm2
- pslldq xmm2,4
- pxor xmm3,xmm2
- pslldq xmm2,4
- pxor xmm3,xmm2
- pslldq xmm2,4
- pxor xmm2,xmm3
- pxor xmm0,xmm2
- movdqu [edx-16],xmm0
- movdqa xmm2,xmm0
- dec ecx
- jnz NEAR L$101loop_key128
- movdqa xmm4,[48+ebx]
-db 102,15,56,0,197
-db 102,15,56,221,196
- pslld xmm4,1
- movdqa xmm3,xmm2
- pslldq xmm2,4
- pxor xmm3,xmm2
- pslldq xmm2,4
- pxor xmm3,xmm2
- pslldq xmm2,4
- pxor xmm2,xmm3
- pxor xmm0,xmm2
- movdqu [edx],xmm0
- movdqa xmm2,xmm0
-db 102,15,56,0,197
-db 102,15,56,221,196
- movdqa xmm3,xmm2
- pslldq xmm2,4
- pxor xmm3,xmm2
- pslldq xmm2,4
- pxor xmm3,xmm2
- pslldq xmm2,4
- pxor xmm2,xmm3
- pxor xmm0,xmm2
- movdqu [16+edx],xmm0
- mov ecx,9
- mov DWORD [96+edx],ecx
- jmp NEAR L$100good_key
-align 16
-L$09412rounds:
+L$09012rounds:
movq xmm2,[16+eax]
- cmp ebp,268435456
- je NEAR L$10212rounds_alt
mov ecx,11
movups [edx-16],xmm0
db 102,15,58,223,202,1
- call L$103key_192a_cold
+ call L$095key_192a_cold
db 102,15,58,223,202,2
- call L$104key_192b
+ call L$096key_192b
db 102,15,58,223,202,4
- call L$105key_192a
+ call L$097key_192a
db 102,15,58,223,202,8
- call L$104key_192b
+ call L$096key_192b
db 102,15,58,223,202,16
- call L$105key_192a
+ call L$097key_192a
db 102,15,58,223,202,32
- call L$104key_192b
+ call L$096key_192b
db 102,15,58,223,202,64
- call L$105key_192a
+ call L$097key_192a
db 102,15,58,223,202,128
- call L$104key_192b
+ call L$096key_192b
movups [edx],xmm0
mov DWORD [48+edx],ecx
- jmp NEAR L$100good_key
+ xor eax,eax
+ ret
align 16
-L$105key_192a:
+L$097key_192a:
movups [edx],xmm0
lea edx,[16+edx]
align 16
-L$103key_192a_cold:
+L$095key_192a_cold:
movaps xmm5,xmm2
-L$106key_192b_warm:
+L$098key_192b_warm:
shufps xmm4,xmm0,16
movdqa xmm3,xmm2
xorps xmm0,xmm4
@@ -2196,90 +2043,56 @@ L$106key_192b_warm:
pxor xmm2,xmm3
ret
align 16
-L$104key_192b:
+L$096key_192b:
movaps xmm3,xmm0
shufps xmm5,xmm0,68
movups [edx],xmm5
shufps xmm3,xmm2,78
movups [16+edx],xmm3
lea edx,[32+edx]
- jmp NEAR L$106key_192b_warm
-align 16
-L$10212rounds_alt:
- movdqa xmm5,[16+ebx]
- movdqa xmm4,[32+ebx]
- mov ecx,8
- movdqu [edx-16],xmm0
-L$107loop_key192:
- movq [edx],xmm2
- movdqa xmm1,xmm2
-db 102,15,56,0,213
-db 102,15,56,221,212
- pslld xmm4,1
- lea edx,[24+edx]
- movdqa xmm3,xmm0
- pslldq xmm0,4
- pxor xmm3,xmm0
- pslldq xmm0,4
- pxor xmm3,xmm0
- pslldq xmm0,4
- pxor xmm0,xmm3
- pshufd xmm3,xmm0,255
- pxor xmm3,xmm1
- pslldq xmm1,4
- pxor xmm3,xmm1
- pxor xmm0,xmm2
- pxor xmm2,xmm3
- movdqu [edx-16],xmm0
- dec ecx
- jnz NEAR L$107loop_key192
- mov ecx,11
- mov DWORD [32+edx],ecx
- jmp NEAR L$100good_key
+ jmp NEAR L$098key_192b_warm
align 16
-L$09314rounds:
+L$08914rounds:
movups xmm2,[16+eax]
- lea edx,[16+edx]
- cmp ebp,268435456
- je NEAR L$10814rounds_alt
mov ecx,13
+ lea edx,[16+edx]
movups [edx-32],xmm0
movups [edx-16],xmm2
db 102,15,58,223,202,1
- call L$109key_256a_cold
+ call L$099key_256a_cold
db 102,15,58,223,200,1
- call L$110key_256b
+ call L$100key_256b
db 102,15,58,223,202,2
- call L$111key_256a
+ call L$101key_256a
db 102,15,58,223,200,2
- call L$110key_256b
+ call L$100key_256b
db 102,15,58,223,202,4
- call L$111key_256a
+ call L$101key_256a
db 102,15,58,223,200,4
- call L$110key_256b
+ call L$100key_256b
db 102,15,58,223,202,8
- call L$111key_256a
+ call L$101key_256a
db 102,15,58,223,200,8
- call L$110key_256b
+ call L$100key_256b
db 102,15,58,223,202,16
- call L$111key_256a
+ call L$101key_256a
db 102,15,58,223,200,16
- call L$110key_256b
+ call L$100key_256b
db 102,15,58,223,202,32
- call L$111key_256a
+ call L$101key_256a
db 102,15,58,223,200,32
- call L$110key_256b
+ call L$100key_256b
db 102,15,58,223,202,64
- call L$111key_256a
+ call L$101key_256a
movups [edx],xmm0
mov DWORD [16+edx],ecx
xor eax,eax
- jmp NEAR L$100good_key
+ ret
align 16
-L$111key_256a:
+L$101key_256a:
movups [edx],xmm2
lea edx,[16+edx]
-L$109key_256a_cold:
+L$099key_256a_cold:
shufps xmm4,xmm0,16
xorps xmm0,xmm4
shufps xmm4,xmm0,140
@@ -2288,7 +2101,7 @@ L$109key_256a_cold:
xorps xmm0,xmm1
ret
align 16
-L$110key_256b:
+L$100key_256b:
movups [edx],xmm0
lea edx,[16+edx]
shufps xmm4,xmm2,16
@@ -2298,70 +2111,13 @@ L$110key_256b:
shufps xmm1,xmm1,170
xorps xmm2,xmm1
ret
-align 16
-L$10814rounds_alt:
- movdqa xmm5,[ebx]
- movdqa xmm4,[32+ebx]
- mov ecx,7
- movdqu [edx-32],xmm0
- movdqa xmm1,xmm2
- movdqu [edx-16],xmm2
-L$112loop_key256:
-db 102,15,56,0,213
-db 102,15,56,221,212
- movdqa xmm3,xmm0
- pslldq xmm0,4
- pxor xmm3,xmm0
- pslldq xmm0,4
- pxor xmm3,xmm0
- pslldq xmm0,4
- pxor xmm0,xmm3
- pslld xmm4,1
- pxor xmm0,xmm2
- movdqu [edx],xmm0
- dec ecx
- jz NEAR L$113done_key256
- pshufd xmm2,xmm0,255
- pxor xmm3,xmm3
-db 102,15,56,221,211
- movdqa xmm3,xmm1
- pslldq xmm1,4
- pxor xmm3,xmm1
- pslldq xmm1,4
- pxor xmm3,xmm1
- pslldq xmm1,4
- pxor xmm1,xmm3
- pxor xmm2,xmm1
- movdqu [16+edx],xmm2
- lea edx,[32+edx]
- movdqa xmm1,xmm2
- jmp NEAR L$112loop_key256
-L$113done_key256:
- mov ecx,13
- mov DWORD [16+edx],ecx
-L$100good_key:
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- xor eax,eax
- pop ebx
- pop ebp
- ret
align 4
-L$091bad_pointer:
+L$088bad_pointer:
mov eax,-1
- pop ebx
- pop ebp
ret
align 4
-L$095bad_keybits:
- pxor xmm0,xmm0
+L$091bad_keybits:
mov eax,-2
- pop ebx
- pop ebp
ret
global _aesni_set_encrypt_key
align 16
@@ -2383,7 +2139,7 @@ L$_aesni_set_decrypt_key_begin:
mov edx,DWORD [12+esp]
shl ecx,4
test eax,eax
- jnz NEAR L$114dec_key_ret
+ jnz NEAR L$102dec_key_ret
lea eax,[16+ecx*1+edx]
movups xmm0,[edx]
movups xmm1,[eax]
@@ -2391,7 +2147,7 @@ L$_aesni_set_decrypt_key_begin:
movups [edx],xmm1
lea edx,[16+edx]
lea eax,[eax-16]
-L$115dec_key_inverse:
+L$103dec_key_inverse:
movups xmm0,[edx]
movups xmm1,[eax]
db 102,15,56,219,192
@@ -2401,24 +2157,14 @@ db 102,15,56,219,201
movups [16+eax],xmm0
movups [edx-16],xmm1
cmp eax,edx
- ja NEAR L$115dec_key_inverse
+ ja NEAR L$103dec_key_inverse
movups xmm0,[edx]
db 102,15,56,219,192
movups [edx],xmm0
- pxor xmm0,xmm0
- pxor xmm1,xmm1
xor eax,eax
-L$114dec_key_ret:
+L$102dec_key_ret:
ret
-align 64
-L$key_const:
-dd 202313229,202313229,202313229,202313229
-dd 67569157,67569157,67569157,67569157
-dd 1,1,1,1
-dd 27,27,27,27
db 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
db 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
db 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
db 115,108,46,111,114,103,62,0
-segment .bss
-common _OPENSSL_ia32cap_P 16
« no previous file with comments | « third_party/boringssl/update_gypi_and_asm.py ('k') | third_party/boringssl/win-x86_64/crypto/aes/aesni-x86_64.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698