[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r18364 - in /branches/eglibc-2_15: ./ libc/ libc/math/ libc/nptl/ libc/sysdeps/i386/fpu/ libc/sysdeps/ieee754/dbl-64/ libc/s...



Author: joseph
Date: Fri May  4 19:35:36 2012
New Revision: 18364

Log:
Merge changes between r17385 and r18363 from /fsf/glibc-2_15-branch.

Modified:
    branches/eglibc-2_15/   (props changed)
    branches/eglibc-2_15/libc/ChangeLog
    branches/eglibc-2_15/libc/NEWS
    branches/eglibc-2_15/libc/math/libm-test.inc
    branches/eglibc-2_15/libc/math/w_acos.c
    branches/eglibc-2_15/libc/math/w_acosf.c
    branches/eglibc-2_15/libc/math/w_acosh.c
    branches/eglibc-2_15/libc/math/w_acoshf.c
    branches/eglibc-2_15/libc/math/w_acoshl.c
    branches/eglibc-2_15/libc/math/w_acosl.c
    branches/eglibc-2_15/libc/math/w_asin.c
    branches/eglibc-2_15/libc/math/w_asinf.c
    branches/eglibc-2_15/libc/math/w_asinl.c
    branches/eglibc-2_15/libc/math/w_atanh.c
    branches/eglibc-2_15/libc/math/w_atanhf.c
    branches/eglibc-2_15/libc/math/w_atanhl.c
    branches/eglibc-2_15/libc/math/w_exp2.c
    branches/eglibc-2_15/libc/math/w_exp2f.c
    branches/eglibc-2_15/libc/math/w_exp2l.c
    branches/eglibc-2_15/libc/math/w_j0.c
    branches/eglibc-2_15/libc/math/w_j0f.c
    branches/eglibc-2_15/libc/math/w_j0l.c
    branches/eglibc-2_15/libc/math/w_j1.c
    branches/eglibc-2_15/libc/math/w_j1f.c
    branches/eglibc-2_15/libc/math/w_j1l.c
    branches/eglibc-2_15/libc/math/w_jn.c
    branches/eglibc-2_15/libc/math/w_jnf.c
    branches/eglibc-2_15/libc/math/w_log.c
    branches/eglibc-2_15/libc/math/w_log10.c
    branches/eglibc-2_15/libc/math/w_log10f.c
    branches/eglibc-2_15/libc/math/w_log10l.c
    branches/eglibc-2_15/libc/math/w_log2.c
    branches/eglibc-2_15/libc/math/w_log2f.c
    branches/eglibc-2_15/libc/math/w_log2l.c
    branches/eglibc-2_15/libc/math/w_logf.c
    branches/eglibc-2_15/libc/math/w_logl.c
    branches/eglibc-2_15/libc/math/w_sqrt.c
    branches/eglibc-2_15/libc/math/w_sqrtf.c
    branches/eglibc-2_15/libc/math/w_sqrtl.c
    branches/eglibc-2_15/libc/nptl/ChangeLog
    branches/eglibc-2_15/libc/sysdeps/i386/fpu/feupdateenv.c
    branches/eglibc-2_15/libc/sysdeps/i386/fpu/libm-test-ulps
    branches/eglibc-2_15/libc/sysdeps/ieee754/dbl-64/e_atanh.c
    branches/eglibc-2_15/libc/sysdeps/ieee754/dbl-64/w_exp.c
    branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/e_atanhf.c
    branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/s_nearbyintf.c
    branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/s_rintf.c
    branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/w_expf.c
    branches/eglibc-2_15/libc/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
    branches/eglibc-2_15/libc/sysdeps/ieee754/ldbl-128/s_rintl.c
    branches/eglibc-2_15/libc/sysdeps/ieee754/ldbl-96/w_expl.c
    branches/eglibc-2_15/libc/sysdeps/sparc/sparc32/fpu/libm-test-ulps
    branches/eglibc-2_15/libc/sysdeps/sparc/sparc64/fpu/libm-test-ulps
    branches/eglibc-2_15/libc/sysdeps/unix/sysv/linux/internal_statvfs.c
    branches/eglibc-2_15/libc/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
    branches/eglibc-2_15/libc/sysdeps/x86_64/fpu/libm-test-ulps

Propchange: branches/eglibc-2_15/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri May  4 19:35:36 2012
@@ -1,2 +1,2 @@
-/fsf/glibc-2_15-branch:16509-17385
+/fsf/glibc-2_15-branch:16509-18363
 /fsf/trunk:15224-16494

Modified: branches/eglibc-2_15/libc/ChangeLog
==============================================================================
--- branches/eglibc-2_15/libc/ChangeLog (original)
+++ branches/eglibc-2_15/libc/ChangeLog Fri May  4 19:35:36 2012
@@ -1,3 +1,106 @@
+2012-02-27  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	* sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl): Do not
+	manipulate bits before adding and subtracting TWO112[sx].
+	* sysdeps/ieee754/ldbl-128/s_rintl.c (__rintl): Likewise.
+
+2012-02-22  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #2547]
+	[BZ #11365]
+	* sysdeps/ieee754/flt-32/s_nearbyintf.c (__nearbyintf): Do not
+	manipulate bits before adding and subtracting TWO23[sx].
+	* math/libm-test.inc (nearbyint_test): Add more tests.
+
+2012-02-22  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #2548]
+	* sysdeps/ieee754/flt-32/s_rintf.c (__rintf): Do not manipulate
+	bits before adding and subtracting TWO23[sx].
+	* math/libm-test.inc (rint_test): Add more tests.
+	(rint_test_tonearest): Likewise.
+	(rint_test_towardzero): Likewise.
+	(rint_test_downward): Likewise.
+	(rint_test_upward: Likewise.
+
+2012-02-21  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	* sysdeps/sparc/sparc32/fpu/libm-test-ulps: More jn test ULP updates.
+	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise.
+
+2012-02-19  Aurelien Jarno  <aurelien@xxxxxxxxxxx>
+
+	* math/w_acos.c: Use non-signaling floating-point comparisons.
+	* math/w_acosf.c: Likewise.
+	* math/w_acosh.c: Likewise.
+	* math/w_acoshf.c: Likewise.
+	* math/w_acoshl.c: Likewise.
+	* math/w_acosl.c: Likewise.
+	* math/w_asin.c: Likewise.
+	* math/w_asinf.c: Likewise.
+	* math/w_asinl.c: Likewise.
+	* math/w_atanh.c: Likewise.
+	* math/w_atanhf.c: Likewise.
+	* math/w_atanhl.c: Likewise.
+	* math/w_exp2.c: Likewise.
+	* math/w_exp2f.c: Likewise.
+	* math/w_exp2l.c: Likewise.
+	* math/w_j0.c: Likewise.
+	* math/w_j0f.c: Likewise.
+	* math/w_j0l.c: Likewise.
+	* math/w_j1.c: Likewise.
+	* math/w_j1f.c: Likewise.
+	* math/w_j1l.c: Likewise.
+	* math/w_jn.c: Likewise.
+	* math/w_jnf.c: Likewise.
+	* math/w_log.c: Likewise.
+	* math/w_log10.c: Likewise.
+	* math/w_log10f.c: Likewise.
+	* math/w_log10l.c: Likewise.
+	* math/w_log2.c: Likewise.
+	* math/w_log2f.c: Likewise.
+	* math/w_log2l.c: Likewise.
+	* math/w_logf.c: Likewise.
+	* math/w_logl.c: Likewise.
+	* math/w_sqrt.c: Likewise.
+	* math/w_sqrtf.c: Likewise.
+	* math/w_sqrtl.c: Likewise.
+	* sysdeps/ieee754/dbl-64/e_atanh.c: Likewise.
+	* sysdeps/ieee754/dbl-64/w_exp.c: Likewise.
+	* sysdeps/ieee754/flt-32/e_atanhf.c: Likewise.
+	* sysdeps/ieee754/flt-32/w_expf.c: Likewise.
+	* sysdeps/ieee754/ldbl-96/w_expl.c: Likewise.
+
+2012-02-22  Carlos O'Donell  <carlos_odonell@xxxxxxxxxx>
+
+	[BZ #411]
+	* sysdeps/unix/sysv/linux/i386/sysdep.h: Redefine __i686.
+
+2012-02-16  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	[BZ #11494]
+	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_FSYNC): Define.
+
+2012-02-09  Richard Henderson  <rth@xxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/internal_statvfs.c: Use <> for include
+	of kernel-features.h.
+
+2012-02-08  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sysdeps/i386/fpu/libm-test-ulps: Reduce ldouble ULPs for jn
+	tests.
+	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
+2012-02-07  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* math/libm-test.inc (jn_test): Add missing L suffix.
+
+2012-02-10  Thomas Schwinge  <thomas@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/i386/fpu/feupdateenv.c (__feupdateenv) Invoke __feraiseexcept
+	instead of feraiseexcept.
+
 2012-01-01  Ulrich Drepper  <drepper@xxxxxxxxx>
 
 	* posix/getconf.c: Update copyright year.

Modified: branches/eglibc-2_15/libc/NEWS
==============================================================================
--- branches/eglibc-2_15/libc/NEWS (original)
+++ branches/eglibc-2_15/libc/NEWS Fri May  4 19:35:36 2012
@@ -5,6 +5,12 @@
 Please send GNU C library bug reports via <http://sources.redhat.com/bugzilla/>
 using `glibc' in the "product" field.
 
+Version 2.15.1
+
+* The following bugs are resolved with this release:
+
+  411, 2547, 2548, 11365, 11494, 13731, 13732, 13733, 13747, 13748, 13749
+
 Version 2.15
 
 * The following bugs are resolved with this release:

Modified: branches/eglibc-2_15/libc/math/libm-test.inc
==============================================================================
--- branches/eglibc-2_15/libc/math/libm-test.inc (original)
+++ branches/eglibc-2_15/libc/math/libm-test.inc Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2006, 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@xxxxxxx>, 1997.
 
@@ -3299,14 +3299,14 @@
   TEST_ff_f (jn, 10, 10.0, 0.207486106633358857697278723518753428L);
 
   /* BZ #11589 .*/
-  TEST_ff_f (jn, 2, 2.4048255576957729, 0.43175480701968038399746111312430703L);
-  TEST_ff_f (jn, 3, 2.4048255576957729, 0.19899990535769083404042146764530813L);
-  TEST_ff_f (jn, 4, 2.4048255576957729, 0.647466661641779720084932282551219891E-1L);
-  TEST_ff_f (jn, 5, 2.4048255576957729, 0.163892432048058525099230549946147698E-1L);
-  TEST_ff_f (jn, 6, 2.4048255576957729, 0.34048184720278336646673682895929161E-2L);
-  TEST_ff_f (jn, 7, 2.4048255576957729, 0.60068836573295394221291569249883076E-3L);
-  TEST_ff_f (jn, 8, 2.4048255576957729, 0.92165786705344923232879022467054148E-4L);
-  TEST_ff_f (jn, 9, 2.4048255576957729, 0.12517270977961513005428966643852564E-4L)
+  TEST_ff_f (jn, 2, 2.4048255576957729L, 0.43175480701968038399746111312430703L);
+  TEST_ff_f (jn, 3, 2.4048255576957729L, 0.19899990535769083404042146764530813L);
+  TEST_ff_f (jn, 4, 2.4048255576957729L, 0.647466661641779720084932282551219891E-1L);
+  TEST_ff_f (jn, 5, 2.4048255576957729L, 0.163892432048058525099230549946147698E-1L);
+  TEST_ff_f (jn, 6, 2.4048255576957729L, 0.34048184720278336646673682895929161E-2L);
+  TEST_ff_f (jn, 7, 2.4048255576957729L, 0.60068836573295394221291569249883076E-3L);
+  TEST_ff_f (jn, 8, 2.4048255576957729L, 0.92165786705344923232879022467054148E-4L);
+  TEST_ff_f (jn, 9, 2.4048255576957729L, 0.12517270977961513005428966643852564E-4L)
 
   END (jn);
 }
@@ -4646,6 +4646,29 @@
   TEST_f_f (nearbyint, 524286.75, 524287.0);
   TEST_f_f (nearbyint, 524288.75, 524289.0);
 
+  TEST_f_f (nearbyint, 1048576.75, 1048577.0);
+  TEST_f_f (nearbyint, 2097152.75, 2097153.0);
+  TEST_f_f (nearbyint, 2492472.75, 2492473.0);
+  TEST_f_f (nearbyint, 2886220.75, 2886221.0);
+  TEST_f_f (nearbyint, 3058792.75, 3058793.0);
+  TEST_f_f (nearbyint, -1048576.75, -1048577.0);
+  TEST_f_f (nearbyint, -2097152.75, -2097153.0);
+  TEST_f_f (nearbyint, -2492472.75, -2492473.0);
+  TEST_f_f (nearbyint, -2886220.75, -2886221.0);
+  TEST_f_f (nearbyint, -3058792.75, -3058793.0);
+#ifndef TEST_FLOAT
+  TEST_f_f (nearbyint, 70368744177664.75, 70368744177665.0);
+  TEST_f_f (nearbyint, 140737488355328.75, 140737488355329.0);
+  TEST_f_f (nearbyint, 281474976710656.75, 281474976710657.0);
+  TEST_f_f (nearbyint, 562949953421312.75, 562949953421313.0);
+  TEST_f_f (nearbyint, 1125899906842624.75, 1125899906842625.0);
+  TEST_f_f (nearbyint, -70368744177664.75, -70368744177665.0);
+  TEST_f_f (nearbyint, -140737488355328.75, -140737488355329.0);
+  TEST_f_f (nearbyint, -281474976710656.75, -281474976710657.0);
+  TEST_f_f (nearbyint, -562949953421312.75, -562949953421313.0);
+  TEST_f_f (nearbyint, -1125899906842624.75, -1125899906842625.0);
+#endif
+
   END (nearbyint);
 }
 
@@ -5051,6 +5074,22 @@
   TEST_f_f (rint, 262142.75, 262143.0);
   TEST_f_f (rint, 524286.75, 524287.0);
   TEST_f_f (rint, 524288.75, 524289.0);
+  TEST_f_f (rint, 1048576.75, 1048577.0);
+  TEST_f_f (rint, 2097152.75, 2097153.0);
+  TEST_f_f (rint, -1048576.75, -1048577.0);
+  TEST_f_f (rint, -2097152.75, -2097153.0);
+#ifndef TEST_FLOAT
+  TEST_f_f (rint, 70368744177664.75, 70368744177665.0);
+  TEST_f_f (rint, 140737488355328.75, 140737488355329.0);
+  TEST_f_f (rint, 281474976710656.75, 281474976710657.0);
+  TEST_f_f (rint, 562949953421312.75, 562949953421313.0);
+  TEST_f_f (rint, 1125899906842624.75, 1125899906842625.0);
+  TEST_f_f (rint, -70368744177664.75, -70368744177665.0);
+  TEST_f_f (rint, -140737488355328.75, -140737488355329.0);
+  TEST_f_f (rint, -281474976710656.75, -281474976710657.0);
+  TEST_f_f (rint, -562949953421312.75, -562949953421313.0);
+  TEST_f_f (rint, -1125899906842624.75, -1125899906842625.0);
+#endif
 #ifdef TEST_LDOUBLE
   /* The result can only be represented in long double.  */
   TEST_f_f (rint, 4503599627370495.5L, 4503599627370496.0L);
@@ -5151,6 +5190,22 @@
       TEST_f_f (rint, -0.1, -0.0);
       TEST_f_f (rint, -0.25, -0.0);
       TEST_f_f (rint, -0.625, -1.0);
+      TEST_f_f (rint, 1048576.75, 1048577.0);
+      TEST_f_f (rint, 2097152.75, 2097153.0);
+      TEST_f_f (rint, -1048576.75, -1048577.0);
+      TEST_f_f (rint, -2097152.75, -2097153.0);
+#ifndef TEST_FLOAT
+      TEST_f_f (rint, 70368744177664.75, 70368744177665.0);
+      TEST_f_f (rint, 140737488355328.75, 140737488355329.0);
+      TEST_f_f (rint, 281474976710656.75, 281474976710657.0);
+      TEST_f_f (rint, 562949953421312.75, 562949953421313.0);
+      TEST_f_f (rint, 1125899906842624.75, 1125899906842625.0);
+      TEST_f_f (rint, -70368744177664.75, -70368744177665.0);
+      TEST_f_f (rint, -140737488355328.75, -140737488355329.0);
+      TEST_f_f (rint, -281474976710656.75, -281474976710657.0);
+      TEST_f_f (rint, -562949953421312.75, -562949953421313.0);
+      TEST_f_f (rint, -1125899906842624.75, -1125899906842625.0);
+#endif
 #ifdef TEST_LDOUBLE
       /* The result can only be represented in long double.  */
       TEST_f_f (rint, 4503599627370495.5L, 4503599627370496.0L);
@@ -5221,6 +5276,22 @@
       TEST_f_f (rint, -0.1, -0.0);
       TEST_f_f (rint, -0.25, -0.0);
       TEST_f_f (rint, -0.625, -0.0);
+      TEST_f_f (rint, 1048576.75, 1048576.0);
+      TEST_f_f (rint, 2097152.75, 2097152.0);
+      TEST_f_f (rint, -1048576.75, -1048576.0);
+      TEST_f_f (rint, -2097152.75, -2097152.0);
+#ifndef TEST_FLOAT
+      TEST_f_f (rint, 70368744177664.75, 70368744177664.0);
+      TEST_f_f (rint, 140737488355328.75, 140737488355328.0);
+      TEST_f_f (rint, 281474976710656.75, 281474976710656.0);
+      TEST_f_f (rint, 562949953421312.75, 562949953421312.0);
+      TEST_f_f (rint, 1125899906842624.75, 1125899906842624.0);
+      TEST_f_f (rint, -70368744177664.75, -70368744177664.0);
+      TEST_f_f (rint, -140737488355328.75, -140737488355328.0);
+      TEST_f_f (rint, -281474976710656.75, -281474976710656.0);
+      TEST_f_f (rint, -562949953421312.75, -562949953421312.0);
+      TEST_f_f (rint, -1125899906842624.75, -1125899906842624.0);
+#endif
 #ifdef TEST_LDOUBLE
       /* The result can only be represented in long double.  */
       TEST_f_f (rint, 4503599627370495.5L, 4503599627370495.0L);
@@ -5291,6 +5362,22 @@
       TEST_f_f (rint, -0.1, -1.0);
       TEST_f_f (rint, -0.25, -1.0);
       TEST_f_f (rint, -0.625, -1.0);
+      TEST_f_f (rint, 1048576.75, 1048576.0);
+      TEST_f_f (rint, 2097152.75, 2097152.0);
+      TEST_f_f (rint, -1048576.75, -1048577.0);
+      TEST_f_f (rint, -2097152.75, -2097153.0);
+#ifndef TEST_FLOAT
+      TEST_f_f (rint, 70368744177664.75, 70368744177664.0);
+      TEST_f_f (rint, 140737488355328.75, 140737488355328.0);
+      TEST_f_f (rint, 281474976710656.75, 281474976710656.0);
+      TEST_f_f (rint, 562949953421312.75, 562949953421312.0);
+      TEST_f_f (rint, 1125899906842624.75, 1125899906842624.0);
+      TEST_f_f (rint, -70368744177664.75, -70368744177665.0);
+      TEST_f_f (rint, -140737488355328.75, -140737488355329.0);
+      TEST_f_f (rint, -281474976710656.75, -281474976710657.0);
+      TEST_f_f (rint, -562949953421312.75, -562949953421313.0);
+      TEST_f_f (rint, -1125899906842624.75, -1125899906842625.0);
+#endif
 #ifdef TEST_LDOUBLE
       /* The result can only be represented in long double.  */
       TEST_f_f (rint, 4503599627370495.5L, 4503599627370495.0L);
@@ -5361,6 +5448,22 @@
       TEST_f_f (rint, -0.1, -0.0);
       TEST_f_f (rint, -0.25, -0.0);
       TEST_f_f (rint, -0.625, -0.0);
+      TEST_f_f (rint, 1048576.75, 1048577.0);
+      TEST_f_f (rint, 2097152.75, 2097153.0);
+      TEST_f_f (rint, -1048576.75, -1048576.0);
+      TEST_f_f (rint, -2097152.75, -2097152.0);
+#ifndef TEST_FLOAT
+      TEST_f_f (rint, 70368744177664.75, 70368744177665.0);
+      TEST_f_f (rint, 140737488355328.75, 140737488355329.0);
+      TEST_f_f (rint, 281474976710656.75, 281474976710657.0);
+      TEST_f_f (rint, 562949953421312.75, 562949953421313.0);
+      TEST_f_f (rint, 1125899906842624.75, 1125899906842625.0);
+      TEST_f_f (rint, -70368744177664.75, -70368744177664.0);
+      TEST_f_f (rint, -140737488355328.75, -140737488355328.0);
+      TEST_f_f (rint, -281474976710656.75, -281474976710656.0);
+      TEST_f_f (rint, -562949953421312.75, -562949953421312.0);
+      TEST_f_f (rint, -1125899906842624.75, -1125899906842624.0);
+#endif
 #ifdef TEST_LDOUBLE
       /* The result can only be represented in long double.  */
       TEST_f_f (rint, 4503599627370495.5L, 4503599627370496.0L);

Modified: branches/eglibc-2_15/libc/math/w_acos.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_acos.c (original)
+++ branches/eglibc-2_15/libc/math/w_acos.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,8 @@
 double
 __acos (double x)
 {
-  if (__builtin_expect (fabs (x) > 1.0, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreater (fabs (x), 1.0), 0)
+      && _LIB_VERSION != _IEEE_)
     {
       /* acos(|x|>1) */
       feraiseexcept (FE_INVALID);

Modified: branches/eglibc-2_15/libc/math/w_acosf.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_acosf.c (original)
+++ branches/eglibc-2_15/libc/math/w_acosf.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,8 @@
 float
 __acosf (float x)
 {
-  if (__builtin_expect (fabsf (x) > 1.0f, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreater (fabsf (x), 1.0f), 0)
+      && _LIB_VERSION != _IEEE_)
     {
       /* acos(|x|>1) */
       feraiseexcept (FE_INVALID);

Modified: branches/eglibc-2_15/libc/math/w_acosh.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_acosh.c (original)
+++ branches/eglibc-2_15/libc/math/w_acosh.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -25,7 +25,7 @@
 double
 __acosh (double x)
 {
-  if (__builtin_expect (x < 1.0, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isless (x,  1.0), 0) && _LIB_VERSION != _IEEE_)
     /* acosh(x<1) */
     return __kernel_standard (x, x, 29);
 

Modified: branches/eglibc-2_15/libc/math/w_acoshf.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_acoshf.c (original)
+++ branches/eglibc-2_15/libc/math/w_acoshf.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -25,7 +25,7 @@
 float
 __acoshf (float x)
 {
-  if (__builtin_expect (x < 1.0f, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isless (x, 1.0f), 0) && _LIB_VERSION != _IEEE_)
     /* acosh(x<1) */
     return __kernel_standard_f (x, x, 129);
 

Modified: branches/eglibc-2_15/libc/math/w_acoshl.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_acoshl.c (original)
+++ branches/eglibc-2_15/libc/math/w_acoshl.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -25,7 +25,7 @@
 long double
 __acoshl (long double x)
 {
-  if (__builtin_expect (x < 1.0L, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isless (x, 1.0L), 0) && _LIB_VERSION != _IEEE_)
     /* acosh(x<1) */
     return __kernel_standard (x, x, 229);
 

Modified: branches/eglibc-2_15/libc/math/w_acosl.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_acosl.c (original)
+++ branches/eglibc-2_15/libc/math/w_acosl.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,8 @@
 long double
 __acosl (long double x)
 {
-  if (__builtin_expect (fabsl (x) > 1.0L, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreater (fabsl (x), 1.0L), 0)
+      && _LIB_VERSION != _IEEE_)
     {
       /* acos(|x|>1) */
       feraiseexcept (FE_INVALID);

Modified: branches/eglibc-2_15/libc/math/w_asin.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_asin.c (original)
+++ branches/eglibc-2_15/libc/math/w_asin.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,8 @@
 double
 __asin (double x)
 {
-  if (__builtin_expect (fabs (x) > 1.0, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreater (fabs (x),  1.0), 0)
+      && _LIB_VERSION != _IEEE_)
     {
       /* asin(|x|>1) */
       feraiseexcept (FE_INVALID);

Modified: branches/eglibc-2_15/libc/math/w_asinf.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_asinf.c (original)
+++ branches/eglibc-2_15/libc/math/w_asinf.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,8 @@
 float
 __asinf (float x)
 {
-  if (__builtin_expect (fabsf (x) > 1.0f, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreater (fabsf (x), 1.0f), 0)
+      && _LIB_VERSION != _IEEE_)
     {
       /* asin(|x|>1) */
       feraiseexcept (FE_INVALID);

Modified: branches/eglibc-2_15/libc/math/w_asinl.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_asinl.c (original)
+++ branches/eglibc-2_15/libc/math/w_asinl.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,8 @@
 long double
 __asinl (long double x)
 {
-  if (__builtin_expect (fabsl (x) > 1.0L, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreater (fabsl (x), 1.0L), 0)
+      && _LIB_VERSION != _IEEE_)
     {
       /* asin(|x|>1) */
       feraiseexcept (FE_INVALID);

Modified: branches/eglibc-2_15/libc/math/w_atanh.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_atanh.c (original)
+++ branches/eglibc-2_15/libc/math/w_atanh.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -25,7 +25,8 @@
 double
 __atanh (double x)
 {
-  if (__builtin_expect (fabs (x) >= 1.0, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreaterequal (fabs (x), 1.0), 0)
+      && _LIB_VERSION != _IEEE_)
     return __kernel_standard (x, x,
 			      fabs (x) > 1.0
 			      ? 30		/* atanh(|x|>1) */

Modified: branches/eglibc-2_15/libc/math/w_atanhf.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_atanhf.c (original)
+++ branches/eglibc-2_15/libc/math/w_atanhf.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -25,7 +25,8 @@
 float
 __atanhf (float x)
 {
-  if (__builtin_expect (fabsf (x) >= 1.0f, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreaterequal (fabsf (x), 1.0f), 0)
+      && _LIB_VERSION != _IEEE_)
     return __kernel_standard_f (x, x,
 				fabsf (x) > 1.0f
 				? 130		/* atanh(|x|>1) */

Modified: branches/eglibc-2_15/libc/math/w_atanhl.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_atanhl.c (original)
+++ branches/eglibc-2_15/libc/math/w_atanhl.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -25,7 +25,8 @@
 long double
 __atanhl (long double x)
 {
-  if (__builtin_expect (fabsl (x) >= 1.0L, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreaterequal (fabsl (x), 1.0L), 0)
+      && _LIB_VERSION != _IEEE_)
     return __kernel_standard (x, x,
 			      fabsl (x) > 1.0L
 			      ? 230		/* atanh(|x|>1) */

Modified: branches/eglibc-2_15/libc/math/w_exp2.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_exp2.c (original)
+++ branches/eglibc-2_15/libc/math/w_exp2.c Fri May  4 19:35:36 2012
@@ -12,7 +12,8 @@
 double
 __exp2 (double x)
 {
-  if (__builtin_expect (x <= u_threshold || x > o_threshold, 0)
+  if (__builtin_expect (islessequal (x, u_threshold)
+			|| isgreater (x, o_threshold), 0)
       && _LIB_VERSION != _IEEE_ && __finite (x))
     /* exp2 overflow: 44, exp2 underflow: 45 */
     return __kernel_standard (x, x, 44 + (x <= o_threshold));

Modified: branches/eglibc-2_15/libc/math/w_exp2f.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_exp2f.c (original)
+++ branches/eglibc-2_15/libc/math/w_exp2f.c Fri May  4 19:35:36 2012
@@ -12,7 +12,8 @@
 float
 __exp2f (float x)
 {
-  if (__builtin_expect (x <= u_threshold || x > o_threshold, 0)
+  if (__builtin_expect (islessequal (x, u_threshold)
+			|| isgreater (x, o_threshold), 0)
       && _LIB_VERSION != _IEEE_ && __finitef (x))
     /* exp2 overflow: 144, exp2 underflow: 145 */
     return __kernel_standard_f (x, x, 144 + (x <= o_threshold));

Modified: branches/eglibc-2_15/libc/math/w_exp2l.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_exp2l.c (original)
+++ branches/eglibc-2_15/libc/math/w_exp2l.c Fri May  4 19:35:36 2012
@@ -13,7 +13,8 @@
 long double
 __exp2l (long double x)
 {
-  if (__builtin_expect (x <= u_threshold || x > o_threshold, 0)
+  if (__builtin_expect (islessequal (x, u_threshold)
+			|| isgreater (x, o_threshold), 0)
       && _LIB_VERSION != _IEEE_ && __finitel (x))
     /* exp2 overflow: 244, exp2 underflow: 245 */
     return __kernel_standard (x, x, 244 + (x <= o_threshold));

Modified: branches/eglibc-2_15/libc/math/w_j0.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_j0.c (original)
+++ branches/eglibc-2_15/libc/math/w_j0.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,8 @@
 double
 j0 (double x)
 {
-  if (__builtin_expect (fabs (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
+      && _LIB_VERSION != _IEEE_)
     /* j0(|x|>X_TLOSS) */
     return __kernel_standard (x, x, 34);
 
@@ -41,7 +42,8 @@
 double
 y0 (double x)
 {
-  if (__builtin_expect (x <= 0.0 || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
+      && _LIB_VERSION != _IEEE_)
     {
       if (x < 0.0)
 	{

Modified: branches/eglibc-2_15/libc/math/w_j0f.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_j0f.c (original)
+++ branches/eglibc-2_15/libc/math/w_j0f.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,7 @@
 float
 j0f (float x)
 {
-  if (__builtin_expect (fabsf (x) > (float) X_TLOSS, 0)
+  if (__builtin_expect (isgreater (fabsf (x), (float) X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_)
     /* j0(|x|>X_TLOSS) */
     return __kernel_standard_f (x, x, 134);
@@ -39,7 +39,8 @@
 float
 y0f (float x)
 {
-  if (__builtin_expect (x <= 0.0f || x > (float) X_TLOSS, 0)
+  if (__builtin_expect (islessequal (x, 0.0f)
+                        || isgreater (x, (float) X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_)
     {
       if (x < 0.0f)

Modified: branches/eglibc-2_15/libc/math/w_j0l.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_j0l.c (original)
+++ branches/eglibc-2_15/libc/math/w_j0l.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,8 @@
 long double
 __j0l (long double x)
 {
-  if (__builtin_expect (fabsl (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreater (fabsl (x), X_TLOSS), 0)
+      && _LIB_VERSION != _IEEE_)
     /* j0(|x|>X_TLOSS) */
     return __kernel_standard (x, x, 234);
 
@@ -39,7 +40,8 @@
 long double
 __y0l (long double x)
 {
-  if (__builtin_expect (x <= 0.0L || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0L) || isgreater (x, X_TLOSS), 0)
+      && _LIB_VERSION != _IEEE_)
     {
       if (x < 0.0L)
 	{

Modified: branches/eglibc-2_15/libc/math/w_j1.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_j1.c (original)
+++ branches/eglibc-2_15/libc/math/w_j1.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,8 @@
 double
 j1 (double x)
 {
-  if (__builtin_expect (fabs (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
+      && _LIB_VERSION != _IEEE_)
     /* j1(|x|>X_TLOSS) */
     return __kernel_standard (x, x, 36);
 
@@ -41,7 +42,8 @@
 double
 y1 (double x)
 {
-  if (__builtin_expect (x <= 0.0 || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
+      && _LIB_VERSION != _IEEE_)
     {
       if (x < 0.0)
 	{

Modified: branches/eglibc-2_15/libc/math/w_j1f.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_j1f.c (original)
+++ branches/eglibc-2_15/libc/math/w_j1f.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,8 @@
 float
 j1f (float x)
 {
-  if (__builtin_expect (fabsf (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreater (fabsf (x), X_TLOSS), 0)
+      && _LIB_VERSION != _IEEE_)
     /* j1(|x|>X_TLOSS) */
     return __kernel_standard_f (x, x, 136);
 
@@ -38,7 +39,8 @@
 float
 y1f (float x)
 {
-  if (__builtin_expect (x <= 0.0f || x > (float) X_TLOSS, 0)
+  if (__builtin_expect (islessequal (x, 0.0f)
+			|| isgreater (x, (float) X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_)
     {
       if (x < 0.0f)

Modified: branches/eglibc-2_15/libc/math/w_j1l.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_j1l.c (original)
+++ branches/eglibc-2_15/libc/math/w_j1l.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,8 @@
 long double
 __j1l (long double x)
 {
-  if (__builtin_expect (fabsl (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreater (fabsl (x), X_TLOSS), 0)
+      && _LIB_VERSION != _IEEE_)
     /* j1(|x|>X_TLOSS) */
     return __kernel_standard (x, x, 236);
 
@@ -39,7 +40,8 @@
 long double
 __y1l (long double x)
 {
-  if (__builtin_expect (x <= 0.0L || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0L) || isgreater (x, X_TLOSS), 0)
+      && _LIB_VERSION != _IEEE_)
     {
       if (x < 0.0L)
 	{

Modified: branches/eglibc-2_15/libc/math/w_jn.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_jn.c (original)
+++ branches/eglibc-2_15/libc/math/w_jn.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,8 @@
 double
 jn (int n, double x)
 {
-  if (__builtin_expect (fabs (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
+      && _LIB_VERSION != _IEEE_)
     /* jn(n,|x|>X_TLOSS) */
     return __kernel_standard (n, x, 38);
 
@@ -41,7 +42,8 @@
 double
 yn (int n, double x)
 {
-  if (__builtin_expect (x <= 0.0 || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
+      && _LIB_VERSION != _IEEE_)
     {
       if (x < 0.0)
 	{

Modified: branches/eglibc-2_15/libc/math/w_jnf.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_jnf.c (original)
+++ branches/eglibc-2_15/libc/math/w_jnf.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,7 @@
 float
 jnf (int n, float x)
 {
-  if (__builtin_expect (fabsf (x) > (float) X_TLOSS, 0)
+  if (__builtin_expect (isgreater (fabsf (x), (float) X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_)
     /* jn(n,|x|>X_TLOSS) */
     return __kernel_standard_f (n, x, 138);
@@ -39,7 +39,8 @@
 float
 ynf (int n, float x)
 {
-  if (__builtin_expect (x <= 0.0f || x > (float) X_TLOSS, 0)
+  if (__builtin_expect (islessequal (x, 0.0f)
+			|| isgreater (x, (float) X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_)
     {
       if (x < 0.0f)

Modified: branches/eglibc-2_15/libc/math/w_log.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_log.c (original)
+++ branches/eglibc-2_15/libc/math/w_log.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,7 @@
 double
 __log (double x)
 {
-  if (__builtin_expect (x <= 0.0, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0), 0) && _LIB_VERSION != _IEEE_)
     {
       if (x == 0.0)
 	{

Modified: branches/eglibc-2_15/libc/math/w_log10.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_log10.c (original)
+++ branches/eglibc-2_15/libc/math/w_log10.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,7 @@
 double
 __log10 (double x)
 {
-  if (__builtin_expect (x <= 0.0, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0), 0) && _LIB_VERSION != _IEEE_)
     {
       if (x == 0.0)
 	{

Modified: branches/eglibc-2_15/libc/math/w_log10f.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_log10f.c (original)
+++ branches/eglibc-2_15/libc/math/w_log10f.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,7 @@
 float
 __log10f (float x)
 {
-  if (__builtin_expect (x <= 0.0f, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0f), 0) && _LIB_VERSION != _IEEE_)
     {
       if (x == 0.0f)
 	{

Modified: branches/eglibc-2_15/libc/math/w_log10l.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_log10l.c (original)
+++ branches/eglibc-2_15/libc/math/w_log10l.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,7 @@
 long double
 __log10l (long double x)
 {
-  if (__builtin_expect (x <= 0.0L, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0L), 0) && _LIB_VERSION != _IEEE_)
     {
       if (x == 0.0L)
 	{

Modified: branches/eglibc-2_15/libc/math/w_log2.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_log2.c (original)
+++ branches/eglibc-2_15/libc/math/w_log2.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,7 @@
 double
 __log2 (double x)
 {
-  if (__builtin_expect (x <= 0.0, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0), 0) && _LIB_VERSION != _IEEE_)
     {
       if (x == 0.0)
 	{

Modified: branches/eglibc-2_15/libc/math/w_log2f.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_log2f.c (original)
+++ branches/eglibc-2_15/libc/math/w_log2f.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,7 @@
 float
 __log2f (float x)
 {
-  if (__builtin_expect (x <= 0.0f, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0f), 0) && _LIB_VERSION != _IEEE_)
     {
       if (x == 0.0)
 	{

Modified: branches/eglibc-2_15/libc/math/w_log2l.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_log2l.c (original)
+++ branches/eglibc-2_15/libc/math/w_log2l.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,7 @@
 long double
 __log2l (long double x)
 {
-  if (__builtin_expect (x <= 0.0L, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0L), 0) && _LIB_VERSION != _IEEE_)
     {
       if (x == 0.0L)
 	{

Modified: branches/eglibc-2_15/libc/math/w_logf.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_logf.c (original)
+++ branches/eglibc-2_15/libc/math/w_logf.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,7 @@
 float
 __logf (float x)
 {
-  if (__builtin_expect (x <= 0.0f, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0f), 0) && _LIB_VERSION != _IEEE_)
     {
       if (x == 0.0f)
 	{

Modified: branches/eglibc-2_15/libc/math/w_logl.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_logl.c (original)
+++ branches/eglibc-2_15/libc/math/w_logl.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,7 @@
 long double
 __logl (long double x)
 {
-  if (__builtin_expect (x <= 0.0L, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (islessequal (x, 0.0L), 0) && _LIB_VERSION != _IEEE_)
     {
       if (x == 0.0L)
 	{

Modified: branches/eglibc-2_15/libc/math/w_sqrt.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_sqrt.c (original)
+++ branches/eglibc-2_15/libc/math/w_sqrt.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -25,7 +25,7 @@
 double
 __sqrt (double x)
 {
-  if (__builtin_expect (x < 0.0, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isless (x, 0.0), 0) && _LIB_VERSION != _IEEE_)
     return __kernel_standard (x, x, 26); /* sqrt(negative) */
 
   return __ieee754_sqrt (x);

Modified: branches/eglibc-2_15/libc/math/w_sqrtf.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_sqrtf.c (original)
+++ branches/eglibc-2_15/libc/math/w_sqrtf.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -25,7 +25,7 @@
 float
 __sqrtf (float x)
 {
-  if (__builtin_expect (x < 0.0f, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isless (x, 0.0f), 0) && _LIB_VERSION != _IEEE_)
     return __kernel_standard_f (x, x, 126); /* sqrt(negative) */
 
   return __ieee754_sqrtf (x);

Modified: branches/eglibc-2_15/libc/math/w_sqrtl.c
==============================================================================
--- branches/eglibc-2_15/libc/math/w_sqrtl.c (original)
+++ branches/eglibc-2_15/libc/math/w_sqrtl.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -25,7 +25,7 @@
 long double
 __sqrtl (long double x)
 {
-  if (__builtin_expect (x < 0.0L, 0) && _LIB_VERSION != _IEEE_)
+  if (__builtin_expect (isless (x, 0.0L), 0) && _LIB_VERSION != _IEEE_)
     return __kernel_standard (x, x, 226); /* sqrt(negative) */
 
   return __ieee754_sqrtl (x);

Modified: branches/eglibc-2_15/libc/nptl/ChangeLog
==============================================================================
--- branches/eglibc-2_15/libc/nptl/ChangeLog (original)
+++ branches/eglibc-2_15/libc/nptl/ChangeLog Fri May  4 19:35:36 2012
@@ -1,3 +1,8 @@
+2012-04-22  Carlos O'Donell  <carlos_odonell@xxxxxxxxxx>
+
+	[BZ #411]
+	* sysdeps/pthread/pt-initfini.c: Redefine __i686.
+
 2011-12-22  Ulrich Drepper  <drepper@xxxxxxxxx>
 
 	* sysdeps/pthread/gai_misc.h (__gai_create_helper_thread): Use

Modified: branches/eglibc-2_15/libc/sysdeps/i386/fpu/feupdateenv.c
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/i386/fpu/feupdateenv.c (original)
+++ branches/eglibc-2_15/libc/sysdeps/i386/fpu/feupdateenv.c Fri May  4 19:35:36 2012
@@ -1,5 +1,5 @@
 /* Install given floating-point environment and raise exceptions.
-   Copyright (C) 1997,99,2000,01,07,2010 Free Software Foundation, Inc.
+   Copyright (C) 1997,99,2000,01,07,2010,2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
 
@@ -45,7 +45,7 @@
   /* Raise the saved exception.  Incidently for us the implementation
      defined format of the values in objects of type fexcept_t is the
      same as the ones specified using the FE_* constants.  */
-  feraiseexcept ((int) temp);
+  __feraiseexcept ((int) temp);
 
   /* Success.  */
   return 0;

Modified: branches/eglibc-2_15/libc/sysdeps/i386/fpu/libm-test-ulps
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/i386/fpu/libm-test-ulps (original)
+++ branches/eglibc-2_15/libc/sysdeps/i386/fpu/libm-test-ulps Fri May  4 19:35:36 2012
@@ -645,47 +645,45 @@
 ifloat: 1
 double: 1
 idouble: 1
-ldouble: 82
-ildouble: 82
+ldouble: 1
+ildouble: 1
 Test "jn (3, 2.4048255576957729) == 0.19899990535769083404042146764530813":
-ldouble: 186
-ildouble: 186
+ldouble: 1
+ildouble: 1
 Test "jn (4, 2.4048255576957729) == 0.647466661641779720084932282551219891E-1":
-ldouble: 185
-ildouble: 185
+ldouble: 2
+ildouble: 2
 Test: "jn (5, 2.4048255576957729) == 0.163892432048058525099230549946147698E-1":
 float: 1
 ifloat: 1
 double: 1
 idouble: 1
-ldouble: 249
-ildouble: 249
+ldouble: 3
+ildouble: 3
 Test "jn (6, 2.4048255576957729) == 0.34048184720278336646673682895929161E-2":
 float: 2
 ifloat: 2
 double: 1
 idouble: 1
-ldouble: 511
-ildouble: 511
+ldouble: 1
+ildouble: 1
 Test "jn (7, 2.4048255576957729) == 0.60068836573295394221291569249883076E-3":
 float: 2
 ifloat: 2
 double: 1
 idouble: 1
-ldouble: 428
-ildouble: 428
 Test "jn (8, 2.4048255576957729) == 0.92165786705344923232879022467054148E-4":
 float: 3
 ifloat: 3
 double: 1
 idouble: 1
-ldouble: 609
-ildouble: 609
+ldouble: 2
+ildouble: 2
 Test "jn (9, 2.4048255576957729) == 0.12517270977961513005428966643852564E-4":
 float: 4
 ifloat: 4
-ldouble: 750
-ildouble: 750
+ldouble: 2
+ildouble: 2
 
 # lgamma
 Test "lgamma (-0.5) == log(2*sqrt(pi))":
@@ -1217,8 +1215,8 @@
 float: 4
 idouble: 5
 ifloat: 4
-ildouble: 750
-ldouble: 750
+ildouble: 3
+ldouble: 3
 
 Function: "lgamma":
 double: 1

Modified: branches/eglibc-2_15/libc/sysdeps/ieee754/dbl-64/e_atanh.c
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/ieee754/dbl-64/e_atanh.c (original)
+++ branches/eglibc-2_15/libc/sysdeps/ieee754/dbl-64/e_atanh.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -47,7 +47,7 @@
 {
   double xa = fabs (x);
   double t;
-  if (xa < 0.5)
+  if (isless (xa, 0.5))
     {
       if (__builtin_expect (xa < 0x1.0p-28, 0))
 	{
@@ -58,11 +58,11 @@
       t = xa + xa;
       t = 0.5 * __log1p (t + t * xa / (1.0 - xa));
     }
-  else if (__builtin_expect (xa < 1.0, 1))
+  else if (__builtin_expect (isless (xa, 1.0), 1))
     t = 0.5 * __log1p ((xa + xa) / (1.0 - xa));
   else
     {
-      if (xa > 1.0)
+      if (isgreater (xa, 1.0))
 	return (x - x) / (x - x);
 
       return x / 0.0;

Modified: branches/eglibc-2_15/libc/sysdeps/ieee754/dbl-64/w_exp.c
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/ieee754/dbl-64/w_exp.c (original)
+++ branches/eglibc-2_15/libc/sysdeps/ieee754/dbl-64/w_exp.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -29,12 +29,12 @@
 double
 __exp (double x)
 {
-  if (__builtin_expect (x > o_threshold, 0))
+  if (__builtin_expect (isgreater (x, o_threshold), 0))
     {
       if (_LIB_VERSION != _IEEE_)
 	return __kernel_standard_f (x, x, 6);
     }
-  else if (__builtin_expect (x < u_threshold, 0))
+  else if (__builtin_expect (isless (x, u_threshold), 0))
     {
       if (_LIB_VERSION != _IEEE_)
 	return __kernel_standard_f (x, x, 7);

Modified: branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/e_atanhf.c
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/e_atanhf.c (original)
+++ branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/e_atanhf.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -47,7 +47,7 @@
 {
   float xa = fabsf (x);
   float t;
-  if (xa < 0.5f)
+  if (isless (xa, 0.5f))
     {
       if (__builtin_expect (xa < 0x1.0p-28f, 0))
 	{
@@ -58,11 +58,11 @@
       t = xa + xa;
       t = 0.5f * __log1pf (t + t * xa / (1.0f - xa));
     }
-  else if (__builtin_expect (xa < 1.0f, 1))
+  else if (__builtin_expect (isless (xa, 1.0f), 1))
     t = 0.5f * __log1pf ((xa + xa) / (1.0f - xa));
   else
     {
-      if (xa > 1.0f)
+      if (isgreater (xa, 1.0f))
 	return (x - x) / (x - x);
 
       return x / 0.0f;

Modified: branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/s_nearbyintf.c
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/s_nearbyintf.c (original)
+++ branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/s_nearbyintf.c Fri May  4 19:35:36 2012
@@ -30,18 +30,12 @@
 {
 	fenv_t env;
 	int32_t i0,j0,sx;
-	u_int32_t i,i1;
 	float w,t;
 	GET_FLOAT_WORD(i0,x);
 	sx = (i0>>31)&1;
 	j0 = ((i0>>23)&0xff)-0x7f;
 	if(j0<23) {
 	    if(j0<0) {
-		if((i0&0x7fffffff)==0) return x;
-		i1 = (i0&0x07fffff);
-		i0 &= 0xfff00000;
-		i0 |= ((i1|-i1)>>9)&0x400000;
-		SET_FLOAT_WORD(x,i0);
 		libc_feholdexceptf (&env);
 		w = TWO23[sx]+x;
 		t =  w-TWO23[sx];
@@ -49,17 +43,11 @@
 		GET_FLOAT_WORD(i0,t);
 		SET_FLOAT_WORD(t,(i0&0x7fffffff)|(sx<<31));
 		return t;
-	    } else {
-		i = (0x007fffff)>>j0;
-		if((i0&i)==0) return x; /* x is integral */
-		i>>=1;
-		if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0);
 	    }
 	} else {
 	    if(__builtin_expect(j0==0x80, 0)) return x+x;	/* inf or NaN */
 	    else return x;		/* x is integral */
 	}
-	SET_FLOAT_WORD(x,i0);
 	libc_feholdexceptf (&env);
 	w = TWO23[sx]+x;
 	t = w-TWO23[sx];

Modified: branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/s_rintf.c
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/s_rintf.c (original)
+++ branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/s_rintf.c Fri May  4 19:35:36 2012
@@ -26,34 +26,22 @@
 __rintf(float x)
 {
 	int32_t i0,j0,sx;
-	u_int32_t i,i1;
 	float w,t;
 	GET_FLOAT_WORD(i0,x);
 	sx = (i0>>31)&1;
 	j0 = ((i0>>23)&0xff)-0x7f;
 	if(j0<23) {
 	    if(j0<0) {
-		if((i0&0x7fffffff)==0) return x;
-		i1 = (i0&0x07fffff);
-		i0 &= 0xfff00000;
-		i0 |= ((i1|-i1)>>9)&0x400000;
-		SET_FLOAT_WORD(x,i0);
 		w = TWO23[sx]+x;
 		t =  w-TWO23[sx];
 		GET_FLOAT_WORD(i0,t);
 		SET_FLOAT_WORD(t,(i0&0x7fffffff)|(sx<<31));
 		return t;
-	    } else {
-		i = (0x007fffff)>>j0;
-		if((i0&i)==0) return x; /* x is integral */
-		i>>=1;
-		if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0);
 	    }
 	} else {
 	    if(j0==0x80) return x+x;	/* inf or NaN */
 	    else return x;		/* x is integral */
 	}
-	SET_FLOAT_WORD(x,i0);
 	w = TWO23[sx]+x;
 	return w-TWO23[sx];
 }

Modified: branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/w_expf.c
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/w_expf.c (original)
+++ branches/eglibc-2_15/libc/sysdeps/ieee754/flt-32/w_expf.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -29,12 +29,12 @@
 float
 __expf (float x)
 {
-  if (__builtin_expect (x > o_threshold, 0))
+  if (__builtin_expect (isgreater (x, o_threshold), 0))
     {
       if (_LIB_VERSION != _IEEE_)
 	return __kernel_standard_f (x, x, 106);
     }
-  else if (__builtin_expect (x < u_threshold, 0))
+  else if (__builtin_expect (isless (x, u_threshold), 0))
     {
       if (_LIB_VERSION != _IEEE_)
 	return __kernel_standard_f (x, x, 107);

Modified: branches/eglibc-2_15/libc/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/ieee754/ldbl-128/s_nearbyintl.c (original)
+++ branches/eglibc-2_15/libc/sysdeps/ieee754/ldbl-128/s_nearbyintl.c Fri May  4 19:35:36 2012
@@ -46,18 +46,13 @@
 {
 	fenv_t env;
 	int64_t i0,j0,sx;
-	u_int64_t i,i1;
+	u_int64_t i1;
 	long double w,t;
 	GET_LDOUBLE_WORDS64(i0,i1,x);
 	sx = (((u_int64_t)i0)>>63);
 	j0 = ((i0>>48)&0x7fff)-0x3fff;
-	if(j0<48) {
+	if(j0<112) {
 	    if(j0<0) {
-		if(((i0&0x7fffffffffffffffLL)|i1)==0) return x;
-		i1 |= (i0&0x0000ffffffffffffLL);
-		i0 &= 0xffffe00000000000ULL;
-		i0 |= ((i1|-i1)>>16)&0x0000800000000000LL;
-		SET_LDOUBLE_MSW64(x,i0);
 		feholdexcept (&env);
 	        w = TWO112[sx]+x;
 	        t = w-TWO112[sx];
@@ -65,25 +60,11 @@
 		GET_LDOUBLE_MSW64(i0,t);
 		SET_LDOUBLE_MSW64(t,(i0&0x7fffffffffffffffLL)|(sx<<63));
 	        return t;
-	    } else {
-		i = (0x0000ffffffffffffLL)>>j0;
-		if(((i0&i)|i1)==0) return x; /* x is integral */
-		i>>=1;
-		if(((i0&i)|i1)!=0) {
-		    if(j0==47) i1 = 0x4000000000000000ULL; else
-		    i0 = (i0&(~i))|((0x0000200000000000LL)>>j0);
-		}
 	    }
-	} else if (j0>111) {
+	} else {
 	    if(j0==0x4000) return x+x;	/* inf or NaN */
 	    else return x;		/* x is integral */
-	} else {
-	    i = -1ULL>>(j0-48);
-	    if((i1&i)==0) return x;	/* x is integral */
-	    i>>=1;
-	    if((i1&i)!=0) i1 = (i1&(~i))|((0x4000000000000000LL)>>(j0-48));
 	}
-	SET_LDOUBLE_WORDS64(x,i0,i1);
 	feholdexcept (&env);
 	w = TWO112[sx]+x;
 	t = w-TWO112[sx];

Modified: branches/eglibc-2_15/libc/sysdeps/ieee754/ldbl-128/s_rintl.c
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/ieee754/ldbl-128/s_rintl.c (original)
+++ branches/eglibc-2_15/libc/sysdeps/ieee754/ldbl-128/s_rintl.c Fri May  4 19:35:36 2012
@@ -48,42 +48,23 @@
 #endif
 {
 	int64_t i0,j0,sx;
-	u_int64_t i,i1;
+	u_int64_t i1;
 	long double w,t;
 	GET_LDOUBLE_WORDS64(i0,i1,x);
 	sx = (((u_int64_t)i0)>>63);
 	j0 = ((i0>>48)&0x7fff)-0x3fff;
-	if(j0<48) {
+	if(j0<112) {
 	    if(j0<0) {
-		if(((i0&0x7fffffffffffffffLL)|i1)==0) return x;
-		i1 |= (i0&0x0000ffffffffffffLL);
-		i0 &= 0xffffe00000000000ULL;
-		i0 |= ((i1|-i1)>>16)&0x0000800000000000LL;
-		SET_LDOUBLE_MSW64(x,i0);
 	        w = TWO112[sx]+x;
 	        t = w-TWO112[sx];
 		GET_LDOUBLE_MSW64(i0,t);
 		SET_LDOUBLE_MSW64(t,(i0&0x7fffffffffffffffLL)|(sx<<63));
 	        return t;
-	    } else {
-		i = (0x0000ffffffffffffLL)>>j0;
-		if(((i0&i)|i1)==0) return x; /* x is integral */
-		i>>=1;
-		if(((i0&i)|i1)!=0) {
-		    if(j0==47) i1 = 0x4000000000000000ULL; else
-		    i0 = (i0&(~i))|((0x0000200000000000LL)>>j0);
-		}
 	    }
-	} else if (j0>111) {
+	} else {
 	    if(j0==0x4000) return x+x;	/* inf or NaN */
 	    else return x;		/* x is integral */
-	} else {
-	    i = -1ULL>>(j0-48);
-	    if((i1&i)==0) return x;	/* x is integral */
-	    i>>=1;
-	    if((i1&i)!=0) i1 = (i1&(~i))|((0x4000000000000000LL)>>(j0-48));
 	}
-	SET_LDOUBLE_WORDS64(x,i0,i1);
 	w = TWO112[sx]+x;
 	return w-TWO112[sx];
 }

Modified: branches/eglibc-2_15/libc/sysdeps/ieee754/ldbl-96/w_expl.c
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/ieee754/ldbl-96/w_expl.c (original)
+++ branches/eglibc-2_15/libc/sysdeps/ieee754/ldbl-96/w_expl.c Fri May  4 19:35:36 2012
@@ -1,4 +1,4 @@
-/* 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 Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -31,12 +31,12 @@
 long double
 __expl (long double x)
 {
-  if (__builtin_expect (x > o_threshold, 0))
+  if (__builtin_expect (isgreater (x, o_threshold), 0))
     {
       if (_LIB_VERSION != _IEEE_)
 	return __kernel_standard (x, x, 206);
     }
-  else if (__builtin_expect (x < u_threshold, 0))
+  else if (__builtin_expect (isless (x, u_threshold), 0))
     {
       if (_LIB_VERSION != _IEEE_)
 	return __kernel_standard (x, x, 207);

Modified: branches/eglibc-2_15/libc/sysdeps/sparc/sparc32/fpu/libm-test-ulps
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/sparc/sparc32/fpu/libm-test-ulps (original)
+++ branches/eglibc-2_15/libc/sysdeps/sparc/sparc32/fpu/libm-test-ulps Fri May  4 19:35:36 2012
@@ -652,6 +652,13 @@
 Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
 float: 4
 ifloat: 4
+Test "jn (2, 2.4048255576957729) == 0.43175480701968038399746111312430703":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 1
+ldouble: 1
 Test "jn (3, 0.125) == 0.406503832554912875023029337653442868e-4":
 double: 1
 float: 1
@@ -674,6 +681,51 @@
 float: 2
 idouble: 1
 ifloat: 2
+Test "jn (3, 2.4048255576957729) == 0.19899990535769083404042146764530813":
+double: 3
+idouble: 3
+ildouble: 1
+ldouble: 1
+Test "jn (4, 2.4048255576957729) == 0.647466661641779720084932282551219891E-1":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (5, 2.4048255576957729) == 0.163892432048058525099230549946147698E-1":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "jn (6, 2.4048255576957729) == 0.34048184720278336646673682895929161E-2":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 5
+ldouble: 5
+Test "jn (7, 2.4048255576957729) == 0.60068836573295394221291569249883076E-3":
+double: 3
+float: 5
+idouble: 3
+ifloat: 5
+ildouble: 3
+ldouble: 3
+Test "jn (8, 2.4048255576957729) == 0.92165786705344923232879022467054148E-4":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+ildouble: 8
+ldouble: 8
+Test "jn (9, 2.4048255576957729) == 0.12517270977961513005428966643852564E-4":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+ildouble: 3
+ldouble: 3
 
 # lgamma
 Test "lgamma (-0.5) == log(2*sqrt(pi))":
@@ -1237,9 +1289,9 @@
 double: 4
 float: 4
 idouble: 4
-ifloat: 4
-ildouble: 4
-ldouble: 4
+ifloat: 5
+ildouble: 8
+ldouble: 8
 
 Function: "lgamma":
 double: 1

Modified: branches/eglibc-2_15/libc/sysdeps/sparc/sparc64/fpu/libm-test-ulps
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/sparc/sparc64/fpu/libm-test-ulps (original)
+++ branches/eglibc-2_15/libc/sysdeps/sparc/sparc64/fpu/libm-test-ulps Fri May  4 19:35:36 2012
@@ -652,6 +652,13 @@
 Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
 float: 4
 ifloat: 4
+Test "jn (2, 2.4048255576957729) == 0.43175480701968038399746111312430703":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 1
+ldouble: 1
 Test "jn (3, 0.125) == 0.406503832554912875023029337653442868e-4":
 double: 1
 float: 1
@@ -674,6 +681,51 @@
 float: 2
 idouble: 1
 ifloat: 2
+Test "jn (3, 2.4048255576957729) == 0.19899990535769083404042146764530813":
+double: 3
+idouble: 3
+ildouble: 1
+ldouble: 1
+Test "jn (4, 2.4048255576957729) == 0.647466661641779720084932282551219891E-1":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (5, 2.4048255576957729) == 0.163892432048058525099230549946147698E-1":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "jn (6, 2.4048255576957729) == 0.34048184720278336646673682895929161E-2":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 5
+ldouble: 5
+Test "jn (7, 2.4048255576957729) == 0.60068836573295394221291569249883076E-3":
+double: 3
+float: 5
+idouble: 3
+ifloat: 5
+ildouble: 3
+ldouble: 3
+Test "jn (8, 2.4048255576957729) == 0.92165786705344923232879022467054148E-4":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+ildouble: 8
+ldouble: 8
+Test "jn (9, 2.4048255576957729) == 0.12517270977961513005428966643852564E-4":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+ildouble: 3
+ldouble: 3
 
 # lgamma
 Test "lgamma (-0.5) == log(2*sqrt(pi))":
@@ -1237,9 +1289,9 @@
 double: 4
 float: 4
 idouble: 4
-ifloat: 4
-ildouble: 4
-ldouble: 4
+ifloat: 5
+ildouble: 8
+ldouble: 8
 
 Function: "lgamma":
 double: 1

Modified: branches/eglibc-2_15/libc/sysdeps/unix/sysv/linux/internal_statvfs.c
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/unix/sysv/linux/internal_statvfs.c (original)
+++ branches/eglibc-2_15/libc/sysdeps/unix/sysv/linux/internal_statvfs.c Fri May  4 19:35:36 2012
@@ -29,7 +29,7 @@
 #include <sys/statfs.h>
 #include <sys/statvfs.h>
 #include "linux_fsinfo.h"
-#include "kernel-features.h"
+#include <kernel-features.h>
 
 
 /* Special internal-only bit value.  */

Modified: branches/eglibc-2_15/libc/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (original)
+++ branches/eglibc-2_15/libc/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h Fri May  4 19:35:36 2012
@@ -40,6 +40,7 @@
 #define O_TRUNC		0x0400	/* not fcntl */
 #define O_EXCL		0x0800	/* not fcntl */
 #define O_SYNC		0x802000
+#define O_FSYNC		O_SYNC
 #define O_NONBLOCK	0x4000
 #define O_NDELAY	(0x0004 | O_NONBLOCK)
 #define O_NOCTTY	0x8000	/* not fcntl */

Modified: branches/eglibc-2_15/libc/sysdeps/x86_64/fpu/libm-test-ulps
==============================================================================
--- branches/eglibc-2_15/libc/sysdeps/x86_64/fpu/libm-test-ulps (original)
+++ branches/eglibc-2_15/libc/sysdeps/x86_64/fpu/libm-test-ulps Fri May  4 19:35:36 2012
@@ -671,8 +671,8 @@
 float: 1
 idouble: 2
 ifloat: 1
-ildouble: 82
-ldouble: 82
+ildouble: 1
+ldouble: 1
 Test "jn (3, -1.0) == -0.0195633539826684059189053216217515083":
 ildouble: 1
 ldouble: 1
@@ -706,48 +706,46 @@
 Test "jn (3, 2.4048255576957729) == 0.19899990535769083404042146764530813":
 double: 3
 idouble: 3
-ildouble: 186
-ldouble: 186
+ildouble: 1
+ldouble: 1
 Test "jn (4, 2.4048255576957729) == 0.647466661641779720084932282551219891E-1":
 double: 1
 idouble: 1
-ildouble: 185
-ldouble: 185
+ildouble: 2
+ldouble: 2
 Test "jn (5, 2.4048255576957729) == 0.163892432048058525099230549946147698E-1":
 double: 3
 float: 1
 idouble: 3
 ifloat: 1
-ildouble: 249
-ldouble: 249
+ildouble: 3
+ldouble: 3
 Test "jn (6, 2.4048255576957729) == 0.34048184720278336646673682895929161E-2":
 double: 4
 float: 3
 idouble: 4
 ifloat: 3
-ildouble: 511
-ldouble: 511
+ildouble: 1
+ldouble: 1
 Test "jn (7, 2.4048255576957729) == 0.60068836573295394221291569249883076E-3":
 double: 3
 float: 5
 idouble: 3
 ifloat: 5
-ildouble: 428
-ldouble: 428
 Test "jn (8, 2.4048255576957729) == 0.92165786705344923232879022467054148E-4":
 double: 3
 float: 2
 idouble: 3
 ifloat: 2
-ildouble: 609
-ldouble: 609
+ildouble: 2
+ldouble: 2
 Test "jn (9, 2.4048255576957729) == 0.12517270977961513005428966643852564E-4":
 double: 1
 float: 2
 idouble: 1
 ifloat: 2
-ildouble: 750
-ldouble: 750
+ildouble: 2
+ldouble: 2
 
 # lgamma
 Test "lgamma (-0.5) == log(2*sqrt(pi))":
@@ -1296,8 +1294,8 @@
 float: 5
 idouble: 4
 ifloat: 5
-ildouble: 750
-ldouble: 750
+ildouble: 3
+ldouble: 3
 
 Function: "lgamma":
 double: 1

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits