From 760e3535282fda7751b222b2d82012e0e616ddeb Mon Sep 17 00:00:00 2001
From: Andy Polyakov <appro@openssl.org>
Date: Tue, 20 Mar 2007 08:54:51 +0000
Subject: [PATCH] sparcv9a-mont was modified to handle 32-bit aligned input,
 but check for 64-bit alignment was not removed.

---
 crypto/bn/asm/sparcv9a-mont.pl | 12 +++---------
 1 file 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