* sysdeps/alpha/remqu.S: Return the correct result when the same
authorUlrich Drepper <drepper@redhat.com>
Thu, 20 Oct 2005 05:25:40 +0000 (05:25 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 20 Oct 2005 05:25:40 +0000 (05:25 +0000)
dividend and divisor are provided, and they're negative numbers.
* sysdeps/alpha/divqu.S: Likewise.

ChangeLog
sysdeps/alpha/divqu.S
sysdeps/alpha/remqu.S

index d6cfbb7..4c02f51 100644 (file)
--- 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):
index f2a8a4d..ef3cdb1 100644 (file)
@@ -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)
index dcc1c88..398a345 100644 (file)
@@ -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