Message ID | 000701d0947d$22cc6db0$68654910$@com |
---|---|
State | New |
Headers | show |
On Fri, 22 May 2015, Wilco Dijkstra wrote: > Since GLIBC is built with a modern GCC which always inlines > __builtin_fabs, it is safe to use the builtin for the definitions of > fabs and fabsf (fabsl is typically emulated and unsafe in some cases, > see https://sourceware.org/ml/libc-alpha/2015-05/msg00336.html). This > means targets no longer need to define their own implementations. > > OK for commit? OK if you've at least run the math/ tests with clean results for at least one configuration.
diff --git a/sysdeps/ieee754/dbl-64/s_fabs.c b/sysdeps/ieee754/dbl-64/s_fabs.c index c82c421..73c09a2 100644 --- a/sysdeps/ieee754/dbl-64/s_fabs.c +++ b/sysdeps/ieee754/dbl-64/s_fabs.c @@ -19,15 +19,11 @@ static char rcsid[] = "$NetBSD: s_fabs.c,v 1.7 1995/05/10 20:47:13 jtc Exp $"; */ #include <math.h> -#include <math_private.h> double __fabs (double x) { - u_int32_t high; - GET_HIGH_WORD (high, x); - SET_HIGH_WORD (x, high & 0x7fffffff); - return x; + return __builtin_fabs (x); } weak_alias (__fabs, fabs) #ifdef NO_LONG_DOUBLE diff --git a/sysdeps/ieee754/flt-32/s_fabsf.c b/sysdeps/ieee754/flt-32/s_fabsf.c index c58aede..297abe6 100644 --- a/sysdeps/ieee754/flt-32/s_fabsf.c +++ b/sysdeps/ieee754/flt-32/s_fabsf.c @@ -22,13 +22,9 @@ static char rcsid[] = "$NetBSD: s_fabsf.c,v 1.4 1995/05/10 20:47:15 jtc Exp $"; */ #include <math.h> -#include <math_private.h> float __fabsf(float x) { - u_int32_t ix; - GET_FLOAT_WORD(ix,x); - SET_FLOAT_WORD(x,ix&0x7fffffff); - return x; + return __builtin_fabsf (x); } weak_alias (__fabsf, fabsf)