summaryrefslogtreecommitdiff
path: root/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/rc4/rc4-x86_64.asm
diff options
context:
space:
mode:
Diffstat (limited to 'deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/rc4/rc4-x86_64.asm')
-rw-r--r--deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/rc4/rc4-x86_64.asm7
1 files changed, 6 insertions, 1 deletions
diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/rc4/rc4-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/rc4/rc4-x86_64.asm
index 5732b40ed6..edbcc06e34 100644
--- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/rc4/rc4-x86_64.asm
+++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/rc4/rc4-x86_64.asm
@@ -19,13 +19,14 @@ $L$SEH_begin_RC4:
mov rdx,r8
mov rcx,r9
+
+
or rsi,rsi
jne NEAR $L$entry
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
$L$entry:
-
push rbx
push r12
@@ -558,6 +559,7 @@ $L$SEH_begin_RC4_set_key:
mov rdx,r8
+
lea rdi,[8+rdi]
lea rdx,[rsi*1+rdx]
neg rsi
@@ -626,12 +628,14 @@ $L$exit_key:
mov rdi,QWORD[8+rsp] ;WIN64 epilogue
mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
+
$L$SEH_end_RC4_set_key:
global RC4_options
ALIGN 16
RC4_options:
+
lea rax,[$L$opts]
mov edx,DWORD[OPENSSL_ia32cap_P]
bt edx,20
@@ -644,6 +648,7 @@ $L$8xchar:
add rax,12
$L$done:
DB 0F3h,0C3h ;repret
+
ALIGN 64
$L$opts:
DB 114,99,52,40,56,120,44,105,110,116,41,0