about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-10-20 05:25:40 +0000
committerUlrich Drepper <drepper@redhat.com>2005-10-20 05:25:40 +0000
commitaddbcc6d364ef48b9453cb422f4ed2688dddc1cf (patch)
tree9f69ef99a92ff6e00b9fd146eff555faab01f7ba
parent336476cbea3b8300736bf96cabba921314843439 (diff)
downloadglibc-addbcc6d364ef48b9453cb422f4ed2688dddc1cf.tar.gz
glibc-addbcc6d364ef48b9453cb422f4ed2688dddc1cf.tar.xz
glibc-addbcc6d364ef48b9453cb422f4ed2688dddc1cf.zip
* sysdeps/alpha/remqu.S: Return the correct result when the same cvs/fedora-glibc-20051020T0651
	dividend and divisor are provided, and they're negative numbers.
	* sysdeps/alpha/divqu.S: Likewise.
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/alpha/divqu.S2
-rw-r--r--sysdeps/alpha/remqu.S2
3 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index d6cfbb7b72..4c02f51b88 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-08-23  GOTO Masanori  <gotom@debian.or.jp>
+
+	* sysdeps/alpha/remqu.S: Return the correct result when the same
+	dividend and divisor are provided, and they're negative numbers.
+	* sysdeps/alpha/divqu.S: Likewise.
+
 2005-10-18  Steven Munroe  <sjmunroe@us.ibm.com>
 
 	* sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h (TESTS):
diff --git a/sysdeps/alpha/divqu.S b/sysdeps/alpha/divqu.S
index f2a8a4d533..ef3cdb1b2b 100644
--- a/sysdeps/alpha/divqu.S
+++ b/sysdeps/alpha/divqu.S
@@ -240,7 +240,7 @@ $y_is_neg:
 	/* If we get here, Y is so big that bit 63 is set.  The results
 	   from the divide will be completely wrong.  Fortunately, the
 	   quotient must be either 0 or 1, so just compute it directly.  */
-	cmpult	Y, X, RV
+	cmpule	Y, X, RV
 	excb
 	mt_fpcr	$f3
 	ldt	$f0, 0(sp)
diff --git a/sysdeps/alpha/remqu.S b/sysdeps/alpha/remqu.S
index dcc1c88b3c..398a345a18 100644
--- a/sysdeps/alpha/remqu.S
+++ b/sysdeps/alpha/remqu.S
@@ -246,7 +246,7 @@ $y_is_neg:
 	   from the divide will be completely wrong.  Fortunately, the
 	   quotient must be either 0 or 1, so the remainder must be X
 	   or X-Y, so just compute it directly.  */
-	cmpult	Y, X, AT
+	cmpule	Y, X, AT
 	subq	X, Y, RV
 	ldt	$f0, 0(sp)
 	cmoveq	AT, X, RV