summaryrefslogtreecommitdiff
path: root/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aes-x86_64.s
diff options
context:
space:
mode:
Diffstat (limited to 'deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aes-x86_64.s')
-rw-r--r--deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aes-x86_64.s145
1 files changed, 124 insertions, 21 deletions
diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aes-x86_64.s
index 488ae6d781..4bc117304f 100644
--- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aes-x86_64.s
+++ b/deps/openssl/config/archs/linux-x86_64/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: