From addbcc6d364ef48b9453cb422f4ed2688dddc1cf Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 20 Oct 2005 05:25:40 +0000 Subject: * 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. --- ChangeLog | 6 ++++++ sysdeps/alpha/divqu.S | 2 +- sysdeps/alpha/remqu.S | 2 +- 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 + + * 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 * 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 -- cgit v1.2.3