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

Unified Diff: third_party/boringssl/win-x86_64/crypto/aes/aesni-x86_64.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
« no previous file with comments | « third_party/boringssl/win-x86/crypto/aes/aesni-x86.asm ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/boringssl/win-x86_64/crypto/aes/aesni-x86_64.asm
diff --git a/third_party/boringssl/win-x86_64/crypto/aes/aesni-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/aes/aesni-x86_64.asm
index cf313d1ae9a63c71070d567d56ed4685a1fee432..e1c9e0e0203fe32784c7845ef67135a6707ca05a 100644
--- a/third_party/boringssl/win-x86_64/crypto/aes/aesni-x86_64.asm
+++ b/third_party/boringssl/win-x86_64/crypto/aes/aesni-x86_64.asm
@@ -22,10 +22,7 @@ DB 102,15,56,220,209
lea r8,[16+r8]
jnz NEAR $L$oop_enc1_1
DB 102,15,56,221,209
- pxor xmm0,xmm0
- pxor xmm1,xmm1
movups XMMWORD[rdx],xmm2
- pxor xmm2,xmm2
DB 0F3h,0C3h ;repret
@@ -46,10 +43,7 @@ DB 102,15,56,222,209
lea r8,[16+r8]
jnz NEAR $L$oop_dec1_2
DB 102,15,56,223,209
- pxor xmm0,xmm0
- pxor xmm1,xmm1
movups XMMWORD[rdx],xmm2
- pxor xmm2,xmm2
DB 0F3h,0C3h ;repret
@@ -275,18 +269,21 @@ DB 102,15,56,220,217
pxor xmm6,xmm0
DB 102,15,56,220,225
pxor xmm7,xmm0
- movups xmm0,XMMWORD[rax*1+rcx]
add rax,16
+DB 102,15,56,220,233
+DB 102,15,56,220,241
+DB 102,15,56,220,249
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]
jmp NEAR $L$enc_loop6_enter
ALIGN 16
$L$enc_loop6:
DB 102,15,56,220,209
DB 102,15,56,220,217
DB 102,15,56,220,225
-$L$enc_loop6_enter:
DB 102,15,56,220,233
DB 102,15,56,220,241
DB 102,15,56,220,249
+$L$enc_loop6_enter:
movups xmm1,XMMWORD[rax*1+rcx]
add rax,32
DB 102,15,56,220,208
@@ -329,18 +326,21 @@ DB 102,15,56,222,217
pxor xmm6,xmm0
DB 102,15,56,222,225
pxor xmm7,xmm0
- movups xmm0,XMMWORD[rax*1+rcx]
add rax,16
+DB 102,15,56,222,233
+DB 102,15,56,222,241
+DB 102,15,56,222,249
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]
jmp NEAR $L$dec_loop6_enter
ALIGN 16
$L$dec_loop6:
DB 102,15,56,222,209
DB 102,15,56,222,217
DB 102,15,56,222,225
-$L$dec_loop6_enter:
DB 102,15,56,222,233
DB 102,15,56,222,241
DB 102,15,56,222,249
+$L$dec_loop6_enter:
movups xmm1,XMMWORD[rax*1+rcx]
add rax,32
DB 102,15,56,222,208
@@ -380,18 +380,23 @@ _aesni_encrypt8:
lea rcx,[32+rax*1+rcx]
neg rax
DB 102,15,56,220,209
+ add rax,16
pxor xmm7,xmm0
- pxor xmm8,xmm0
DB 102,15,56,220,217
+ pxor xmm8,xmm0
pxor xmm9,xmm0
- movups xmm0,XMMWORD[rax*1+rcx]
- add rax,16
- jmp NEAR $L$enc_loop8_inner
+DB 102,15,56,220,225
+DB 102,15,56,220,233
+DB 102,15,56,220,241
+DB 102,15,56,220,249
+DB 102,68,15,56,220,193
+DB 102,68,15,56,220,201
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]
+ jmp NEAR $L$enc_loop8_enter
ALIGN 16
$L$enc_loop8:
DB 102,15,56,220,209
DB 102,15,56,220,217
-$L$enc_loop8_inner:
DB 102,15,56,220,225
DB 102,15,56,220,233
DB 102,15,56,220,241
@@ -444,18 +449,23 @@ _aesni_decrypt8:
lea rcx,[32+rax*1+rcx]
neg rax
DB 102,15,56,222,209
+ add rax,16
pxor xmm7,xmm0
- pxor xmm8,xmm0
DB 102,15,56,222,217
+ pxor xmm8,xmm0
pxor xmm9,xmm0
- movups xmm0,XMMWORD[rax*1+rcx]
- add rax,16
- jmp NEAR $L$dec_loop8_inner
+DB 102,15,56,222,225
+DB 102,15,56,222,233
+DB 102,15,56,222,241
+DB 102,15,56,222,249
+DB 102,68,15,56,222,193
+DB 102,68,15,56,222,201
+ movups xmm0,XMMWORD[((-16))+rax*1+rcx]
+ jmp NEAR $L$dec_loop8_enter
ALIGN 16
$L$dec_loop8:
DB 102,15,56,222,209
DB 102,15,56,222,217
-$L$dec_loop8_inner:
DB 102,15,56,222,225
DB 102,15,56,222,233
DB 102,15,56,222,241
@@ -599,7 +609,6 @@ $L$ecb_enc_tail:
movups xmm7,XMMWORD[80+rdi]
je NEAR $L$ecb_enc_six
movdqu xmm8,XMMWORD[96+rdi]
- xorps xmm9,xmm9
call _aesni_encrypt8
movups XMMWORD[rsi],xmm2
movups XMMWORD[16+rsi],xmm3
@@ -713,23 +722,15 @@ $L$ecb_dec_loop8_enter:
jnc NEAR $L$ecb_dec_loop8
movups XMMWORD[rsi],xmm2
- pxor xmm2,xmm2
mov rcx,r11
movups XMMWORD[16+rsi],xmm3
- pxor xmm3,xmm3
mov eax,r10d
movups XMMWORD[32+rsi],xmm4
- pxor xmm4,xmm4
movups XMMWORD[48+rsi],xmm5
- pxor xmm5,xmm5
movups XMMWORD[64+rsi],xmm6
- pxor xmm6,xmm6
movups XMMWORD[80+rsi],xmm7
- pxor xmm7,xmm7
movups XMMWORD[96+rsi],xmm8
- pxor xmm8,xmm8
movups XMMWORD[112+rsi],xmm9
- pxor xmm9,xmm9
lea rsi,[128+rsi]
add rdx,0x80
jz NEAR $L$ecb_ret
@@ -752,23 +753,14 @@ $L$ecb_dec_tail:
je NEAR $L$ecb_dec_six
movups xmm8,XMMWORD[96+rdi]
movups xmm0,XMMWORD[rcx]
- xorps xmm9,xmm9
call _aesni_decrypt8
movups XMMWORD[rsi],xmm2
- pxor xmm2,xmm2
movups XMMWORD[16+rsi],xmm3
- pxor xmm3,xmm3
movups XMMWORD[32+rsi],xmm4
- pxor xmm4,xmm4
movups XMMWORD[48+rsi],xmm5
- pxor xmm5,xmm5
movups XMMWORD[64+rsi],xmm6
- pxor xmm6,xmm6
movups XMMWORD[80+rsi],xmm7
- pxor xmm7,xmm7
movups XMMWORD[96+rsi],xmm8
- pxor xmm8,xmm8
- pxor xmm9,xmm9
jmp NEAR $L$ecb_ret
ALIGN 16
$L$ecb_dec_one:
@@ -784,81 +776,53 @@ DB 102,15,56,222,209
jnz NEAR $L$oop_dec1_4
DB 102,15,56,223,209
movups XMMWORD[rsi],xmm2
- pxor xmm2,xmm2
jmp NEAR $L$ecb_ret
ALIGN 16
$L$ecb_dec_two:
call _aesni_decrypt2
movups XMMWORD[rsi],xmm2
- pxor xmm2,xmm2
movups XMMWORD[16+rsi],xmm3
- pxor xmm3,xmm3
jmp NEAR $L$ecb_ret
ALIGN 16
$L$ecb_dec_three:
call _aesni_decrypt3
movups XMMWORD[rsi],xmm2
- pxor xmm2,xmm2
movups XMMWORD[16+rsi],xmm3
- pxor xmm3,xmm3
movups XMMWORD[32+rsi],xmm4
- pxor xmm4,xmm4
jmp NEAR $L$ecb_ret
ALIGN 16
$L$ecb_dec_four:
call _aesni_decrypt4
movups XMMWORD[rsi],xmm2
- pxor xmm2,xmm2
movups XMMWORD[16+rsi],xmm3
- pxor xmm3,xmm3
movups XMMWORD[32+rsi],xmm4
- pxor xmm4,xmm4
movups XMMWORD[48+rsi],xmm5
- pxor xmm5,xmm5
jmp NEAR $L$ecb_ret
ALIGN 16
$L$ecb_dec_five:
xorps xmm7,xmm7
call _aesni_decrypt6
movups XMMWORD[rsi],xmm2
- pxor xmm2,xmm2
movups XMMWORD[16+rsi],xmm3
- pxor xmm3,xmm3
movups XMMWORD[32+rsi],xmm4
- pxor xmm4,xmm4
movups XMMWORD[48+rsi],xmm5
- pxor xmm5,xmm5
movups XMMWORD[64+rsi],xmm6
- pxor xmm6,xmm6
- pxor xmm7,xmm7
jmp NEAR $L$ecb_ret
ALIGN 16
$L$ecb_dec_six:
call _aesni_decrypt6
movups XMMWORD[rsi],xmm2
- pxor xmm2,xmm2
movups XMMWORD[16+rsi],xmm3
- pxor xmm3,xmm3
movups XMMWORD[32+rsi],xmm4
- pxor xmm4,xmm4
movups XMMWORD[48+rsi],xmm5
- pxor xmm5,xmm5
movups XMMWORD[64+rsi],xmm6
- pxor xmm6,xmm6
movups XMMWORD[80+rsi],xmm7
- pxor xmm7,xmm7
$L$ecb_ret:
- xorps xmm0,xmm0
- pxor xmm1,xmm1
movaps xmm6,XMMWORD[rsp]
- movaps XMMWORD[rsp],xmm0
movaps xmm7,XMMWORD[16+rsp]
- movaps XMMWORD[16+rsp],xmm0
movaps xmm8,XMMWORD[32+rsp]
- movaps XMMWORD[32+rsp],xmm0
movaps xmm9,XMMWORD[48+rsp]
- movaps XMMWORD[48+rsp],xmm0
lea rsp,[88+rsp]
$L$ecb_enc_ret:
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
@@ -937,21 +901,11 @@ DB 102,15,56,0,215
lea rsi,[16+rsi]
jnz NEAR $L$ccm64_enc_outer
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
movups XMMWORD[r9],xmm3
- pxor xmm3,xmm3
- pxor xmm8,xmm8
- pxor xmm6,xmm6
movaps xmm6,XMMWORD[rsp]
- movaps XMMWORD[rsp],xmm0
movaps xmm7,XMMWORD[16+rsp]
- movaps XMMWORD[16+rsp],xmm0
movaps xmm8,XMMWORD[32+rsp]
- movaps XMMWORD[32+rsp],xmm0
movaps xmm9,XMMWORD[48+rsp]
- movaps XMMWORD[48+rsp],xmm0
lea rsp,[88+rsp]
$L$ccm64_enc_ret:
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
@@ -1064,21 +1018,11 @@ DB 102,15,56,220,217
lea r11,[16+r11]
jnz NEAR $L$oop_enc1_6
DB 102,15,56,221,217
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
movups XMMWORD[r9],xmm3
- pxor xmm3,xmm3
- pxor xmm8,xmm8
- pxor xmm6,xmm6
movaps xmm6,XMMWORD[rsp]
- movaps XMMWORD[rsp],xmm0
movaps xmm7,XMMWORD[16+rsp]
- movaps XMMWORD[16+rsp],xmm0
movaps xmm8,XMMWORD[32+rsp]
- movaps XMMWORD[32+rsp],xmm0
movaps xmm9,XMMWORD[48+rsp]
- movaps XMMWORD[48+rsp],xmm0
lea rsp,[88+rsp]
$L$ccm64_dec_ret:
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
@@ -1100,35 +1044,6 @@ $L$SEH_begin_aesni_ctr32_encrypt_blocks:
mov r8,QWORD[40+rsp]
- cmp rdx,1
- jne NEAR $L$ctr32_bulk
-
-
-
- movups xmm2,XMMWORD[r8]
- movups xmm3,XMMWORD[rdi]
- mov edx,DWORD[240+rcx]
- movups xmm0,XMMWORD[rcx]
- movups xmm1,XMMWORD[16+rcx]
- lea rcx,[32+rcx]
- xorps xmm2,xmm0
-$L$oop_enc1_7:
-DB 102,15,56,220,209
- dec edx
- movups xmm1,XMMWORD[rcx]
- lea rcx,[16+rcx]
- jnz NEAR $L$oop_enc1_7
-DB 102,15,56,221,209
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- xorps xmm2,xmm3
- pxor xmm3,xmm3
- movups XMMWORD[rsi],xmm2
- xorps xmm2,xmm2
- jmp NEAR $L$ctr32_epilogue
-
-ALIGN 16
-$L$ctr32_bulk:
lea rax,[rsp]
push rbp
sub rsp,288
@@ -1146,8 +1061,8 @@ $L$ctr32_bulk:
$L$ctr32_body:
lea rbp,[((-8))+rax]
-
-
+ cmp rdx,1
+ je NEAR $L$ctr32_one_shortcut
movdqu xmm2,XMMWORD[r8]
movdqu xmm0,XMMWORD[rcx]
@@ -1538,14 +1453,11 @@ DB 102,69,15,56,221,202
lea rcx,[((-128))+rcx]
$L$ctr32_tail:
-
-
lea rcx,[16+rcx]
cmp rdx,4
jb NEAR $L$ctr32_loop3
je NEAR $L$ctr32_loop4
-
shl eax,4
movdqa xmm8,XMMWORD[96+rsp]
pxor xmm9,xmm9
@@ -1648,43 +1560,40 @@ DB 102,15,56,221,225
movups xmm12,XMMWORD[32+rdi]
xorps xmm4,xmm12
movups XMMWORD[32+rsi],xmm4
+ jmp NEAR $L$ctr32_done
+ALIGN 16
+$L$ctr32_one_shortcut:
+ movups xmm2,XMMWORD[r8]
+ movups xmm10,XMMWORD[rdi]
+ mov eax,DWORD[240+rcx]
+ movups xmm0,XMMWORD[rcx]
+ movups xmm1,XMMWORD[16+rcx]
+ lea rcx,[32+rcx]
+ xorps xmm2,xmm0
+$L$oop_enc1_7:
+DB 102,15,56,220,209
+ dec eax
+ movups xmm1,XMMWORD[rcx]
+ lea rcx,[16+rcx]
+ jnz NEAR $L$oop_enc1_7
+DB 102,15,56,221,209
+ xorps xmm2,xmm10
+ movups XMMWORD[rsi],xmm2
+ jmp NEAR $L$ctr32_done
+
+ALIGN 16
$L$ctr32_done:
- xorps xmm0,xmm0
- xor r11d,r11d
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
movaps xmm6,XMMWORD[((-160))+rbp]
- movaps XMMWORD[(-160)+rbp],xmm0
movaps xmm7,XMMWORD[((-144))+rbp]
- movaps XMMWORD[(-144)+rbp],xmm0
movaps xmm8,XMMWORD[((-128))+rbp]
- movaps XMMWORD[(-128)+rbp],xmm0
movaps xmm9,XMMWORD[((-112))+rbp]
- movaps XMMWORD[(-112)+rbp],xmm0
movaps xmm10,XMMWORD[((-96))+rbp]
- movaps XMMWORD[(-96)+rbp],xmm0
movaps xmm11,XMMWORD[((-80))+rbp]
- movaps XMMWORD[(-80)+rbp],xmm0
movaps xmm12,XMMWORD[((-64))+rbp]
- movaps XMMWORD[(-64)+rbp],xmm0
movaps xmm13,XMMWORD[((-48))+rbp]
- movaps XMMWORD[(-48)+rbp],xmm0
movaps xmm14,XMMWORD[((-32))+rbp]
- movaps XMMWORD[(-32)+rbp],xmm0
movaps xmm15,XMMWORD[((-16))+rbp]
- movaps XMMWORD[(-16)+rbp],xmm0
- movaps XMMWORD[rsp],xmm0
- movaps XMMWORD[16+rsp],xmm0
- movaps XMMWORD[32+rsp],xmm0
- movaps XMMWORD[48+rsp],xmm0
- movaps XMMWORD[64+rsp],xmm0
- movaps XMMWORD[80+rsp],xmm0
- movaps XMMWORD[96+rsp],xmm0
- movaps XMMWORD[112+rsp],xmm0
lea rsp,[rbp]
pop rbp
$L$ctr32_epilogue:
@@ -1980,7 +1889,6 @@ DB 102,15,56,221,124,36,80
shr eax,4
$L$xts_enc_short:
-
mov r10d,eax
pxor xmm10,xmm0
add rdx,16*6
@@ -2009,7 +1917,6 @@ $L$xts_enc_short:
pxor xmm4,xmm12
pxor xmm5,xmm13
pxor xmm6,xmm14
- pxor xmm7,xmm7
call _aesni_encrypt6
@@ -2152,39 +2059,16 @@ DB 102,15,56,221,209
movups XMMWORD[(-16)+rsi],xmm2
$L$xts_enc_ret:
- xorps xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
movaps xmm6,XMMWORD[((-160))+rbp]
- movaps XMMWORD[(-160)+rbp],xmm0
movaps xmm7,XMMWORD[((-144))+rbp]
- movaps XMMWORD[(-144)+rbp],xmm0
movaps xmm8,XMMWORD[((-128))+rbp]
- movaps XMMWORD[(-128)+rbp],xmm0
movaps xmm9,XMMWORD[((-112))+rbp]
- movaps XMMWORD[(-112)+rbp],xmm0
movaps xmm10,XMMWORD[((-96))+rbp]
- movaps XMMWORD[(-96)+rbp],xmm0
movaps xmm11,XMMWORD[((-80))+rbp]
- movaps XMMWORD[(-80)+rbp],xmm0
movaps xmm12,XMMWORD[((-64))+rbp]
- movaps XMMWORD[(-64)+rbp],xmm0
movaps xmm13,XMMWORD[((-48))+rbp]
- movaps XMMWORD[(-48)+rbp],xmm0
movaps xmm14,XMMWORD[((-32))+rbp]
- movaps XMMWORD[(-32)+rbp],xmm0
movaps xmm15,XMMWORD[((-16))+rbp]
- movaps XMMWORD[(-16)+rbp],xmm0
- movaps XMMWORD[rsp],xmm0
- movaps XMMWORD[16+rsp],xmm0
- movaps XMMWORD[32+rsp],xmm0
- movaps XMMWORD[48+rsp],xmm0
- movaps XMMWORD[64+rsp],xmm0
- movaps XMMWORD[80+rsp],xmm0
- movaps XMMWORD[96+rsp],xmm0
lea rsp,[rbp]
pop rbp
$L$xts_enc_epilogue:
@@ -2486,7 +2370,6 @@ DB 102,15,56,223,124,36,80
shr eax,4
$L$xts_dec_short:
-
mov r10d,eax
pxor xmm10,xmm0
pxor xmm11,xmm0
@@ -2689,39 +2572,16 @@ DB 102,15,56,223,209
movups XMMWORD[rsi],xmm2
$L$xts_dec_ret:
- xorps xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
movaps xmm6,XMMWORD[((-160))+rbp]
- movaps XMMWORD[(-160)+rbp],xmm0
movaps xmm7,XMMWORD[((-144))+rbp]
- movaps XMMWORD[(-144)+rbp],xmm0
movaps xmm8,XMMWORD[((-128))+rbp]
- movaps XMMWORD[(-128)+rbp],xmm0
movaps xmm9,XMMWORD[((-112))+rbp]
- movaps XMMWORD[(-112)+rbp],xmm0
movaps xmm10,XMMWORD[((-96))+rbp]
- movaps XMMWORD[(-96)+rbp],xmm0
movaps xmm11,XMMWORD[((-80))+rbp]
- movaps XMMWORD[(-80)+rbp],xmm0
movaps xmm12,XMMWORD[((-64))+rbp]
- movaps XMMWORD[(-64)+rbp],xmm0
movaps xmm13,XMMWORD[((-48))+rbp]
- movaps XMMWORD[(-48)+rbp],xmm0
movaps xmm14,XMMWORD[((-32))+rbp]
- movaps XMMWORD[(-32)+rbp],xmm0
movaps xmm15,XMMWORD[((-16))+rbp]
- movaps XMMWORD[(-16)+rbp],xmm0
- movaps XMMWORD[rsp],xmm0
- movaps XMMWORD[16+rsp],xmm0
- movaps XMMWORD[32+rsp],xmm0
- movaps XMMWORD[48+rsp],xmm0
- movaps XMMWORD[64+rsp],xmm0
- movaps XMMWORD[80+rsp],xmm0
- movaps XMMWORD[96+rsp],xmm0
lea rsp,[rbp]
pop rbp
$L$xts_dec_epilogue:
@@ -2784,11 +2644,7 @@ DB 102,15,56,221,209
jnc NEAR $L$cbc_enc_loop
add rdx,16
jnz NEAR $L$cbc_enc_tail
- pxor xmm0,xmm0
- pxor xmm1,xmm1
movups XMMWORD[r8],xmm2
- pxor xmm2,xmm2
- pxor xmm3,xmm3
jmp NEAR $L$cbc_ret
$L$cbc_enc_tail:
@@ -2808,35 +2664,6 @@ $L$cbc_enc_tail:
ALIGN 16
$L$cbc_decrypt:
- cmp rdx,16
- jne NEAR $L$cbc_decrypt_bulk
-
-
-
- movdqu xmm2,XMMWORD[rdi]
- movdqu xmm3,XMMWORD[r8]
- movdqa xmm4,xmm2
- movups xmm0,XMMWORD[rcx]
- movups xmm1,XMMWORD[16+rcx]
- lea rcx,[32+rcx]
- xorps xmm2,xmm0
-$L$oop_dec1_16:
-DB 102,15,56,222,209
- dec r10d
- movups xmm1,XMMWORD[rcx]
- lea rcx,[16+rcx]
- jnz NEAR $L$oop_dec1_16
-DB 102,15,56,223,209
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- movdqu XMMWORD[r8],xmm4
- xorps xmm2,xmm3
- pxor xmm3,xmm3
- movups XMMWORD[rsi],xmm2
- pxor xmm2,xmm2
- jmp NEAR $L$cbc_ret
-ALIGN 16
-$L$cbc_decrypt_bulk:
lea rax,[rsp]
push rbp
sub rsp,176
@@ -3084,7 +2911,7 @@ DB 102,69,15,56,223,202
movaps xmm2,xmm9
lea rcx,[((-112))+rcx]
add rdx,0x70
- jle NEAR $L$cbc_dec_clear_tail_collected
+ jle NEAR $L$cbc_dec_tail_collected
movups XMMWORD[rsi],xmm9
lea rsi,[16+rsi]
cmp rdx,0x50
@@ -3103,19 +2930,14 @@ $L$cbc_dec_six_or_seven:
movdqu XMMWORD[rsi],xmm2
pxor xmm4,xmm12
movdqu XMMWORD[16+rsi],xmm3
- pxor xmm3,xmm3
pxor xmm5,xmm13
movdqu XMMWORD[32+rsi],xmm4
- pxor xmm4,xmm4
pxor xmm6,xmm14
movdqu XMMWORD[48+rsi],xmm5
- pxor xmm5,xmm5
pxor xmm7,xmm15
movdqu XMMWORD[64+rsi],xmm6
- pxor xmm6,xmm6
lea rsi,[80+rsi]
movdqa xmm2,xmm7
- pxor xmm7,xmm7
jmp NEAR $L$cbc_dec_tail_collected
ALIGN 16
@@ -3130,23 +2952,16 @@ $L$cbc_dec_seven:
movdqu XMMWORD[rsi],xmm2
pxor xmm4,xmm12
movdqu XMMWORD[16+rsi],xmm3
- pxor xmm3,xmm3
pxor xmm5,xmm13
movdqu XMMWORD[32+rsi],xmm4
- pxor xmm4,xmm4
pxor xmm6,xmm14
movdqu XMMWORD[48+rsi],xmm5
- pxor xmm5,xmm5
pxor xmm7,xmm15
movdqu XMMWORD[64+rsi],xmm6
- pxor xmm6,xmm6
pxor xmm8,xmm9
movdqu XMMWORD[80+rsi],xmm7
- pxor xmm7,xmm7
lea rsi,[96+rsi]
movdqa xmm2,xmm8
- pxor xmm8,xmm8
- pxor xmm9,xmm9
jmp NEAR $L$cbc_dec_tail_collected
ALIGN 16
@@ -3190,7 +3005,7 @@ $L$cbc_dec_loop6_enter:
movdqa xmm2,xmm7
add rdx,0x50
- jle NEAR $L$cbc_dec_clear_tail_collected
+ jle NEAR $L$cbc_dec_tail_collected
movups XMMWORD[rsi],xmm7
lea rsi,[16+rsi]
@@ -3225,17 +3040,12 @@ $L$cbc_dec_tail:
movdqu XMMWORD[rsi],xmm2
pxor xmm4,xmm12
movdqu XMMWORD[16+rsi],xmm3
- pxor xmm3,xmm3
pxor xmm5,xmm13
movdqu XMMWORD[32+rsi],xmm4
- pxor xmm4,xmm4
pxor xmm6,xmm14
movdqu XMMWORD[48+rsi],xmm5
- pxor xmm5,xmm5
lea rsi,[64+rsi]
movdqa xmm2,xmm6
- pxor xmm6,xmm6
- pxor xmm7,xmm7
sub rdx,0x10
jmp NEAR $L$cbc_dec_tail_collected
@@ -3246,12 +3056,12 @@ $L$cbc_dec_one:
movups xmm1,XMMWORD[16+rcx]
lea rcx,[32+rcx]
xorps xmm2,xmm0
-$L$oop_dec1_17:
+$L$oop_dec1_16:
DB 102,15,56,222,209
dec eax
movups xmm1,XMMWORD[rcx]
lea rcx,[16+rcx]
- jnz NEAR $L$oop_dec1_17
+ jnz NEAR $L$oop_dec1_16
DB 102,15,56,223,209
xorps xmm2,xmm10
movaps xmm10,xmm11
@@ -3265,7 +3075,6 @@ $L$cbc_dec_two:
pxor xmm3,xmm11
movdqu XMMWORD[rsi],xmm2
movdqa xmm2,xmm3
- pxor xmm3,xmm3
lea rsi,[16+rsi]
jmp NEAR $L$cbc_dec_tail_collected
ALIGN 16
@@ -3278,9 +3087,7 @@ $L$cbc_dec_three:
movdqu XMMWORD[rsi],xmm2
pxor xmm4,xmm12
movdqu XMMWORD[16+rsi],xmm3
- pxor xmm3,xmm3
movdqa xmm2,xmm4
- pxor xmm4,xmm4
lea rsi,[32+rsi]
jmp NEAR $L$cbc_dec_tail_collected
ALIGN 16
@@ -3293,61 +3100,39 @@ $L$cbc_dec_four:
movdqu XMMWORD[rsi],xmm2
pxor xmm4,xmm12
movdqu XMMWORD[16+rsi],xmm3
- pxor xmm3,xmm3
pxor xmm5,xmm13
movdqu XMMWORD[32+rsi],xmm4
- pxor xmm4,xmm4
movdqa xmm2,xmm5
- pxor xmm5,xmm5
lea rsi,[48+rsi]
jmp NEAR $L$cbc_dec_tail_collected
ALIGN 16
-$L$cbc_dec_clear_tail_collected:
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
$L$cbc_dec_tail_collected:
movups XMMWORD[r8],xmm10
and rdx,15
jnz NEAR $L$cbc_dec_tail_partial
movups XMMWORD[rsi],xmm2
- pxor xmm2,xmm2
jmp NEAR $L$cbc_dec_ret
ALIGN 16
$L$cbc_dec_tail_partial:
movaps XMMWORD[rsp],xmm2
- pxor xmm2,xmm2
mov rcx,16
mov rdi,rsi
sub rcx,rdx
lea rsi,[rsp]
DD 0x9066A4F3
- movdqa XMMWORD[rsp],xmm2
$L$cbc_dec_ret:
- xorps xmm0,xmm0
- pxor xmm1,xmm1
movaps xmm6,XMMWORD[16+rsp]
- movaps XMMWORD[16+rsp],xmm0
movaps xmm7,XMMWORD[32+rsp]
- movaps XMMWORD[32+rsp],xmm0
movaps xmm8,XMMWORD[48+rsp]
- movaps XMMWORD[48+rsp],xmm0
movaps xmm9,XMMWORD[64+rsp]
- movaps XMMWORD[64+rsp],xmm0
movaps xmm10,XMMWORD[80+rsp]
- movaps XMMWORD[80+rsp],xmm0
movaps xmm11,XMMWORD[96+rsp]
- movaps XMMWORD[96+rsp],xmm0
movaps xmm12,XMMWORD[112+rsp]
- movaps XMMWORD[112+rsp],xmm0
movaps xmm13,XMMWORD[128+rsp]
- movaps XMMWORD[128+rsp],xmm0
movaps xmm14,XMMWORD[144+rsp]
- movaps XMMWORD[144+rsp],xmm0
movaps xmm15,XMMWORD[160+rsp]
- movaps XMMWORD[160+rsp],xmm0
lea rsp,[rbp]
pop rbp
$L$cbc_ret:
@@ -3387,9 +3172,7 @@ DB 102,15,56,219,201
movups xmm0,XMMWORD[r8]
DB 102,15,56,219,192
- pxor xmm1,xmm1
movups XMMWORD[rcx],xmm0
- pxor xmm0,xmm0
$L$dec_key_ret:
add rsp,8
DB 0F3h,0C3h ;repret
@@ -3407,10 +3190,8 @@ DB 0x48,0x83,0xEC,0x08
test r8,r8
jz NEAR $L$enc_key_ret
- mov r10d,268437504
movups xmm0,XMMWORD[rcx]
xorps xmm4,xmm4
- and r10d,DWORD[((OPENSSL_ia32cap_P+4))]
lea rax,[16+r8]
cmp edx,256
je NEAR $L$14rounds
@@ -3421,9 +3202,6 @@ DB 0x48,0x83,0xEC,0x08
$L$10rounds:
mov edx,9
- cmp r10d,268435456
- je NEAR $L$10rounds_alt
-
movups XMMWORD[r8],xmm0
DB 102,15,58,223,200,1
call $L$key_expansion_128_cold
@@ -3451,79 +3229,9 @@ DB 102,15,58,223,200,54
jmp NEAR $L$enc_key_ret
ALIGN 16
-$L$10rounds_alt:
- movdqa xmm5,XMMWORD[$L$key_rotate]
- mov r10d,8
- movdqa xmm4,XMMWORD[$L$key_rcon1]
- movdqa xmm2,xmm0
- movdqu XMMWORD[r8],xmm0
- jmp NEAR $L$oop_key128
-
-ALIGN 16
-$L$oop_key128:
-DB 102,15,56,0,197
-DB 102,15,56,221,196
- pslld xmm4,1
- lea rax,[16+rax]
-
- 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 XMMWORD[(-16)+rax],xmm0
- movdqa xmm2,xmm0
-
- dec r10d
- jnz NEAR $L$oop_key128
-
- movdqa xmm4,XMMWORD[$L$key_rcon1b]
-
-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 XMMWORD[rax],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 XMMWORD[16+rax],xmm0
-
- mov DWORD[96+rax],edx
- xor eax,eax
- jmp NEAR $L$enc_key_ret
-
-ALIGN 16
$L$12rounds:
movq xmm2,QWORD[16+rcx]
mov edx,11
- cmp r10d,268435456
- je NEAR $L$12rounds_alt
-
movups XMMWORD[r8],xmm0
DB 102,15,58,223,202,1
call $L$key_expansion_192a_cold
@@ -3547,54 +3255,10 @@ DB 102,15,58,223,202,128
jmp NEAR $L$enc_key_ret
ALIGN 16
-$L$12rounds_alt:
- movdqa xmm5,XMMWORD[$L$key_rotate192]
- movdqa xmm4,XMMWORD[$L$key_rcon1]
- mov r10d,8
- movdqu XMMWORD[r8],xmm0
- jmp NEAR $L$oop_key192
-
-ALIGN 16
-$L$oop_key192:
- movq QWORD[rax],xmm2
- movdqa xmm1,xmm2
-DB 102,15,56,0,213
-DB 102,15,56,221,212
- pslld xmm4,1
- lea rax,[24+rax]
-
- movdqa xmm3,xmm0
- pslldq xmm0,4
- pxor xmm3,xmm0
- pslldq xmm0,4
- pxor xmm3,xmm0
- pslldq xmm0,4
- pxor xmm0,xmm3
-
- pshufd xmm3,xmm0,0xff
- pxor xmm3,xmm1
- pslldq xmm1,4
- pxor xmm3,xmm1
-
- pxor xmm0,xmm2
- pxor xmm2,xmm3
- movdqu XMMWORD[(-16)+rax],xmm0
-
- dec r10d
- jnz NEAR $L$oop_key192
-
- mov DWORD[32+rax],edx
- xor eax,eax
- jmp NEAR $L$enc_key_ret
-
-ALIGN 16
$L$14rounds:
movups xmm2,XMMWORD[16+rcx]
mov edx,13
lea rax,[16+rax]
- cmp r10d,268435456
- je NEAR $L$14rounds_alt
-
movups XMMWORD[r8],xmm0
movups XMMWORD[16+r8],xmm2
DB 102,15,58,223,202,1
@@ -3629,69 +3293,9 @@ DB 102,15,58,223,202,64
jmp NEAR $L$enc_key_ret
ALIGN 16
-$L$14rounds_alt:
- movdqa xmm5,XMMWORD[$L$key_rotate]
- movdqa xmm4,XMMWORD[$L$key_rcon1]
- mov r10d,7
- movdqu XMMWORD[r8],xmm0
- movdqa xmm1,xmm2
- movdqu XMMWORD[16+r8],xmm2
- jmp NEAR $L$oop_key256
-
-ALIGN 16
-$L$oop_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 XMMWORD[rax],xmm0
-
- dec r10d
- jz NEAR $L$done_key256
-
- pshufd xmm2,xmm0,0xff
- 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 XMMWORD[16+rax],xmm2
- lea rax,[32+rax]
- movdqa xmm1,xmm2
-
- jmp NEAR $L$oop_key256
-
-$L$done_key256:
- mov DWORD[16+rax],edx
- xor eax,eax
- jmp NEAR $L$enc_key_ret
-
-ALIGN 16
$L$bad_keybits:
mov rax,-2
$L$enc_key_ret:
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
add rsp,8
DB 0F3h,0C3h ;repret
$L$SEH_end_set_encrypt_key:
@@ -3777,14 +3381,6 @@ $L$xts_magic:
DD 0x87,0,1,0
$L$increment1:
DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
-$L$key_rotate:
- DD 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d
-$L$key_rotate192:
- DD 0x04070605,0x04070605,0x04070605,0x04070605
-$L$key_rcon1:
- DD 1,1,1,1
-$L$key_rcon1b:
- DD 0x1b,0x1b,0x1b,0x1b
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
@@ -3890,7 +3486,7 @@ cbc_se_handler:
mov rax,QWORD[152+r8]
mov rbx,QWORD[248+r8]
- lea r10,[$L$cbc_decrypt_bulk]
+ lea r10,[$L$cbc_decrypt]
cmp rbx,r10
jb NEAR $L$common_seh_tail
« no previous file with comments | « third_party/boringssl/win-x86/crypto/aes/aesni-x86.asm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698