diff options
Diffstat (limited to 'deps/openssl/config/archs/linux-x32/asm/crypto/aes/aes-x86_64.s')
-rw-r--r-- | deps/openssl/config/archs/linux-x32/asm/crypto/aes/aes-x86_64.s | 145 |
1 files changed, 124 insertions, 21 deletions
diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aes-x86_64.s index 488ae6d781..4bc117304f 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aes-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aes-x86_64.s @@ -332,15 +332,23 @@ _x86_64_AES_encrypt_compact: .hidden asm_AES_encrypt asm_AES_encrypt: AES_encrypt: +.cfi_startproc + movq %rsp,%rax +.cfi_def_cfa_register %rax pushq %rbx +.cfi_offset %rbx,-16 pushq %rbp +.cfi_offset %rbp,-24 pushq %r12 +.cfi_offset %r12,-32 pushq %r13 +.cfi_offset %r13,-40 pushq %r14 +.cfi_offset %r14,-48 pushq %r15 +.cfi_offset %r15,-56 - movq %rsp,%r10 leaq -63(%rdx),%rcx andq $-64,%rsp subq %rsp,%rcx @@ -350,7 +358,8 @@ AES_encrypt: subq $32,%rsp movq %rsi,16(%rsp) - movq %r10,24(%rsp) + movq %rax,24(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 .Lenc_prologue: movq %rdx,%r15 @@ -377,20 +386,29 @@ AES_encrypt: movq 16(%rsp),%r9 movq 24(%rsp),%rsi +.cfi_def_cfa %rsi,8 movl %eax,0(%r9) movl %ebx,4(%r9) movl %ecx,8(%r9) movl %edx,12(%r9) - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 +.cfi_restore %r15 + movq -40(%rsi),%r14 +.cfi_restore %r14 + movq -32(%rsi),%r13 +.cfi_restore %r13 + movq -24(%rsi),%r12 +.cfi_restore %r12 + movq -16(%rsi),%rbp +.cfi_restore %rbp + movq -8(%rsi),%rbx +.cfi_restore %rbx + leaq (%rsi),%rsp +.cfi_def_cfa_register %rsp .Lenc_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size AES_encrypt,.-AES_encrypt .type _x86_64_AES_decrypt,@function .align 16 @@ -779,15 +797,23 @@ _x86_64_AES_decrypt_compact: .hidden asm_AES_decrypt asm_AES_decrypt: AES_decrypt: +.cfi_startproc + movq %rsp,%rax +.cfi_def_cfa_register %rax pushq %rbx +.cfi_offset %rbx,-16 pushq %rbp +.cfi_offset %rbp,-24 pushq %r12 +.cfi_offset %r12,-32 pushq %r13 +.cfi_offset %r13,-40 pushq %r14 +.cfi_offset %r14,-48 pushq %r15 +.cfi_offset %r15,-56 - movq %rsp,%r10 leaq -63(%rdx),%rcx andq $-64,%rsp subq %rsp,%rcx @@ -797,7 +823,8 @@ AES_decrypt: subq $32,%rsp movq %rsi,16(%rsp) - movq %r10,24(%rsp) + movq %rax,24(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 .Ldec_prologue: movq %rdx,%r15 @@ -826,41 +853,68 @@ AES_decrypt: movq 16(%rsp),%r9 movq 24(%rsp),%rsi +.cfi_def_cfa %rsi,8 movl %eax,0(%r9) movl %ebx,4(%r9) movl %ecx,8(%r9) movl %edx,12(%r9) - movq (%rsi),%r15 - movq 8(%rsi),%r14 - movq 16(%rsi),%r13 - movq 24(%rsi),%r12 - movq 32(%rsi),%rbp - movq 40(%rsi),%rbx - leaq 48(%rsi),%rsp + movq -48(%rsi),%r15 +.cfi_restore %r15 + movq -40(%rsi),%r14 +.cfi_restore %r14 + movq -32(%rsi),%r13 +.cfi_restore %r13 + movq -24(%rsi),%r12 +.cfi_restore %r12 + movq -16(%rsi),%rbp +.cfi_restore %rbp + movq -8(%rsi),%rbx +.cfi_restore %rbx + leaq (%rsi),%rsp +.cfi_def_cfa_register %rsp .Ldec_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size AES_decrypt,.-AES_decrypt .globl AES_set_encrypt_key .type AES_set_encrypt_key,@function .align 16 AES_set_encrypt_key: +.cfi_startproc pushq %rbx +.cfi_adjust_cfa_offset 8 +.cfi_offset %rbx,-16 pushq %rbp +.cfi_adjust_cfa_offset 8 +.cfi_offset %rbp,-24 pushq %r12 +.cfi_adjust_cfa_offset 8 +.cfi_offset %r12,-32 pushq %r13 +.cfi_adjust_cfa_offset 8 +.cfi_offset %r13,-40 pushq %r14 +.cfi_adjust_cfa_offset 8 +.cfi_offset %r14,-48 pushq %r15 +.cfi_adjust_cfa_offset 8 +.cfi_offset %r15,-56 subq $8,%rsp +.cfi_adjust_cfa_offset 8 .Lenc_key_prologue: call _x86_64_AES_set_encrypt_key movq 40(%rsp),%rbp +.cfi_restore %rbp movq 48(%rsp),%rbx +.cfi_restore %rbx addq $56,%rsp +.cfi_adjust_cfa_offset -56 .Lenc_key_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size AES_set_encrypt_key,.-AES_set_encrypt_key .type _x86_64_AES_set_encrypt_key,@function @@ -1106,13 +1160,27 @@ _x86_64_AES_set_encrypt_key: .type AES_set_decrypt_key,@function .align 16 AES_set_decrypt_key: +.cfi_startproc pushq %rbx +.cfi_adjust_cfa_offset 8 +.cfi_offset %rbx,-16 pushq %rbp +.cfi_adjust_cfa_offset 8 +.cfi_offset %rbp,-24 pushq %r12 +.cfi_adjust_cfa_offset 8 +.cfi_offset %r12,-32 pushq %r13 +.cfi_adjust_cfa_offset 8 +.cfi_offset %r13,-40 pushq %r14 +.cfi_adjust_cfa_offset 8 +.cfi_offset %r14,-48 pushq %r15 +.cfi_adjust_cfa_offset 8 +.cfi_offset %r15,-56 pushq %rdx +.cfi_adjust_cfa_offset 8 .Ldec_key_prologue: call _x86_64_AES_set_encrypt_key @@ -1280,14 +1348,22 @@ AES_set_decrypt_key: xorq %rax,%rax .Labort: movq 8(%rsp),%r15 +.cfi_restore %r15 movq 16(%rsp),%r14 +.cfi_restore %r14 movq 24(%rsp),%r13 +.cfi_restore %r13 movq 32(%rsp),%r12 +.cfi_restore %r12 movq 40(%rsp),%rbp +.cfi_restore %rbp movq 48(%rsp),%rbx +.cfi_restore %rbx addq $56,%rsp +.cfi_adjust_cfa_offset -56 .Ldec_key_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size AES_set_decrypt_key,.-AES_set_decrypt_key .globl AES_cbc_encrypt .type AES_cbc_encrypt,@function @@ -1297,25 +1373,39 @@ AES_set_decrypt_key: .hidden asm_AES_cbc_encrypt asm_AES_cbc_encrypt: AES_cbc_encrypt: +.cfi_startproc cmpq $0,%rdx je .Lcbc_epilogue pushfq +.cfi_adjust_cfa_offset 8 +.cfi_offset 49,-16 pushq %rbx +.cfi_adjust_cfa_offset 8 +.cfi_offset %rbx,-24 pushq %rbp +.cfi_adjust_cfa_offset 8 +.cfi_offset %rbp,-32 pushq %r12 +.cfi_adjust_cfa_offset 8 +.cfi_offset %r12,-40 pushq %r13 +.cfi_adjust_cfa_offset 8 +.cfi_offset %r13,-48 pushq %r14 +.cfi_adjust_cfa_offset 8 +.cfi_offset %r14,-56 pushq %r15 +.cfi_adjust_cfa_offset 8 +.cfi_offset %r15,-64 .Lcbc_prologue: cld movl %r9d,%r9d leaq .LAES_Te(%rip),%r14 + leaq .LAES_Td(%rip),%r10 cmpq $0,%r9 - jne .Lcbc_picked_te - leaq .LAES_Td(%rip),%r14 -.Lcbc_picked_te: + cmoveq %r10,%r14 movl OPENSSL_ia32cap_P(%rip),%r10d cmpq $512,%rdx @@ -1351,8 +1441,10 @@ AES_cbc_encrypt: .Lcbc_te_ok: xchgq %rsp,%r15 +.cfi_def_cfa_register %r15 movq %r15,16(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 .Lcbc_fast_body: movq %rdi,24(%rsp) movq %rsi,32(%rsp) @@ -1734,17 +1826,28 @@ AES_cbc_encrypt: .align 16 .Lcbc_exit: movq 16(%rsp),%rsi +.cfi_def_cfa %rsi,64 movq (%rsi),%r15 +.cfi_restore %r15 movq 8(%rsi),%r14 +.cfi_restore %r14 movq 16(%rsi),%r13 +.cfi_restore %r13 movq 24(%rsi),%r12 +.cfi_restore %r12 movq 32(%rsi),%rbp +.cfi_restore %rbp movq 40(%rsi),%rbx +.cfi_restore %rbx leaq 48(%rsi),%rsp +.cfi_def_cfa %rsp,16 .Lcbc_popfq: popfq +.cfi_adjust_cfa_offset -8 +.cfi_restore 49 .Lcbc_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size AES_cbc_encrypt,.-AES_cbc_encrypt .align 64 .LAES_Te: |