X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fbn%2Fasm%2Fmodexp512-x86_64.pl;h=bfd6e975416de8c9bc51b55f994b6fcb2f5ef5f6;hp=06290ca009512a20d204523f99e2bb36a6308d15;hb=a2b18e657ea1a932d125154f4e13ab2258796d90;hpb=6c01cbb6a0a2a2fe9a11320ac3578654d8c03cde diff --git a/crypto/bn/asm/modexp512-x86_64.pl b/crypto/bn/asm/modexp512-x86_64.pl index 06290ca009..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,7 +1117,7 @@ mod_exp_512: # adjust stack down and then align it with cache boundary mov %rsp, %r8 - sub \$($mem_size), %rsp + sub \$$mem_size, %rsp and \$-64, %rsp # store previous stack pointer and arguments