math: Do not use __builtin_isnan on clang

It does not handle pseudo normal numbers.
This commit is contained in:
Adhemerval Zanella 2022-04-01 17:01:22 -03:00
parent bc52945de6
commit 843cdf9b9c
2 changed files with 2 additions and 3 deletions
math
sysdeps/ieee754/float128

View File

@ -973,8 +973,7 @@ enum
/* Return nonzero value if X is a NaN. We could use `fpclassify' but
we already have this functions `__isnan' and it is faster. */
# if (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \
|| __glibc_clang_prereq (2,8)
# if (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__)
# define isnan(x) __builtin_isnan (x)
# else
# define isnan(x) __MATH_TG ((x), __isnan, (x))

View File

@ -352,7 +352,7 @@
#define frexpl frexpf128
#define getpayloadl getpayloadf128
#define isinfl isinff128_do_not_use
#define isnanl isnanf128_do_not_use
#define isnanl isnanf128
#define ldexpl ldexpf128
#define llrintl llrintf128
#define llroundl llroundf128