aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2007-03-20 08:54:51 +0000
committerAndy Polyakov <appro@openssl.org>2007-03-20 08:54:51 +0000
commit760e3535282fda7751b222b2d82012e0e616ddeb (patch)
treed5ff46bcd2f5a3516c623dd2235b5723c84edd65 /crypto
parent3627fedbea173f2155a5cd72053d6f29af4e0dfc (diff)
downloadopenssl-760e3535282fda7751b222b2d82012e0e616ddeb.tar.gz
sparcv9a-mont was modified to handle 32-bit aligned input, but check
for 64-bit alignment was not removed.
Diffstat (limited to 'crypto')
-rwxr-xr-xcrypto/bn/asm/sparcv9a-mont.pl12
1 files changed, 3 insertions, 9 deletions
diff --git a/crypto/bn/asm/sparcv9a-mont.pl b/crypto/bn/asm/sparcv9a-mont.pl
index 5583b41193..cecf07c6f4 100755
--- a/crypto/bn/asm/sparcv9a-mont.pl
+++ b/crypto/bn/asm/sparcv9a-mont.pl
@@ -128,8 +128,6 @@ $code=<<___;
.align 32
$fname:
save %sp,-$frame-$locals,%sp
- sethi %hi(0xffff),$mask
- or $mask,%lo(0xffff),$mask
cmp $num,4
bl,a,pn %icc,.Lret
@@ -137,14 +135,11 @@ $fname:
andcc $num,1,%g0 ! $num has to be even...
bnz,a,pn %icc,.Lret
clr %i0 ! signal "unsupported input value"
- or $bp,$ap,%l0
+
srl $num,1,$num
- or $rp,$np,%l1
- or %l0,%l1,%l0
- andcc %l0,7,%g0 ! ...and pointers has to be 8-byte aligned
- bnz,a,pn %icc,.Lret
- clr %i0 ! signal "unsupported input value"
+ sethi %hi(0xffff),$mask
ld [%i4+0],$n0 ! $n0 reassigned, remember?
+ or $mask,%lo(0xffff),$mask
ld [%i4+4],%o0
sllx %o0,32,%o0
or %o0,$n0,$n0 ! $n0=n0[1].n0[0]
@@ -842,7 +837,6 @@ $fname:
add %o7,8,%o7
brnz,pt %o7,.Lcopy
st %o1,[%g1+4]
- ba .Lzap
sub %g0,$num,%o7 ! n=-num
.align 32