OpenSSL 1.1.1-pre2
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
|
||||
#
|
||||
# ====================================================================
|
||||
# Written by Andy Polyakov <appro@fy.chalmers.se> for the OpenSSL
|
||||
# Written by Andy Polyakov <appro@openssl.org> for the OpenSSL
|
||||
# project. Rights for redistribution and usage in source and binary
|
||||
# forms are granted according to the OpenSSL license.
|
||||
# ====================================================================
|
||||
@@ -31,7 +31,7 @@
|
||||
# multiplying 64 by CPU clock frequency and dividing by relevant
|
||||
# value from the given table:
|
||||
#
|
||||
# $SCALE=2/8 icc8 gcc3
|
||||
# $SCALE=2/8 icc8 gcc3
|
||||
# Intel P4 3200/4600 4600(*) 6400
|
||||
# Intel PIII 2900/3000 4900 5400
|
||||
# AMD K[78] 2500/1800 9900 8200(**)
|
||||
@@ -59,7 +59,7 @@ require "x86asm.pl";
|
||||
$output=pop;
|
||||
open STDOUT,">$output";
|
||||
|
||||
&asm_init($ARGV[0],"wp-mmx.pl");
|
||||
&asm_init($ARGV[0]);
|
||||
|
||||
sub L() { &data_byte(@_); }
|
||||
sub LL()
|
||||
@@ -502,6 +502,6 @@ for($i=0;$i<8;$i++) {
|
||||
&L(0xca,0x2d,0xbf,0x07,0xad,0x5a,0x83,0x33);
|
||||
|
||||
&function_end_B("whirlpool_block_mmx");
|
||||
&asm_finish();
|
||||
&asm_finish();
|
||||
|
||||
close STDOUT;
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
#
|
||||
# ====================================================================
|
||||
# Written by Andy Polyakov <appro@fy.chalmers.se> for the OpenSSL
|
||||
# Written by Andy Polyakov <appro@openssl.org> for the OpenSSL
|
||||
# project. Rights for redistribution and usage in source and binary
|
||||
# forms are granted according to the OpenSSL license.
|
||||
# ====================================================================
|
||||
@@ -66,14 +66,22 @@ $code=<<___;
|
||||
.type $func,\@function,3
|
||||
.align 16
|
||||
$func:
|
||||
.cfi_startproc
|
||||
mov %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
push %rbx
|
||||
.cfi_push %rbx
|
||||
push %rbp
|
||||
.cfi_push %rbp
|
||||
push %r12
|
||||
.cfi_push %r12
|
||||
push %r13
|
||||
.cfi_push %r13
|
||||
push %r14
|
||||
.cfi_push %r14
|
||||
push %r15
|
||||
.cfi_push %r15
|
||||
|
||||
mov %rsp,%r11
|
||||
sub \$128+40,%rsp
|
||||
and \$-64,%rsp
|
||||
|
||||
@@ -81,7 +89,8 @@ $func:
|
||||
mov %rdi,0(%r10) # save parameter block
|
||||
mov %rsi,8(%r10)
|
||||
mov %rdx,16(%r10)
|
||||
mov %r11,32(%r10) # saved stack pointer
|
||||
mov %rax,32(%r10) # saved stack pointer
|
||||
.cfi_cfa_expression %rsp+`128+32`,deref,+8
|
||||
.Lprologue:
|
||||
|
||||
mov %r10,%rbx
|
||||
@@ -205,15 +214,24 @@ $code.=<<___;
|
||||
jmp .Louterloop
|
||||
.Lalldone:
|
||||
mov 32(%rbx),%rsi # restore saved pointer
|
||||
mov (%rsi),%r15
|
||||
mov 8(%rsi),%r14
|
||||
mov 16(%rsi),%r13
|
||||
mov 24(%rsi),%r12
|
||||
mov 32(%rsi),%rbp
|
||||
mov 40(%rsi),%rbx
|
||||
lea 48(%rsi),%rsp
|
||||
.cfi_def_cfa %rsi,8
|
||||
mov -48(%rsi),%r15
|
||||
.cfi_restore %r15
|
||||
mov -40(%rsi),%r14
|
||||
.cfi_restore %r14
|
||||
mov -32(%rsi),%r13
|
||||
.cfi_restore %r13
|
||||
mov -24(%rsi),%r12
|
||||
.cfi_restore %r12
|
||||
mov -16(%rsi),%rbp
|
||||
.cfi_restore %rbp
|
||||
mov -8(%rsi),%rbx
|
||||
.cfi_restore %rbx
|
||||
lea (%rsi),%rsp
|
||||
.cfi_def_cfa_register %rsp
|
||||
.Lepilogue:
|
||||
ret
|
||||
.cfi_endproc
|
||||
.size $func,.-$func
|
||||
|
||||
.align 64
|
||||
@@ -526,7 +544,6 @@ se_handler:
|
||||
jae .Lin_prologue
|
||||
|
||||
mov 128+32(%rax),%rax # pull saved stack pointer
|
||||
lea 48(%rax),%rax
|
||||
|
||||
mov -8(%rax),%rbx
|
||||
mov -16(%rax),%rbp
|
||||
|
||||
Reference in New Issue
Block a user