]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Use the GCC builtin functions for the non-inlined signbit implementations.
authorWilco Dijkstra <wdijkstr@arm.com>
Fri, 18 Sep 2015 15:39:08 +0000 (16:39 +0100)
committerWilco Dijkstra <wdijkstr@arm.com>
Fri, 18 Sep 2015 15:39:08 +0000 (16:39 +0100)
2015-09-18  Wilco Dijkstra  <wdijkstr@arm.com>

        * sysdeps/ieee754/dbl-64/s_signbit.c (__signbit):
        Use __builtin_signbit.
        * sysdeps/ieee754/flt-32/s_signbitf.c (__signbitf):
        Use __builtin_signbitf.
        * sysdeps/ieee754/ldbl-128/s_signbitl.c (__signbitl):
        Use __builtin_signbitl.
        * sysdeps/ieee754/ldbl-128ibm/s_signbitl.c (___signbitl): Likewise.
        * sysdeps/ieee754/ldbl-96/s_signbitl.c (__signbitl): Likewise.

ChangeLog
sysdeps/ieee754/dbl-64/s_signbit.c
sysdeps/ieee754/flt-32/s_signbitf.c
sysdeps/ieee754/ldbl-128/s_signbitl.c
sysdeps/ieee754/ldbl-128ibm/s_signbitl.c
sysdeps/ieee754/ldbl-96/s_signbitl.c

index c6216c982bb9e2918623a90fd06277df61ee41f4..72605d4631813a1966a7f6ee81f9e2d41037197a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2015-09-18  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * sysdeps/ieee754/dbl-64/s_signbit.c (__signbit):
+       Use __builtin_signbit.
+       * sysdeps/ieee754/flt-32/s_signbitf.c (__signbitf):
+       Use __builtin_signbitf.
+       * sysdeps/ieee754/ldbl-128/s_signbitl.c (__signbitl):
+       Use __builtin_signbitl.
+       * sysdeps/ieee754/ldbl-128ibm/s_signbitl.c (___signbitl): Likewise.
+       * sysdeps/ieee754/ldbl-96/s_signbitl.c (__signbitl): Likewise.
+
 2015-09-18  Wilco Dijkstra  <wdijkstr@arm.com>
 
        [BZ #15367]
index 764f11a2d23e8d9c9c8b0d83cf069319d4df77c0..91797eecdd9c39300fc1c5e24a1b1f0221c37dd9 100644 (file)
 
 #include <math.h>
 
-#include <math_private.h>
-
 int
 __signbit (double x)
 {
-  int32_t hx;
-
-  GET_HIGH_WORD (hx, x);
-  return hx & 0x80000000;
+  return __builtin_signbit (x);
 }
index 169820e9df8baad0ac24931ce638bca5d9821a52..034c17529ca310aef57648f0f906cbd9f0fe93fa 100644 (file)
 
 #include <math.h>
 
-#include <math_private.h>
-
 int
 __signbitf (float x)
 {
-  int32_t hx;
-
-  GET_FLOAT_WORD (hx, x);
-  return hx & 0x80000000;
+  return __builtin_signbitf (x);
 }
index acfe859a2e469e71392b44031a4046cbca1c0e28..ea689a6fe55e2a9083dd3b51fe957981df9cdb31 100644 (file)
 
 #include <math.h>
 
-#include <math_private.h>
-
 int
 __signbitl (long double x)
 {
-  int64_t e;
-
-  GET_LDOUBLE_MSW64 (e, x);
-  return e < 0;
+  return __builtin_signbitl (x);
 }
index e95ad55e32a9859a114d536f74522509624f50eb..5e2bd90704de869326a2e4e72212a7114226b253 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <math.h>
-#include <math_private.h>
 #include <math_ldbl_opt.h>
 
 int
 ___signbitl (long double x)
 {
-  int64_t e;
-  double xhi;
-
-  xhi = ldbl_high (x);
-  EXTRACT_WORDS64 (e, xhi);
-  return e < 0;
+  return __builtin_signbitl (x);
 }
 #if IS_IN (libm)
 long_double_symbol (libm, ___signbitl, __signbitl);
index bbe72a62eaf94a89156faaa7afebd7b1fef132f1..ea689a6fe55e2a9083dd3b51fe957981df9cdb31 100644 (file)
 
 #include <math.h>
 
-#include <math_private.h>
-
 int
 __signbitl (long double x)
 {
-  int32_t e;
-
-  GET_LDOUBLE_EXP (e, x);
-  return e & 0x8000;
+  return __builtin_signbitl (x);
 }