diff options
author | Andy Polyakov <appro@openssl.org> | 2007-03-20 08:54:51 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2007-03-20 08:54:51 +0000 |
commit | 760e3535282fda7751b222b2d82012e0e616ddeb (patch) | |
tree | d5ff46bcd2f5a3516c623dd2235b5723c84edd65 /crypto | |
parent | 3627fedbea173f2155a5cd72053d6f29af4e0dfc (diff) |
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-x | crypto/bn/asm/sparcv9a-mont.pl | 12 |
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 |