Message ID | 001501d0e72b$8da141f0$a8e3c5d0$@com |
---|---|
State | New |
Headers | show |
On Fri, 4 Sep 2015, Wilco Dijkstra wrote: > ChangeLog: > 2015-08-20 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-96/s_signbitl.c (__signbitl): Likewise. OK with the ChangeLog fixed to include the ldbl-128ibm changes as well.
diff --git a/sysdeps/ieee754/dbl-64/s_signbit.c b/sysdeps/ieee754/dbl-64/s_signbit.c index 764f11a..91797ee 100644 --- a/sysdeps/ieee754/dbl-64/s_signbit.c +++ b/sysdeps/ieee754/dbl-64/s_signbit.c @@ -19,13 +19,8 @@ #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); } diff --git a/sysdeps/ieee754/flt-32/s_signbitf.c b/sysdeps/ieee754/flt-32/s_signbitf.c index 169820e..034c175 100644 --- a/sysdeps/ieee754/flt-32/s_signbitf.c +++ b/sysdeps/ieee754/flt-32/s_signbitf.c @@ -19,13 +19,8 @@ #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); } diff --git a/sysdeps/ieee754/ldbl-128/s_signbitl.c b/sysdeps/ieee754/ldbl-128/s_signbitl.c index acfe859..ea689a6 100644 --- a/sysdeps/ieee754/ldbl-128/s_signbitl.c +++ b/sysdeps/ieee754/ldbl-128/s_signbitl.c @@ -19,13 +19,8 @@ #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); } diff --git a/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c b/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c index e95ad55..5e2bd90 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c @@ -18,18 +18,12 @@ <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); diff --git a/sysdeps/ieee754/ldbl-96/s_signbitl.c b/sysdeps/ieee754/ldbl-96/s_signbitl.c index bbe72a6..ea689a6 100644 --- a/sysdeps/ieee754/ldbl-96/s_signbitl.c +++ b/sysdeps/ieee754/ldbl-96/s_signbitl.c @@ -19,13 +19,8 @@ #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); }