diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-04-01 10:19:57 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-05-23 17:49:18 -0300 |
commit | efeb2bd1ab49215325040aa53396a2c19dfd1402 (patch) | |
tree | 0dda3bc772c3ac1c2e2b2a8a55a6f75c28e1efe8 /sysdeps/powerpc/fpu | |
parent | 04b30fe4f85d6e4c0390581a5e90db066a0b2f1f (diff) | |
download | glibc-efeb2bd1ab49215325040aa53396a2c19dfd1402.tar glibc-efeb2bd1ab49215325040aa53396a2c19dfd1402.tar.gz glibc-efeb2bd1ab49215325040aa53396a2c19dfd1402.tar.bz2 glibc-efeb2bd1ab49215325040aa53396a2c19dfd1402.zip |
math: Add math-use-builtins-fabs (BZ#29027)
Both float, double, and _Float128 are assumed to be supported
(float and double already only uses builtins). Only long double
is parametrized due GCC bug 29253 which prevents its usage on
powerpc.
It allows to remove i686, ia64, x86_64, powerpc, and sparc arch
specific implementation.
On ia64 it also fixes the sNAN handling:
math/test-float64x-fabs
math/test-ldouble-fabs
Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc-linux-gnu,
powerpc64-linux-gnu, sparc64-linux-gnu, and ia64-linux-gnu.
Diffstat (limited to 'sysdeps/powerpc/fpu')
-rw-r--r-- | sysdeps/powerpc/fpu/math-use-builtins-fabs.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sysdeps/powerpc/fpu/math-use-builtins-fabs.h b/sysdeps/powerpc/fpu/math-use-builtins-fabs.h new file mode 100644 index 0000000000..8976d0b956 --- /dev/null +++ b/sysdeps/powerpc/fpu/math-use-builtins-fabs.h @@ -0,0 +1,8 @@ +/* Generic implementations already assume builtin support for + float, double, and _Float128 . */ + +/* We can't enable it for long double due GCC Bugzilla Bug 29253 + "expand_abs wrong default code for floating point" where it can + cause spurious "invalid" exceptions from comparisons with NaN in + the code sequence generated. */ +#define USE_FABSL_BUILTIN 0 |