aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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