aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/bn
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2007-06-20 12:24:22 +0000
committerAndy Polyakov <appro@openssl.org>2007-06-20 12:24:22 +0000
commit232969422255b01006306262c46db6fe42c4ba91 (patch)
tree17589a022207e0bbb24f3138ada1efbe0ee801bb /crypto/bn
parent206a97575211871366745362bab2b7380d5e5e3c (diff)
downloadopenssl-232969422255b01006306262c46db6fe42c4ba91.tar.gz
SPARC Solaris and Linux assemblers treat .align directive differently.
PR: 1547
Diffstat (limited to 'crypto/bn')
-rw-r--r--crypto/bn/asm/sparcv9-mont.pl12
-rwxr-xr-xcrypto/bn/asm/sparcv9a-mont.pl14
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 <appro\@openssl.org>"
+.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 <appro\@openssl.org>"
+.align 32
___
$code =~ s/\`([^\`]*)\`/eval($1)/gem;