glibc/sysdeps
Adhemerval Zanella 476e962af7 Add gmp-arch and udiv_qrnnd
To enable “longlong.h” removal, the udiv_qrnnd is moved to a gmp-arch.h
file.  It allows each architecture to implement its own arch-specific
optimizations.  The generic implementation now uses a static inline,
which provides better type checking than the GNU extension to cast the
asm constraint (and it works better with clang).

Most of the architecture uses the generic implementation, which is
expanded from a macro, except for alpha, x86, m68k, sh, and sparc.
I kept that alpha, which uses out-of-the-line implementations and x86,
where there is no easy way to use the div{q} instruction from C code.
For the rest, the compiler generates good enough code.

The hppa also provides arch-specific implementations, but they are not
routed in “longlong.h” and thus never used.

Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
2025-11-25 14:52:15 -03:00
..
aarch64 AArch64: Remove WANT_SIMD_EXCEPT from aarch64 AdvSIMD math routines 2025-11-18 15:51:15 +00:00
alpha Add gmp-arch and udiv_qrnnd 2025-11-25 14:52:15 -03:00
arc nptl: Remove ATOMIC_EXCHANGE_USES_CAS usage 2025-11-04 04:14:01 -03:00
arm nptl: Remove ATOMIC_EXCHANGE_USES_CAS usage 2025-11-04 04:14:01 -03:00
csky nptl: Remove ATOMIC_EXCHANGE_USES_CAS usage 2025-11-04 04:14:01 -03:00
generic Add gmp-arch and udiv_qrnnd 2025-11-25 14:52:15 -03:00
gnu Updates struct tcp_zerocopy_receive from 5.11 to netinet/tcp.h. 2025-10-29 12:54:12 -03:00
hppa Add gmp-arch and udiv_qrnnd 2025-11-25 14:52:15 -03:00
htl htl: move c11 symbols into libc. 2025-11-22 03:28:48 +01:00
hurd htl: move pthread_kill into libc. 2025-08-16 01:44:27 +02:00
i386 math: Remove ldbl-96 fma implementation 2025-11-21 13:13:02 -03:00
ieee754 Add gmp-arch and udiv_qrnnd 2025-11-25 14:52:15 -03:00
loongarch loongarch: Remove TLS_TCB_ALIGN 2025-11-16 11:27:47 +01:00
m68k math: Remove the SVID error handling from atan2f 2025-11-05 07:15:52 -03:00
mach htl: move c11 symbols into libc. 2025-11-22 03:28:48 +01:00
microblaze nptl: Remove ATOMIC_EXCHANGE_USES_CAS usage 2025-11-04 04:14:01 -03:00
mips math: Don't redirect inlined builtin math functions 2025-11-17 11:17:07 -03:00
nptl htl: move c11 symbols into libc. 2025-11-22 03:28:48 +01:00
or1k Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2025-11-15 22:01:07 +01:00
posix assert: Refactor assert/assert_perror 2025-09-23 10:29:24 -03:00
powerpc Remove support for lock elision. 2025-11-18 14:21:13 +01:00
pthread htl: move c11 symbols into libc. 2025-11-22 03:28:48 +01:00
riscv Revert __HAVE_64B_ATOMICS configure check 2025-11-14 14:05:20 -03:00
s390 Remove support for lock elision. 2025-11-18 14:21:13 +01:00
sh nptl: Remove ATOMIC_EXCHANGE_USES_CAS usage 2025-11-04 04:14:01 -03:00
sparc Revert __HAVE_64B_ATOMICS configure check 2025-11-14 14:05:20 -03:00
unix linux: Handle EINVAL as unsupported on tst-pidfd_getinfo 2025-11-21 13:13:26 -03:00
wordsize-32 Add gmp-arch and udiv_qrnnd 2025-11-25 14:52:15 -03:00
wordsize-64 stdio-common: Reject integer prefixes in scanf [BZ #12701] 2025-03-28 12:35:53 +00:00
x86 Add gmp-arch and udiv_qrnnd 2025-11-25 14:52:15 -03:00
x86_64 x86: Fix strstr ifunc on clang 2025-11-17 11:17:07 -03:00