summaryrefslogtreecommitdiff
path: root/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/vpaes-x86_64.asm
diff options
context:
space:
mode:
Diffstat (limited to 'deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/vpaes-x86_64.asm')
-rw-r--r--deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/vpaes-x86_64.asm26
1 files changed, 26 insertions, 0 deletions
diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/vpaes-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/vpaes-x86_64.asm
index 3edde9fdbc..b6814770fb 100644
--- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/vpaes-x86_64.asm
+++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/vpaes-x86_64.asm
@@ -23,6 +23,7 @@ section .text code align=64
ALIGN 16
_vpaes_encrypt_core:
+
mov r9,rdx
mov r11,16
mov eax,DWORD[240+rdx]
@@ -111,8 +112,10 @@ DB 102,15,56,0,193
+
ALIGN 16
_vpaes_decrypt_core:
+
mov r9,rdx
mov eax,DWORD[240+rdx]
movdqa xmm1,xmm9
@@ -217,6 +220,7 @@ DB 102,15,56,0,194
+
ALIGN 16
_vpaes_schedule_core:
@@ -224,6 +228,7 @@ _vpaes_schedule_core:
+
call _vpaes_preheat
movdqa xmm8,XMMWORD[$L$k_rcon]
movdqu xmm0,XMMWORD[rdi]
@@ -402,8 +407,10 @@ $L$schedule_mangle_last_dec:
+
ALIGN 16
_vpaes_schedule_192_smear:
+
pshufd xmm1,xmm6,0x80
pshufd xmm0,xmm7,0xFE
pxor xmm6,xmm1
@@ -433,9 +440,11 @@ _vpaes_schedule_192_smear:
+
ALIGN 16
_vpaes_schedule_round:
+
pxor xmm1,xmm1
DB 102,65,15,58,15,200,15
DB 102,69,15,58,15,192,15
@@ -500,8 +509,10 @@ DB 102,15,56,0,195
+
ALIGN 16
_vpaes_schedule_transform:
+
movdqa xmm1,xmm9
pandn xmm1,xmm0
psrld xmm1,4
@@ -538,8 +549,10 @@ DB 102,15,56,0,193
+
ALIGN 16
_vpaes_schedule_mangle:
+
movdqa xmm4,xmm0
movdqa xmm5,XMMWORD[$L$k_mc_forward]
test rcx,rcx
@@ -609,6 +622,7 @@ DB 102,15,56,0,217
+
global vpaes_set_encrypt_key
ALIGN 16
@@ -622,6 +636,7 @@ $L$SEH_begin_vpaes_set_encrypt_key:
mov rdx,r8
+
lea rsp,[((-184))+rsp]
movaps XMMWORD[16+rsp],xmm6
movaps XMMWORD[32+rsp],xmm7
@@ -658,6 +673,7 @@ $L$enc_key_epilogue:
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
+
$L$SEH_end_vpaes_set_encrypt_key:
global vpaes_set_decrypt_key
@@ -673,6 +689,7 @@ $L$SEH_begin_vpaes_set_decrypt_key:
mov rdx,r8
+
lea rsp,[((-184))+rsp]
movaps XMMWORD[16+rsp],xmm6
movaps XMMWORD[32+rsp],xmm7
@@ -714,6 +731,7 @@ $L$dec_key_epilogue:
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
+
$L$SEH_end_vpaes_set_decrypt_key:
global vpaes_encrypt
@@ -729,6 +747,7 @@ $L$SEH_begin_vpaes_encrypt:
mov rdx,r8
+
lea rsp,[((-184))+rsp]
movaps XMMWORD[16+rsp],xmm6
movaps XMMWORD[32+rsp],xmm7
@@ -760,6 +779,7 @@ $L$enc_epilogue:
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
+
$L$SEH_end_vpaes_encrypt:
global vpaes_decrypt
@@ -775,6 +795,7 @@ $L$SEH_begin_vpaes_decrypt:
mov rdx,r8
+
lea rsp,[((-184))+rsp]
movaps XMMWORD[16+rsp],xmm6
movaps XMMWORD[32+rsp],xmm7
@@ -806,6 +827,7 @@ $L$dec_epilogue:
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
+
$L$SEH_end_vpaes_decrypt:
global vpaes_cbc_encrypt
@@ -823,6 +845,7 @@ $L$SEH_begin_vpaes_cbc_encrypt:
mov r9,QWORD[48+rsp]
+
xchg rdx,rcx
sub rcx,16
jc NEAR $L$cbc_abort
@@ -884,6 +907,7 @@ $L$cbc_abort:
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
+
$L$SEH_end_vpaes_cbc_encrypt:
@@ -894,6 +918,7 @@ $L$SEH_end_vpaes_cbc_encrypt:
ALIGN 16
_vpaes_preheat:
+
lea r10,[$L$k_s0F]
movdqa xmm10,XMMWORD[((-32))+r10]
movdqa xmm11,XMMWORD[((-16))+r10]
@@ -910,6 +935,7 @@ _vpaes_preheat:
+
ALIGN 64
_vpaes_consts:
$L$k_inv: