X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fbn%2Fasm%2Fmodexp512-x86_64.pl;h=bfd6e975416de8c9bc51b55f994b6fcb2f5ef5f6;hp=2788fc5bd9736e434acf5dea5db30e7e955a0353;hb=a2b18e657ea1a932d125154f4e13ab2258796d90;hpb=be9a8cc2aff1f0add0434e6a70407f31476320cb diff --git a/crypto/bn/asm/modexp512-x86_64.pl b/crypto/bn/asm/modexp512-x86_64.pl index 2788fc5bd9..bfd6e97541 100644 --- a/crypto/bn/asm/modexp512-x86_64.pl +++ b/crypto/bn/asm/modexp512-x86_64.pl @@ -68,7 +68,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; use strict; my $code=".text\n\n"; @@ -464,7 +465,7 @@ $code.=<<___; # do first part (X2 = Xh * M2) add \$8*10, %rdi # rdi -> pXh ; 128 bits, 2 qwords # Xh is actually { [rdi+8*1], rbp } - add \$($M2-$M1), %rsi # rsi -> M2 + add \$`$M2-$M1`, %rsi # rsi -> M2 lea (+$Reduce_Data_offset+$X2_offset+$STACK_DEPTH)(%rsp), %rcx # rcx -> pX2 ; 641 bits, 11 qwords ___ unshift(@X,pop(@X)); unshift(@X,pop(@X)); @@ -484,7 +485,7 @@ $code.=<<___; mov %rax, (+$Reduce_Data_offset+$Carries_offset+$STACK_DEPTH)(%rsp) lea (+$Reduce_Data_offset+$Q_offset+$STACK_DEPTH)(%rsp), %rdi # rdi -> pQ ; 128 bits, 2 qwords - add \$($K1-$M2), %rsi # rsi -> pK1 ; 128 bits, 2 qwords + add \$`$K1-$M2`, %rsi # rsi -> pK1 ; 128 bits, 2 qwords # MUL_128x128t128 rdi, rcx, rsi ; Q = X2 * K1 (bottom half) # B1:B0 = rsi[1:0] = K1[1:0] @@ -509,7 +510,7 @@ $code.=<<___; mov %r9, (+8*1)(%rdi) # end MUL_128x128t128 - sub \$($K1-$M), %rsi + sub \$`$K1-$M`, %rsi mov (%rcx), $X[6] mov (+8*1)(%rcx), $X[7] # r9:r8 = X2[1:0] @@ -1116,8 +1117,8 @@ mod_exp_512: # adjust stack down and then align it with cache boundary mov %rsp, %r8 - sub \$($mem_size), %rsp - and \$~63, %rsp + sub \$$mem_size, %rsp + and \$-64, %rsp # store previous stack pointer and arguments mov %r8, (+$rsp_offset)(%rsp)