aboutsummaryrefslogtreecommitdiff
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
glibc-addbcc6d364ef48b9453cb422f4ed2688dddc1cf.tar.gz
glibc-addbcc6d364ef48b9453cb422f4ed2688dddc1cf.tar.bz2
glibc-addbcc6d364ef48b9453cb422f4ed2688dddc1cf.zip
* sysdeps/alpha/remqu.S: Return the correct result when the samecvs/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