This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] sparc32: Remove unused code.


longlong.h's sparc code hasn't used the external __udiv_qrnnd function
going back to at least 1998.  It's all done inline in the longlong.h
header file definitions.

The __udiv_qrnnd symbol is not exported from libc, therefore it is
useless and just taking up unnecessary space.

So just remove these files.

Build and 'make check' tested and committed to master.

sparc32: Remove unused code.

2010-03-04  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S: Delete.
	* sysdeps/sparc/sparc32/udiv_qrnnd.S: Delete.
---
 ChangeLog                                  |    3 +
 sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S |  215 ----------------------------
 sysdeps/sparc/sparc32/udiv_qrnnd.S         |  168 ----------------------
 3 files changed, 3 insertions(+), 383 deletions(-)
 delete mode 100644 sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S
 delete mode 100644 sysdeps/sparc/sparc32/udiv_qrnnd.S

diff --git a/ChangeLog b/ChangeLog
index 9422055..8277d14 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
 
 	* sysdeps/sparc/sparc64/Implies: Add ieee754/dbl-64/wordsize-64 entry.
 
+	* sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S: Delete.
+	* sysdeps/sparc/sparc32/udiv_qrnnd.S: Delete.
+
 2010-03-03  David S. Miller  <davem@davemloft.net>
 
 	* math/math_private.h (INSERT_WORDS64): Fix argument order.
diff --git a/sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S b/sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S
deleted file mode 100644
index c3f0971..0000000
--- a/sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S
+++ /dev/null
@@ -1,215 +0,0 @@
-! SPARC  __udiv_qrnnd division support, used from longlong.h.
-
-! Copyright (C) 1993, 1994 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 Lesser General Public License as published by
-! the Free Software Foundation; either version 2.1 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 Lesser General Public
-! License for more details.
-
-! You should have received a copy of the GNU Lesser General Public License
-! along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
-! the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-! INPUT PARAMETERS
-! rem_ptr	o0
-! n1		o1
-! n0		o2
-! d		o3
-
-#include "sysdep.h"
-
-ENTRY(__udiv_qrnnd)
-	tst	%o3
-	bneg	LOC(largedivisor)
-	mov	8,%g1
-
-	b	LOC(p1)
-	addxcc	%o2,%o2,%o2
-
-LOC(plop):
-	bcc	LOC(n1)
-	addxcc	%o2,%o2,%o2
-LOC(p1):
-	addx	%o1,%o1,%o1
-	subcc	%o1,%o3,%o4
-	bcc	LOC(n2)
-	addxcc	%o2,%o2,%o2
-LOC(p2):
-	addx	%o1,%o1,%o1
-	subcc	%o1,%o3,%o4
-	bcc	LOC(n3)
-	addxcc	%o2,%o2,%o2
-LOC(p3):
-	addx	%o1,%o1,%o1
-	subcc	%o1,%o3,%o4
-	bcc	LOC(n4)
-	addxcc	%o2,%o2,%o2
-LOC(p4):
-	addx	%o1,%o1,%o1
-	addcc	%g1,-1,%g1
-	bne	LOC(plop)
-	subcc	%o1,%o3,%o4
-	bcc	LOC(n5)
-	addxcc	%o2,%o2,%o2
-LOC(p5):
-	st	%o1,[%o0]
-	retl
-	xnor	%g0,%o2,%o0
-
-LOC(nlop):
-	bcc	LOC(p1)
-	addxcc	%o2,%o2,%o2
-LOC(n1):
-	addx	%o4,%o4,%o4
-	subcc	%o4,%o3,%o1
-	bcc	LOC(p2)
-	addxcc	%o2,%o2,%o2
-LOC(n2):
-	addx	%o4,%o4,%o4
-	subcc	%o4,%o3,%o1
-	bcc	LOC(p3)
-	addxcc	%o2,%o2,%o2
-LOC(n3):
-	addx	%o4,%o4,%o4
-	subcc	%o4,%o3,%o1
-	bcc	LOC(p4)
-	addxcc	%o2,%o2,%o2
-LOC(n4):
-	addx	%o4,%o4,%o4
-	addcc	%g1,-1,%g1
-	bne	LOC(nlop)
-	subcc	%o4,%o3,%o1
-	bcc	LOC(p5)
-	addxcc	%o2,%o2,%o2
-LOC(n5):
-	st	%o4,[%o0]
-	retl
-	xnor	%g0,%o2,%o0
-
-LOC(largedivisor):
-	and	%o2,1,%o5	! %o5 = n0 & 1
-
-	srl	%o2,1,%o2
-	sll	%o1,31,%g2
-	or	%g2,%o2,%o2	! %o2 = lo(n1n0 >> 1)
-	srl	%o1,1,%o1	! %o1 = hi(n1n0 >> 1)
-
-	and	%o3,1,%g2
-	srl	%o3,1,%g3	! %g3 = floor(d / 2)
-	add	%g3,%g2,%g3	! %g3 = ceil(d / 2)
-
-	b	LOC(Lp1)
-	addxcc	%o2,%o2,%o2
-
-LOC(Lplop):
-	bcc	LOC(Ln1)
-	addxcc	%o2,%o2,%o2
-LOC(Lp1):
-	addx	%o1,%o1,%o1
-	subcc	%o1,%g3,%o4
-	bcc	LOC(Ln2)
-	addxcc	%o2,%o2,%o2
-LOC(Lp2):
-	addx	%o1,%o1,%o1
-	subcc	%o1,%g3,%o4
-	bcc	LOC(Ln3)
-	addxcc	%o2,%o2,%o2
-LOC(Lp3):
-	addx	%o1,%o1,%o1
-	subcc	%o1,%g3,%o4
-	bcc	LOC(Ln4)
-	addxcc	%o2,%o2,%o2
-LOC(Lp4):
-	addx	%o1,%o1,%o1
-	addcc	%g1,-1,%g1
-	bne	LOC(Lplop)
-	subcc	%o1,%g3,%o4
-	bcc	LOC(Ln5)
-	addxcc	%o2,%o2,%o2
-LOC(Lp5):
-	add	%o1,%o1,%o1	! << 1
-	tst	%g2
-	bne	LOC(Oddp)
-	add	%o5,%o1,%o1
-	st	%o1,[%o0]
-	retl
-	xnor	%g0,%o2,%o0
-
-LOC(Lnlop):
-	bcc	LOC(Lp1)
-	addxcc	%o2,%o2,%o2
-LOC(Ln1):
-	addx	%o4,%o4,%o4
-	subcc	%o4,%g3,%o1
-	bcc	LOC(Lp2)
-	addxcc	%o2,%o2,%o2
-LOC(Ln2):
-	addx	%o4,%o4,%o4
-	subcc	%o4,%g3,%o1
-	bcc	LOC(Lp3)
-	addxcc	%o2,%o2,%o2
-LOC(Ln3):
-	addx	%o4,%o4,%o4
-	subcc	%o4,%g3,%o1
-	bcc	LOC(Lp4)
-	addxcc	%o2,%o2,%o2
-LOC(Ln4):
-	addx	%o4,%o4,%o4
-	addcc	%g1,-1,%g1
-	bne	LOC(Lnlop)
-	subcc	%o4,%g3,%o1
-	bcc	LOC(Lp5)
-	addxcc	%o2,%o2,%o2
-LOC(Ln5):
-	add	%o4,%o4,%o4	! << 1
-	tst	%g2
-	bne	LOC(Oddn)
-	add	%o5,%o4,%o4
-	st	%o4,[%o0]
-	retl
-	xnor	%g0,%o2,%o0
-
-LOC(Oddp):
-	xnor	%g0,%o2,%o2
-	! q' in %o2. r' in %o1
-	addcc	%o1,%o2,%o1
-	bcc	LOC(Lp6)
-	addx	%o2,0,%o2
-	sub	%o1,%o3,%o1
-LOC(Lp6):
-	subcc	%o1,%o3,%g0
-	bcs	LOC(Lp7)
-	subx	%o2,-1,%o2
-	sub	%o1,%o3,%o1
-LOC(Lp7):
-	st	%o1,[%o0]
-	retl
-	mov	%o2,%o0
-
-LOC(Oddn):
-	xnor	%g0,%o2,%o2
-	! q' in %o2. r' in %o4
-	addcc	%o4,%o2,%o4
-	bcc	LOC(Ln6)
-	addx	%o2,0,%o2
-	sub	%o4,%o3,%o4
-LOC(Ln6):
-	subcc	%o4,%o3,%g0
-	bcs	LOC(Ln7)
-	subx	%o2,-1,%o2
-	sub	%o4,%o3,%o4
-LOC(Ln7):
-	st	%o4,[%o0]
-	retl
-	mov	%o2,%o0
-
-END(__udiv_qrnnd)
diff --git a/sysdeps/sparc/sparc32/udiv_qrnnd.S b/sysdeps/sparc/sparc32/udiv_qrnnd.S
deleted file mode 100644
index 4955318..0000000
--- a/sysdeps/sparc/sparc32/udiv_qrnnd.S
+++ /dev/null
@@ -1,168 +0,0 @@
-! SPARC  __udiv_qrnnd division support, used from longlong.h.
-!
-! Copyright (C) 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 Lesser General Public License as published by
-! the Free Software Foundation; either version 2.1 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 Lesser General Public
-! License for more details.
-!
-! You should have received a copy of the GNU Lesser General Public License
-! along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
-! the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-!
-! Added PIC support - May/96, Miguel de Icaza
-!
-! INPUT PARAMETERS
-! rem_ptr	i0
-! n1		i1
-! n0		i2
-! d		i3
-
-#include <sysdep.h>
-#undef ret	/* Kludge for glibc */
-
-#ifdef PIC
-	.text
-#else
-	.section .rodata,#alloc
-#endif
-	.align	8
-
-	.type two_to_32,@object
-	.size two_to_32,8
-two_to_32:
-	.double	0r4294967296
-
-	.type two_to_31,@object
-	.size two_to_31,8
-two_to_31:
-	.double	0r2147483648
-
-	.text
-ENTRY(__udiv_qrnnd)
-	!#PROLOGUE# 0
-	save	%sp,-104,%sp
-	!#PROLOGUE# 1
-	st	%i1,[%fp-8]
-	ld	[%fp-8],%f10
-#ifdef PIC
-LOC(base):
-	call	1f
-	fitod	%f10,%f4
-1:	ldd	[%o7-(LOC(base)-two_to_32)],%f8
-#else
-	sethi	%hi(two_to_32),%o7
-	fitod	%f10,%f4
-	ldd	[%o7+%lo(two_to_32)],%f8
-#endif
-	cmp	%i1,0
-	bge	LOC(248)
-	mov	%i0,%i5
-	faddd	%f4,%f8,%f4
-LOC(248):
-	st	%i2,[%fp-8]
-	ld	[%fp-8],%f10
-	fmuld	%f4,%f8,%f6
-	cmp	%i2,0
-	bge	LOC(249)
-	fitod	%f10,%f2
-	faddd	%f2,%f8,%f2
-LOC(249):
-	st	%i3,[%fp-8]
-	faddd	%f6,%f2,%f2
-	ld	[%fp-8],%f10
-	cmp	%i3,0
-	bge	LOC(250)
-	fitod	%f10,%f4
-	faddd	%f4,%f8,%f4
-LOC(250):
-	fdivd	%f2,%f4,%f2
-#ifdef PIC
-	ldd	[%o7-(LOC(base)-two_to_31)],%f4
-#else
-	sethi	%hi(two_to_31),%o7
-	ldd	[%o7+%lo(two_to_31)],%f4
-#endif
-	fcmped	%f2,%f4
-	nop
-	fbge,a	LOC(251)
-	fsubd	%f2,%f4,%f2
-	fdtoi	%f2,%f2
-	st	%f2,[%fp-8]
-	b	LOC(252)
-	ld	[%fp-8],%i4
-LOC(251):
-	fdtoi	%f2,%f2
-	st	%f2,[%fp-8]
-	ld	[%fp-8],%i4
-	sethi	%hi(-2147483648),%g2
-	xor	%i4,%g2,%i4
-LOC(252):
-	wr	%g0,%i4,%y
-	sra	%i3,31,%g2
-	and	%i4,%g2,%g2
-	andcc	%g0,0,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,%i3,%g1
-	mulscc	%g1,0,%g1
-	add	%g1,%g2,%i0
-	rd	%y,%g3
-	subcc	%i2,%g3,%o7
-	subxcc	%i1,%i0,%g0
-	be	LOC(253)
-	cmp	%o7,%i3
-
-	add	%i4,-1,%i0
-	add	%o7,%i3,%o7
-	st	%o7,[%i5]
-	ret
-	restore
-LOC(253):
-	blu	LOC(246)
-	mov	%i4,%i0
-	add	%i4,1,%i0
-	sub	%o7,%i3,%o7
-LOC(246):
-	st	%o7,[%i5]
-	ret
-	restore
-
-END(__udiv_qrnnd)
-- 
1.6.6.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]