diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/alpha/divqu.S | 2 | ||||
-rw-r--r-- | sysdeps/alpha/remqu.S | 2 |
3 files changed, 8 insertions, 2 deletions
@@ -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 |