From 232969422255b01006306262c46db6fe42c4ba91 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Wed, 20 Jun 2007 12:24:22 +0000 Subject: [PATCH] SPARC Solaris and Linux assemblers treat .align directive differently. PR: 1547 --- crypto/bn/asm/sparcv9-mont.pl | 12 +++++++----- crypto/bn/asm/sparcv9a-mont.pl | 14 +++++++++----- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/crypto/bn/asm/sparcv9-mont.pl b/crypto/bn/asm/sparcv9-mont.pl index d78b43209a..2870812c15 100644 --- a/crypto/bn/asm/sparcv9-mont.pl +++ b/crypto/bn/asm/sparcv9-mont.pl @@ -260,24 +260,25 @@ $fname: srl $npj,30,%o0 ! boundary condition... brz,pn %o0,.Lcopy ! ... is met - subcc %g0,%g0,%g0 ! clear %icc.c + nop -.align 16,0x1000000 + ba .Lsub + subcc %g0,%g0,%g0 ! clear %icc.c +.align 16 .Lsub: ld [$tp+%o7],%o0 ld [$np+%o7],%o1 subccc %o0,%o1,%o1 ! tp[j]-np[j] - st %o1,[$rp+%o7] + add $rp,%o7,$i add %o7,4,%o7 brnz %o7,.Lsub - nop + st %o1,[$i] subc $car2,0,$car2 ! handle upmost overflow bit and $tp,$car2,$ap andn $rp,$car2,$np or $ap,$np,$ap sub %g0,$num,%o7 -.align 16,0x1000000 .Lcopy: ld [$ap+%o7],%o0 ! copy or in-place refresh st %g0,[$tp+%o7] ! zap tp @@ -603,6 +604,7 @@ $code.=<<___; .type $fname,#function .size $fname,(.-$fname) .asciz "Montgomery Multipltication for SPARCv9, CRYPTOGAMS by " +.align 32 ___ $code =~ s/\`([^\`]*)\`/eval($1)/gem; print $code; diff --git a/crypto/bn/asm/sparcv9a-mont.pl b/crypto/bn/asm/sparcv9a-mont.pl index 02847fdc08..034792e298 100755 --- a/crypto/bn/asm/sparcv9a-mont.pl +++ b/crypto/bn/asm/sparcv9a-mont.pl @@ -353,7 +353,7 @@ $fname: bz,pn %icc,.L1stskip std $nlod,[%sp+$bias+$frame+24] -.align 32,0x1000000 +.align 32 ! incidentally already aligned ! .L1st: add $ap,$j,%o4 add $np,$j,%o5 @@ -805,8 +805,10 @@ $fname: orn %g0,%g0,%g4 brz,pn %o1,.Lcopy ! ... is met sub %g0,$num,%o7 ! n=-num - -.align 32,0x1000000 + ba .Lsub + nop + +.align 32 .Lsub: ldx [$tp+%o7],%o0 add $np,%o7,%g1 @@ -822,8 +824,10 @@ $fname: st %o3,[%g1+4] subc $carry,0,%g4 sub %g0,$num,%o7 ! n=-num + ba .Lcopy + nop -.align 32,0x1000000 +.align 32 .Lcopy: ldx [$tp+%o7],%o0 add $rp,%o7,%g1 @@ -842,7 +846,6 @@ $fname: st %o1,[%g1+4] sub %g0,$num,%o7 ! n=-num -.align 32,0x1000000 .Lzap: stx %g0,[$ap_l+%o7] stx %g0,[$ap_h+%o7] @@ -862,6 +865,7 @@ $fname: .type $fname,#function .size $fname,(.-$fname) .asciz "Montgomery Multipltication for UltraSPARC, CRYPTOGAMS by " +.align 32 ___ $code =~ s/\`([^\`]*)\`/eval($1)/gem; -- 2.34.1