diff options
Diffstat (limited to 'deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-mb-x86_64.asm')
-rw-r--r-- | deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-mb-x86_64.asm | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-mb-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-mb-x86_64.asm index e7fdb2142a..9891df39f0 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-mb-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-mb-x86_64.asm @@ -20,6 +20,7 @@ $L$SEH_begin_aesni_multi_cbc_encrypt: mov rdx,r8 + cmp edx,2 jb NEAR $L$enc_non_avx mov ecx,DWORD[((OPENSSL_ia32cap_P+4))] @@ -29,12 +30,19 @@ $L$SEH_begin_aesni_multi_cbc_encrypt: ALIGN 16 $L$enc_non_avx: mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-168))+rsp] movaps XMMWORD[rsp],xmm6 movaps XMMWORD[16+rsp],xmm7 @@ -56,6 +64,7 @@ $L$enc_non_avx: and rsp,-64 mov QWORD[16+rsp],rax + $L$enc4x_body: movdqu xmm12,XMMWORD[rsi] lea rsi,[120+rsi] @@ -264,6 +273,7 @@ DB 102,15,56,221,232 jnz NEAR $L$oop_enc4x mov rax,QWORD[16+rsp] + mov edx,DWORD[24+rsp] @@ -291,16 +301,24 @@ $L$enc4x_done: mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] + $L$enc4x_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_aesni_multi_cbc_encrypt: global aesni_multi_cbc_decrypt @@ -316,6 +334,7 @@ $L$SEH_begin_aesni_multi_cbc_decrypt: mov rdx,r8 + cmp edx,2 jb NEAR $L$dec_non_avx mov ecx,DWORD[((OPENSSL_ia32cap_P+4))] @@ -325,12 +344,19 @@ $L$SEH_begin_aesni_multi_cbc_decrypt: ALIGN 16 $L$dec_non_avx: mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-168))+rsp] movaps XMMWORD[rsp],xmm6 movaps XMMWORD[16+rsp],xmm7 @@ -352,6 +378,7 @@ $L$dec_non_avx: and rsp,-64 mov QWORD[16+rsp],rax + $L$dec4x_body: movdqu xmm12,XMMWORD[rsi] lea rsi,[120+rsi] @@ -560,6 +587,7 @@ DB 102,65,15,56,223,233 jnz NEAR $L$oop_dec4x mov rax,QWORD[16+rsp] + mov edx,DWORD[24+rsp] lea rdi,[160+rdi] @@ -578,16 +606,24 @@ $L$dec4x_done: mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] + $L$dec4x_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_aesni_multi_cbc_decrypt: ALIGN 32 @@ -601,14 +637,22 @@ $L$SEH_begin_aesni_multi_cbc_encrypt_avx: mov rdx,r8 + _avx_cbc_enc_shortcut: mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-168))+rsp] movaps XMMWORD[rsp],xmm6 movaps XMMWORD[16+rsp],xmm7 @@ -632,6 +676,7 @@ _avx_cbc_enc_shortcut: and rsp,-128 mov QWORD[16+rsp],rax + $L$enc8x_body: vzeroupper vmovdqu xmm15,XMMWORD[rsi] @@ -1033,6 +1078,7 @@ $L$enc8x_tail: + $L$enc8x_done: vzeroupper movaps xmm6,XMMWORD[((-216))+rax] @@ -1046,16 +1092,24 @@ $L$enc8x_done: movaps xmm14,XMMWORD[((-88))+rax] movaps xmm15,XMMWORD[((-72))+rax] mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] + $L$enc8x_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_aesni_multi_cbc_encrypt_avx: @@ -1070,14 +1124,22 @@ $L$SEH_begin_aesni_multi_cbc_decrypt_avx: mov rdx,r8 + _avx_cbc_dec_shortcut: mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-168))+rsp] movaps XMMWORD[rsp],xmm6 movaps XMMWORD[16+rsp],xmm7 @@ -1103,6 +1165,7 @@ _avx_cbc_dec_shortcut: sub rsp,192 mov QWORD[16+rsp],rax + $L$dec8x_body: vzeroupper vmovdqu xmm15,XMMWORD[rsi] @@ -1542,6 +1605,7 @@ $L$dec8x_tail: + $L$dec8x_done: vzeroupper movaps xmm6,XMMWORD[((-216))+rax] @@ -1555,16 +1619,24 @@ $L$dec8x_done: movaps xmm14,XMMWORD[((-88))+rax] movaps xmm15,XMMWORD[((-72))+rax] mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] + $L$dec8x_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_aesni_multi_cbc_decrypt_avx: EXTERN __imp_RtlVirtualUnwind |