diff options
Diffstat (limited to 'deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/bsaes-x86_64.s')
-rw-r--r-- | deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/bsaes-x86_64.s | 139 |
1 files changed, 103 insertions, 36 deletions
diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/bsaes-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/bsaes-x86_64.s index da5d1b1122..13920e2ace 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/bsaes-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/bsaes-x86_64.s @@ -1067,6 +1067,7 @@ L$key_loop: .p2align 4 _bsaes_cbc_encrypt: + cmpl $0,%r9d jne _asm_AES_cbc_encrypt cmpq $128,%rdx @@ -1075,13 +1076,21 @@ _bsaes_cbc_encrypt: movq %rsp,%rax L$cbc_dec_prologue: pushq %rbp + pushq %rbx + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + leaq -72(%rsp),%rsp + movq %rsp,%rbp + movl 240(%rcx),%eax movq %rdi,%r12 movq %rsi,%r13 @@ -1300,33 +1309,50 @@ L$cbc_dec_bzero: cmpq %rax,%rbp ja L$cbc_dec_bzero - leaq (%rbp),%rsp - movq 72(%rsp),%r15 - movq 80(%rsp),%r14 - movq 88(%rsp),%r13 - movq 96(%rsp),%r12 - movq 104(%rsp),%rbx - movq 112(%rsp),%rax - leaq 120(%rsp),%rsp - movq %rax,%rbp + leaq 120(%rbp),%rax + + movq -48(%rax),%r15 + + movq -40(%rax),%r14 + + movq -32(%rax),%r13 + + movq -24(%rax),%r12 + + movq -16(%rax),%rbx + + movq -8(%rax),%rbp + + leaq (%rax),%rsp + L$cbc_dec_epilogue: .byte 0xf3,0xc3 + .globl _bsaes_ctr32_encrypt_blocks .p2align 4 _bsaes_ctr32_encrypt_blocks: + movq %rsp,%rax L$ctr_enc_prologue: pushq %rbp + pushq %rbx + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + leaq -72(%rsp),%rsp + movq %rsp,%rbp + movdqu (%r8),%xmm0 movl 240(%rcx),%eax movq %rdi,%r12 @@ -1500,32 +1526,49 @@ L$ctr_enc_bzero: cmpq %rax,%rbp ja L$ctr_enc_bzero - leaq (%rbp),%rsp - movq 72(%rsp),%r15 - movq 80(%rsp),%r14 - movq 88(%rsp),%r13 - movq 96(%rsp),%r12 - movq 104(%rsp),%rbx - movq 112(%rsp),%rax - leaq 120(%rsp),%rsp - movq %rax,%rbp + leaq 120(%rbp),%rax + + movq -48(%rax),%r15 + + movq -40(%rax),%r14 + + movq -32(%rax),%r13 + + movq -24(%rax),%r12 + + movq -16(%rax),%rbx + + movq -8(%rax),%rbp + + leaq (%rax),%rsp + L$ctr_enc_epilogue: .byte 0xf3,0xc3 + .globl _bsaes_xts_encrypt .p2align 4 _bsaes_xts_encrypt: + movq %rsp,%rax L$xts_enc_prologue: pushq %rbp + pushq %rbx + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + leaq -72(%rsp),%rsp + movq %rsp,%rbp + movq %rdi,%r12 movq %rsi,%r13 movq %rdx,%r14 @@ -1951,32 +1994,48 @@ L$xts_enc_bzero: cmpq %rax,%rbp ja L$xts_enc_bzero - leaq (%rbp),%rsp - movq 72(%rsp),%r15 - movq 80(%rsp),%r14 - movq 88(%rsp),%r13 - movq 96(%rsp),%r12 - movq 104(%rsp),%rbx - movq 112(%rsp),%rax - leaq 120(%rsp),%rsp - movq %rax,%rbp + leaq 120(%rbp),%rax + + movq -48(%rax),%r15 + + movq -40(%rax),%r14 + + movq -32(%rax),%r13 + + movq -24(%rax),%r12 + + movq -16(%rax),%rbx + + movq -8(%rax),%rbp + + leaq (%rax),%rsp + L$xts_enc_epilogue: .byte 0xf3,0xc3 + .globl _bsaes_xts_decrypt .p2align 4 _bsaes_xts_decrypt: + movq %rsp,%rax L$xts_dec_prologue: pushq %rbp + pushq %rbx + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 + leaq -72(%rsp),%rsp + movq %rsp,%rbp movq %rdi,%r12 movq %rsi,%r13 @@ -2429,19 +2488,27 @@ L$xts_dec_bzero: cmpq %rax,%rbp ja L$xts_dec_bzero - leaq (%rbp),%rsp - movq 72(%rsp),%r15 - movq 80(%rsp),%r14 - movq 88(%rsp),%r13 - movq 96(%rsp),%r12 - movq 104(%rsp),%rbx - movq 112(%rsp),%rax - leaq 120(%rsp),%rsp - movq %rax,%rbp + leaq 120(%rbp),%rax + + movq -48(%rax),%r15 + + movq -40(%rax),%r14 + + movq -32(%rax),%r13 + + movq -24(%rax),%r12 + + movq -16(%rax),%rbx + + movq -8(%rax),%rbp + + leaq (%rax),%rsp + L$xts_dec_epilogue: .byte 0xf3,0xc3 + .p2align 6 _bsaes_const: L$M0ISR: |