about summary refs log tree commit diff
path: root/sysdeps/sparc/sparc32/submul_1.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/sparc/sparc32/submul_1.S')
-rw-r--r--sysdeps/sparc/sparc32/submul_1.S50
1 files changed, 25 insertions, 25 deletions
diff --git a/sysdeps/sparc/sparc32/submul_1.S b/sysdeps/sparc/sparc32/submul_1.S
index a8ebd501a7..805699b7b2 100644
--- a/sysdeps/sparc/sparc32/submul_1.S
+++ b/sysdeps/sparc/sparc32/submul_1.S
@@ -1,20 +1,20 @@
 ! SPARC __mpn_submul_1 -- Multiply a limb vector with a limb and subtract
 ! the result from a second limb vector.
-
-! Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
+!
+! Copyright (C) 1992, 1993, 1994, 1997 Free Software Foundation, Inc.
+!
 ! This file is part of the GNU MP Library.
-
+!
 ! The GNU MP Library is free software; you can redistribute it and/or modify
 ! it under the terms of the GNU Library General Public License as published by
 ! the Free Software Foundation; either version 2 of the License, or (at your
 ! option) any later version.
-
+!
 ! The GNU MP Library is distributed in the hope that it will be useful, but
 ! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 ! or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
 ! License for more details.
-
+!
 ! You should have received a copy of the GNU Library General Public License
 ! along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
 ! the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
@@ -22,17 +22,14 @@
 
 
 ! INPUT PARAMETERS
-! res_ptr	o0
-! s1_ptr	o1
-! size		o2
-! s2_limb	o3
+! RES_PTR	o0
+! S1_PTR	o1
+! SIZE		o2
+! S2_LIMB	o3
 
-#include "sysdep.h"
+#include <sysdep.h>
 
-.text
-	.align 4
-	.global	C_SYMBOL_NAME(__mpn_submul_1)
-C_SYMBOL_NAME(__mpn_submul_1):
+ENTRY(__mpn_submul_1)
 	! Make S1_PTR and RES_PTR point at the end of their blocks
 	! and put (- 4 x SIZE) in index/loop counter.
 	sll	%o2,2,%o2
@@ -41,19 +38,19 @@ C_SYMBOL_NAME(__mpn_submul_1):
 	sub	%g0,%o2,%o2
 
 	cmp	%o3,0xfff
-	bgu	Large
+	bgu	LOC(large)
 	nop
 
 	ld	[%o1+%o2],%o5
 	mov	0,%o0
-	b	L0
+	b	LOC(0)
 	 add	%o4,-4,%o4
-Loop0:
+LOC(loop0):
 	subcc	%o5,%g1,%g1
 	ld	[%o1+%o2],%o5
 	addx	%o0,%g0,%o0
 	st	%g1,[%o4+%o2]
-L0:	wr	%g0,%o3,%y
+LOC(0):	wr	%g0,%o3,%y
 	sra	%o5,31,%g2
 	and	%o3,%g2,%g2
 	andcc	%g1,0,%g1
@@ -79,7 +76,7 @@ L0:	wr	%g0,%o3,%y
 	addcc	%g1,%o0,%g1
 	addx	%g2,%g4,%o0	! add sign-compensation and cy to hi limb
 	addcc	%o2,4,%o2	! loop counter
-	bne	Loop0
+	bne	LOC(loop0)
 	 ld	[%o4+%o2],%o5
 
 	subcc	%o5,%g1,%g1
@@ -88,17 +85,18 @@ L0:	wr	%g0,%o3,%y
 	st	%g1,[%o4+%o2]
 
 
-Large:	ld	[%o1+%o2],%o5
+LOC(large):
+	ld	[%o1+%o2],%o5
 	mov	0,%o0
 	sra	%o3,31,%g4	! g4 = mask of ones iff S2_LIMB < 0
-	b	L1
+	b	LOC(1)
 	 add	%o4,-4,%o4
-Loop:
+LOC(loop):
 	subcc	%o5,%g3,%g3
 	ld	[%o1+%o2],%o5
 	addx	%o0,%g0,%o0
 	st	%g3,[%o4+%o2]
-L1:	wr	%g0,%o5,%y
+LOC(1):	wr	%g0,%o5,%y
 	and	%o5,%g4,%g2
 	andcc	%g0,%g0,%g1
 	mulscc	%g1,%o3,%g1
@@ -138,10 +136,12 @@ L1:	wr	%g0,%o5,%y
 	addcc	%g3,%o0,%g3
 	addx	%g2,%g1,%o0
 	addcc	%o2,4,%o2
-	bne	Loop
+	bne	LOC(loop)
 	 ld	[%o4+%o2],%o5
 
 	subcc	%o5,%g3,%g3
 	addx	%o0,%g0,%o0
 	retl
 	st	%g3,[%o4+%o2]
+
+END(__mpn_submul_1)