projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sha/asm/*-x86_64.pl: add CFI annotations.
[openssl.git]
/
crypto
/
sha
/
asm
/
sha512-x86_64.pl
diff --git
a/crypto/sha/asm/sha512-x86_64.pl
b/crypto/sha/asm/sha512-x86_64.pl
index 7a8ed7c7f211f107f648194bafb8f6e6d61b27ae..bdf1d28fda29efb516f48bfee9bcd339b5befb76 100755
(executable)
--- a/
crypto/sha/asm/sha512-x86_64.pl
+++ b/
crypto/sha/asm/sha512-x86_64.pl
@@
-176,7
+176,7
@@
$Tbl="%rbp";
$_ctx="16*$SZ+0*8(%rsp)";
$_inp="16*$SZ+1*8(%rsp)";
$_end="16*$SZ+2*8(%rsp)";
$_ctx="16*$SZ+0*8(%rsp)";
$_inp="16*$SZ+1*8(%rsp)";
$_end="16*$SZ+2*8(%rsp)";
-$_rsp="
16*$SZ+3*8
(%rsp)";
+$_rsp="
`16*$SZ+3*8`
(%rsp)";
$framesz="16*$SZ+4*8";
$framesz="16*$SZ+4*8";
@@
-269,6
+269,7
@@
$code=<<___;
.type $func,\@function,3
.align 16
$func:
.type $func,\@function,3
.align 16
$func:
+.cfi_startproc
___
$code.=<<___ if ($SZ==4 || $avx);
lea OPENSSL_ia32cap_P(%rip),%r11
___
$code.=<<___ if ($SZ==4 || $avx);
lea OPENSSL_ia32cap_P(%rip),%r11
@@
-302,12
+303,19
@@
$code.=<<___ if ($SZ==4);
___
$code.=<<___;
mov %rsp,%rax # copy %rsp
___
$code.=<<___;
mov %rsp,%rax # copy %rsp
+.cfi_def_cfa_register %rax
push %rbx
push %rbx
+.cfi_push %rbx
push %rbp
push %rbp
+.cfi_push %rbp
push %r12
push %r12
+.cfi_push %r12
push %r13
push %r13
+.cfi_push %r13
push %r14
push %r14
+.cfi_push %r14
push %r15
push %r15
+.cfi_push %r15
shl \$4,%rdx # num*16
sub \$$framesz,%rsp
lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
shl \$4,%rdx # num*16
sub \$$framesz,%rsp
lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
@@
-316,6
+324,7
@@
$code.=<<___;
mov $inp,$_inp # save inp, 2nd arh
mov %rdx,$_end # save end pointer, "3rd" arg
mov %rax,$_rsp # save copy of %rsp
mov $inp,$_inp # save inp, 2nd arh
mov %rdx,$_end # save end pointer, "3rd" arg
mov %rax,$_rsp # save copy of %rsp
+.cfi_cfa_expression $_rsp,deref,+8
.Lprologue:
mov $SZ*0($ctx),$A
.Lprologue:
mov $SZ*0($ctx),$A
@@
-382,15
+391,24
@@
$code.=<<___;
jb .Lloop
mov $_rsp,%rsi
jb .Lloop
mov $_rsp,%rsi
+.cfi_def_cfa %rsi,8
mov -48(%rsi),%r15
mov -48(%rsi),%r15
+.cfi_restore %r15
mov -40(%rsi),%r14
mov -40(%rsi),%r14
+.cfi_restore %r14
mov -32(%rsi),%r13
mov -32(%rsi),%r13
+.cfi_restore %r13
mov -24(%rsi),%r12
mov -24(%rsi),%r12
+.cfi_restore %r12
mov -16(%rsi),%rbp
mov -16(%rsi),%rbp
+.cfi_restore %rbp
mov -8(%rsi),%rbx
mov -8(%rsi),%rbx
+.cfi_restore %rbx
lea (%rsi),%rsp
lea (%rsi),%rsp
+.cfi_def_cfa_register %rsp
.Lepilogue:
ret
.Lepilogue:
ret
+.cfi_endproc
.size $func,.-$func
___
.size $func,.-$func
___
@@
-760,14
+778,22
@@
$code.=<<___;
.type ${func}_ssse3,\@function,3
.align 64
${func}_ssse3:
.type ${func}_ssse3,\@function,3
.align 64
${func}_ssse3:
+.cfi_startproc
.Lssse3_shortcut:
mov %rsp,%rax # copy %rsp
.Lssse3_shortcut:
mov %rsp,%rax # copy %rsp
+.cfi_def_cfa_register %rax
push %rbx
push %rbx
+.cfi_push %rbx
push %rbp
push %rbp
+.cfi_push %rbp
push %r12
push %r12
+.cfi_push %r12
push %r13
push %r13
+.cfi_push %r13
push %r14
push %r14
+.cfi_push %r14
push %r15
push %r15
+.cfi_push %r15
shl \$4,%rdx # num*16
sub \$`$framesz+$win64*16*4`,%rsp
lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
shl \$4,%rdx # num*16
sub \$`$framesz+$win64*16*4`,%rsp
lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
@@
-776,6
+802,7
@@
${func}_ssse3:
mov $inp,$_inp # save inp, 2nd arh
mov %rdx,$_end # save end pointer, "3rd" arg
mov %rax,$_rsp # save copy of %rsp
mov $inp,$_inp # save inp, 2nd arh
mov %rdx,$_end # save end pointer, "3rd" arg
mov %rax,$_rsp # save copy of %rsp
+.cfi_cfa_expression $_rsp,deref,+8
___
$code.=<<___ if ($win64);
movaps %xmm6,16*$SZ+32(%rsp)
___
$code.=<<___ if ($win64);
movaps %xmm6,16*$SZ+32(%rsp)
@@
-1074,6
+1101,7
@@
$code.=<<___;
jb .Lloop_ssse3
mov $_rsp,%rsi
jb .Lloop_ssse3
mov $_rsp,%rsi
+.cfi_def_cfa %rsi,8
___
$code.=<<___ if ($win64);
movaps 16*$SZ+32(%rsp),%xmm6
___
$code.=<<___ if ($win64);
movaps 16*$SZ+32(%rsp),%xmm6
@@
-1083,14
+1111,22
@@
$code.=<<___ if ($win64);
___
$code.=<<___;
mov -48(%rsi),%r15
___
$code.=<<___;
mov -48(%rsi),%r15
+.cfi_restore %r15
mov -40(%rsi),%r14
mov -40(%rsi),%r14
+.cfi_restore %r14
mov -32(%rsi),%r13
mov -32(%rsi),%r13
+.cfi_restore %r13
mov -24(%rsi),%r12
mov -24(%rsi),%r12
+.cfi_restore %r12
mov -16(%rsi),%rbp
mov -16(%rsi),%rbp
+.cfi_restore %rbp
mov -8(%rsi),%rbx
mov -8(%rsi),%rbx
+.cfi_restore %rbx
lea (%rsi),%rsp
lea (%rsi),%rsp
+.cfi_def_cfa_register %rsp
.Lepilogue_ssse3:
ret
.Lepilogue_ssse3:
ret
+.cfi_endproc
.size ${func}_ssse3,.-${func}_ssse3
___
}
.size ${func}_ssse3,.-${func}_ssse3
___
}
@@
-1104,14
+1140,22
@@
$code.=<<___;
.type ${func}_xop,\@function,3
.align 64
${func}_xop:
.type ${func}_xop,\@function,3
.align 64
${func}_xop:
+.cfi_startproc
.Lxop_shortcut:
mov %rsp,%rax # copy %rsp
.Lxop_shortcut:
mov %rsp,%rax # copy %rsp
+.cfi_def_cfa_register %rax
push %rbx
push %rbx
+.cfi_push %rbx
push %rbp
push %rbp
+.cfi_push %rbp
push %r12
push %r12
+.cfi_push %r12
push %r13
push %r13
+.cfi_push %r13
push %r14
push %r14
+.cfi_push %r14
push %r15
push %r15
+.cfi_push %r15
shl \$4,%rdx # num*16
sub \$`$framesz+$win64*16*($SZ==4?4:6)`,%rsp
lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
shl \$4,%rdx # num*16
sub \$`$framesz+$win64*16*($SZ==4?4:6)`,%rsp
lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
@@
-1120,6
+1164,7
@@
${func}_xop:
mov $inp,$_inp # save inp, 2nd arh
mov %rdx,$_end # save end pointer, "3rd" arg
mov %rax,$_rsp # save copy of %rsp
mov $inp,$_inp # save inp, 2nd arh
mov %rdx,$_end # save end pointer, "3rd" arg
mov %rax,$_rsp # save copy of %rsp
+.cfi_cfa_expression $_rsp,deref,+8
___
$code.=<<___ if ($win64);
movaps %xmm6,16*$SZ+32(%rsp)
___
$code.=<<___ if ($win64);
movaps %xmm6,16*$SZ+32(%rsp)
@@
-1446,6
+1491,7
@@
$code.=<<___;
jb .Lloop_xop
mov $_rsp,%rsi
jb .Lloop_xop
mov $_rsp,%rsi
+.cfi_def_cfa %rsi,8
vzeroupper
___
$code.=<<___ if ($win64);
vzeroupper
___
$code.=<<___ if ($win64);
@@
-1460,14
+1506,22
@@
$code.=<<___ if ($win64 && $SZ>4);
___
$code.=<<___;
mov -48(%rsi),%r15
___
$code.=<<___;
mov -48(%rsi),%r15
+.cfi_restore %r15
mov -40(%rsi),%r14
mov -40(%rsi),%r14
+.cfi_restore %r14
mov -32(%rsi),%r13
mov -32(%rsi),%r13
+.cfi_restore %r13
mov -24(%rsi),%r12
mov -24(%rsi),%r12
+.cfi_restore %r12
mov -16(%rsi),%rbp
mov -16(%rsi),%rbp
+.cfi_restore %rbp
mov -8(%rsi),%rbx
mov -8(%rsi),%rbx
+.cfi_restore %rbx
lea (%rsi),%rsp
lea (%rsi),%rsp
+.cfi_def_cfa_register %rsp
.Lepilogue_xop:
ret
.Lepilogue_xop:
ret
+.cfi_endproc
.size ${func}_xop,.-${func}_xop
___
}
.size ${func}_xop,.-${func}_xop
___
}
@@
-1480,14
+1534,22
@@
$code.=<<___;
.type ${func}_avx,\@function,3
.align 64
${func}_avx:
.type ${func}_avx,\@function,3
.align 64
${func}_avx:
+.cfi_startproc
.Lavx_shortcut:
mov %rsp,%rax # copy %rsp
.Lavx_shortcut:
mov %rsp,%rax # copy %rsp
+.cfi_def_cfa_register %rax
push %rbx
push %rbx
+.cfi_push %rbx
push %rbp
push %rbp
+.cfi_push %rbp
push %r12
push %r12
+.cfi_push %r12
push %r13
push %r13
+.cfi_push %r13
push %r14
push %r14
+.cfi_push %r14
push %r15
push %r15
+.cfi_push %r15
shl \$4,%rdx # num*16
sub \$`$framesz+$win64*16*($SZ==4?4:6)`,%rsp
lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
shl \$4,%rdx # num*16
sub \$`$framesz+$win64*16*($SZ==4?4:6)`,%rsp
lea ($inp,%rdx,$SZ),%rdx # inp+num*16*$SZ
@@
-1496,6
+1558,7
@@
${func}_avx:
mov $inp,$_inp # save inp, 2nd arh
mov %rdx,$_end # save end pointer, "3rd" arg
mov %rax,$_rsp # save copy of %rsp
mov $inp,$_inp # save inp, 2nd arh
mov %rdx,$_end # save end pointer, "3rd" arg
mov %rax,$_rsp # save copy of %rsp
+.cfi_cfa_expression $_rsp,deref,+8
___
$code.=<<___ if ($win64);
movaps %xmm6,16*$SZ+32(%rsp)
___
$code.=<<___ if ($win64);
movaps %xmm6,16*$SZ+32(%rsp)
@@
-1754,6
+1817,7
@@
$code.=<<___;
jb .Lloop_avx
mov $_rsp,%rsi
jb .Lloop_avx
mov $_rsp,%rsi
+.cfi_def_cfa %rsi,8
vzeroupper
___
$code.=<<___ if ($win64);
vzeroupper
___
$code.=<<___ if ($win64);
@@
-1768,14
+1832,22
@@
$code.=<<___ if ($win64 && $SZ>4);
___
$code.=<<___;
mov -48(%rsi),%r15
___
$code.=<<___;
mov -48(%rsi),%r15
+.cfi_restore %r15
mov -40(%rsi),%r14
mov -40(%rsi),%r14
+.cfi_restore %r14
mov -32(%rsi),%r13
mov -32(%rsi),%r13
+.cfi_restore %r13
mov -24(%rsi),%r12
mov -24(%rsi),%r12
+.cfi_restore %r12
mov -16(%rsi),%rbp
mov -16(%rsi),%rbp
+.cfi_restore %rbp
mov -8(%rsi),%rbx
mov -8(%rsi),%rbx
+.cfi_restore %rbx
lea (%rsi),%rsp
lea (%rsi),%rsp
+.cfi_def_cfa_register %rsp
.Lepilogue_avx:
ret
.Lepilogue_avx:
ret
+.cfi_endproc
.size ${func}_avx,.-${func}_avx
___
.size ${func}_avx,.-${func}_avx
___
@@
-1831,14
+1903,22
@@
$code.=<<___;
.type ${func}_avx2,\@function,3
.align 64
${func}_avx2:
.type ${func}_avx2,\@function,3
.align 64
${func}_avx2:
+.cfi_startproc
.Lavx2_shortcut:
mov %rsp,%rax # copy %rsp
.Lavx2_shortcut:
mov %rsp,%rax # copy %rsp
+.cfi_def_cfa_register %rax
push %rbx
push %rbx
+.cfi_push %rbx
push %rbp
push %rbp
+.cfi_push %rbp
push %r12
push %r12
+.cfi_push %r12
push %r13
push %r13
+.cfi_push %r13
push %r14
push %r14
+.cfi_push %r14
push %r15
push %r15
+.cfi_push %r15
sub \$`2*$SZ*$rounds+4*8+$win64*16*($SZ==4?4:6)`,%rsp
shl \$4,%rdx # num*16
and \$-256*$SZ,%rsp # align stack frame
sub \$`2*$SZ*$rounds+4*8+$win64*16*($SZ==4?4:6)`,%rsp
shl \$4,%rdx # num*16
and \$-256*$SZ,%rsp # align stack frame
@@
-1848,6
+1928,7
@@
${func}_avx2:
mov $inp,$_inp # save inp, 2nd arh
mov %rdx,$_end # save end pointer, "3rd" arg
mov %rax,$_rsp # save copy of %rsp
mov $inp,$_inp # save inp, 2nd arh
mov %rdx,$_end # save end pointer, "3rd" arg
mov %rax,$_rsp # save copy of %rsp
+.cfi_cfa_expression $_rsp,deref,+8
___
$code.=<<___ if ($win64);
movaps %xmm6,16*$SZ+32(%rsp)
___
$code.=<<___ if ($win64);
movaps %xmm6,16*$SZ+32(%rsp)
@@
-2128,6
+2209,7
@@
$code.=<<___;
.Ldone_avx2:
lea ($Tbl),%rsp
mov $_rsp,%rsi
.Ldone_avx2:
lea ($Tbl),%rsp
mov $_rsp,%rsi
+.cfi_def_cfa %rsi,8
vzeroupper
___
$code.=<<___ if ($win64);
vzeroupper
___
$code.=<<___ if ($win64);
@@
-2142,14
+2224,22
@@
$code.=<<___ if ($win64 && $SZ>4);
___
$code.=<<___;
mov -48(%rsi),%r15
___
$code.=<<___;
mov -48(%rsi),%r15
+.cfi_restore %r15
mov -40(%rsi),%r14
mov -40(%rsi),%r14
+.cfi_restore %r14
mov -32(%rsi),%r13
mov -32(%rsi),%r13
+.cfi_restore %r13
mov -24(%rsi),%r12
mov -24(%rsi),%r12
+.cfi_restore %r12
mov -16(%rsi),%rbp
mov -16(%rsi),%rbp
+.cfi_restore %rbp
mov -8(%rsi),%rbx
mov -8(%rsi),%rbx
+.cfi_restore %rbx
lea (%rsi),%rsp
lea (%rsi),%rsp
+.cfi_def_cfa_register %rsp
.Lepilogue_avx2:
ret
.Lepilogue_avx2:
ret
+.cfi_endproc
.size ${func}_avx2,.-${func}_avx2
___
}}
.size ${func}_avx2,.-${func}_avx2
___
}}