glibc/bits
Adhemerval Zanella b46a10d0a1 x86: Do not use __builtin_fpclassify on clang
clang does not handle pseudo normal numbers, so disable the fpclassify
and isnormal builtin optimization if clang is used.  This only affect
x86, so add a new header, fp-builtin-denormal.h, which defines whether
the architecture required to disable the optimization through a new
glibc define (__FP_BUILTIN_DENORMAL).

It fixes the regression on test-ldouble-fpclassify and test-float64x-fpclassify
when built with clang:

Failure: fpclassify (pseudo_zero): Exception "Invalid operation" set
Failure: fpclassify (pseudo_inf): Exception "Invalid operation" set
Failure: fpclassify (pseudo_qnan): Exception "Invalid operation" set
Failure: fpclassify (pseudo_snan): Exception "Invalid operation" set
Failure: fpclassify (pseudo_unnormal): Exception "Invalid operation" set
Failure: fpclassify_downward (pseudo_zero): Exception "Invalid operation" set
Failure: fpclassify_downward (pseudo_inf): Exception "Invalid operation" set
Failure: fpclassify_downward (pseudo_qnan): Exception "Invalid operation" set
Failure: fpclassify_downward (pseudo_snan): Exception "Invalid operation" set
Failure: fpclassify_downward (pseudo_unnormal): Exception "Invalid operation" set
Failure: fpclassify_towardzero (pseudo_zero): Exception "Invalid operation" set
Failure: fpclassify_towardzero (pseudo_inf): Exception "Invalid operation" set
Failure: fpclassify_towardzero (pseudo_qnan): Exception "Invalid operation" set
Failure: fpclassify_towardzero (pseudo_snan): Exception "Invalid operation" set
Failure: fpclassify_towardzero (pseudo_unnormal): Exception "Invalid operation" set
Failure: fpclassify_upward (pseudo_zero): Exception "Invalid operation" set
Failure: fpclassify_upward (pseudo_inf): Exception "Invalid operation" set
Failure: fpclassify_upward (pseudo_qnan): Exception "Invalid operation" set
Failure: fpclassify_upward (pseudo_snan): Exception "Invalid operation" set
Failure: fpclassify_upward (pseudo_unnormal): Exception "Invalid operation" set
2025-04-09 13:36:13 -03:00
..
types Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
atomic_wide_counter.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
byteswap.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
confname.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dirent.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dirent_ext.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl_find_object.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dlfcn.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
elfclass.h
endian.h
environments.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
errno.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
fcntl.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
fenv.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
floatn-common.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
floatn.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
flt-eval-method.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
fp-builtin-denormal.h x86: Do not use __builtin_fpclassify on clang 2025-04-09 13:36:13 -03:00
fp-fast.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
fp-logb.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
hwcap.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
in.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
indirect-return.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ioctl-types.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ioctls.h
ipc.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ipctypes.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
iscanonical.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libc-header-start.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libm-simd-decl-stubs.h AArch64: Add vector tanpi routines 2025-01-03 21:39:56 +00:00
link.h * csu/elf-init.c (__libc_csu_fini): Don't do anything here. 2005-01-06 22:40:27 +00:00
link_lavcurrent.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
local_lim.h
long-double.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
math-vector.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mathdef.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mman.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mman_ext.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mqueue.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
msq.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
netdb.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
param.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
poll.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
posix_opt.h
pthreadtypes.h
resource.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sched.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
select.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sem.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
setjmp.h
shm.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sigaction.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sigcontext.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sigevent-consts.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
siginfo-consts.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
signal_ext.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
signum-arch.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
signum-generic.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sigstack.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sigstksz.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sigthread.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sockaddr.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
socket.h bits/socket.h: Update to recent BSD definition 2025-01-01 22:11:13 +01:00
spawn_ext.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ss_flags.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
stat.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
statfs.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
statvfs.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
stdint-intn.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
stdint-least.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
stdint-uintn.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
stdlib-bsearch.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
syslog-path.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sysmacros.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
termios.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
time.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
time64.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
timesize.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
typesizes.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
uintn-identity.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
uio-ext.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
uio_lim.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
unistd_ext.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
utmp.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
utsname.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
waitflags.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
waitstatus.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wchar.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wordsize.h login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701) 2024-04-19 14:38:17 +02:00