about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-07-06 23:56:57 +0200
committerAndreas Schwab <schwab@linux-m68k.org>2012-07-06 23:57:20 +0200
commit0abaf3e48af6037fff9ed7cbfbc2a68b99096eb2 (patch)
tree36dee156ee5b2a7776010b9c0a50ac4aedd8e624
parent261f485936b283f4327fc1f2fc8fd1705d805c12 (diff)
downloadglibc-0abaf3e48af6037fff9ed7cbfbc2a68b99096eb2.tar.gz
glibc-0abaf3e48af6037fff9ed7cbfbc2a68b99096eb2.tar.xz
glibc-0abaf3e48af6037fff9ed7cbfbc2a68b99096eb2.zip
Fix float range reduction problems (#14283)
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/powerpc/fpu/k_rem_pio2f.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 06226b9147..8e6f0132f3 100644
--- 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.
diff --git a/sysdeps/powerpc/fpu/k_rem_pio2f.c b/sysdeps/powerpc/fpu/k_rem_pio2f.c
index 2060642743..c388f25b05 100644
--- a/sysdeps/powerpc/fpu/k_rem_pio2f.c
+++ b/sysdeps/powerpc/fpu/k_rem_pio2f.c
@@ -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;