Fix float range reduction problems (#14283)
authorAndreas Schwab <schwab@linux-m68k.org>
Fri, 6 Jul 2012 21:56:57 +0000 (23:56 +0200)
committerAndreas Schwab <schwab@linux-m68k.org>
Fri, 6 Jul 2012 21:57:20 +0000 (23:57 +0200)
ChangeLog
sysdeps/powerpc/fpu/k_rem_pio2f.c

index 06226b9..8e6f013 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2012-07-06  Andreas Schwab  <schwab@linux-m68k.org>
 
+       [BZ #14283]
+       * sysdeps/powerpc/fpu/k_rem_pio2f.c (__fp_kernel_rem_pio2f): Shift
+       by 7 not 8 to examine high bit of fractional part.
+
        [BZ #14042]
        * sysdeps/powerpc/powerpc32/ppc-mcount.S [SHARED]: Don't use PLT
        for call to __mcount_internal.
index 2060642..c388f25 100644 (file)
@@ -1,5 +1,5 @@
 /* k_rem_pio2f.c -- float version of e_rem_pio2.c
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Adhemerval Zanella <azanella@br.ibm.com>, 2011
 
@@ -153,7 +153,7 @@ recompute:
       ih = iq[jz - 1] >> (7 - q0);
     }
   else if (q0 == 0)
-    ih = iq[jz - 1] >> 8;
+    ih = iq[jz - 1] >> 7;
   else if (z >= 0.5)
     ih = 2;