]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
2005-08-23 GOTO Masanori <gotom@debian.or.jp>
authorRoland McGrath <roland@gnu.org>
Sun, 23 Oct 2005 00:52:00 +0000 (00:52 +0000)
committerRoland McGrath <roland@gnu.org>
Sun, 23 Oct 2005 00:52:00 +0000 (00:52 +0000)
[BZ #1498]
* 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.

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

index fc00fa133c97b38e7817c396b671e157d851ff91..03e29aa5e69af168a4085962921a0ea192cb2b09 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 bfa78dff5739e3a694b96264923af152170b08b3..d3383f2ed500d0e202b7817a830b0375b670df86 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