glibc/sysdeps
Adhemerval Zanella 1cd9ccd8c0 math: Use atan2pif from CORE-MATH
The CORE-MATH implementation is correctly rounded (for any rounding mode)
and shows better performance to the generic atan2pif.

The code was adapted to glibc style and to use the definition of
math_config.h (to handle errno, overflow, and underflow).

Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (Neoverse-N1,
gcc 13.3.1), and powerpc (POWER10, gcc 13.2.1):

latency                 master        patched   improvement
x86_64                 79.4006        70.8726        10.74%
x86_64v2               77.5136        69.1424        10.80%
x86_64v3               71.8050        68.1637         5.07%
aarch64 (Neoverse)     27.8363        24.7700        11.02%
power8                 39.3893        17.2929        56.10%
power10                19.7200        16.8187        14.71%

reciprocal-throughput   master        patched   improvement
x86_64                 38.3457        30.9471        19.29%
x86_64v2               37.4023        30.3112        18.96%
x86_64v3               33.0713        24.4891        25.95%
aarch64 (Neoverse)     19.3683        15.3259        20.87%
power8                 19.5507        8.27165        57.69%
power10                9.05331        7.63775        15.64%

Reviewed-by: DJ Delorie <dj@redhat.com>
2025-02-12 16:31:57 -03:00
..
aarch64 math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
alpha math: update alpha ulps 2025-01-05 20:02:53 +01:00
arc math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
arm math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
csky Move <thread_pointer.h> to kernel-independent sysdeps directories 2025-01-09 19:30:16 +01:00
generic elf: Add l_soname accessor function for DT_SONAME values 2025-02-02 20:10:09 +01:00
gnu Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
hppa math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
htl htl: stop exporting __pthread_default_barrierattr. 2025-02-10 01:39:17 +01:00
hurd Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
i386 math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
ieee754 math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
loongarch math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
m68k Add missing include guards to <dl-tls.h> 2025-01-10 19:02:47 +01:00
mach hurd: Replace char foo[1024] with string_t 2025-02-10 20:10:59 +01:00
microblaze Move <thread_pointer.h> to kernel-independent sysdeps directories 2025-01-09 19:30:16 +01:00
mips math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
nptl nptl: Add support for setup guard pages with MADV_GUARD_INSTALL 2025-01-30 10:16:37 -03:00
or1k math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
posix Fix underallocation of abort_msg_s struct (CVE-2025-0395) 2025-01-22 08:17:17 -05:00
powerpc math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
pthread htl: move pthread_setcancelstate into libc. 2025-02-01 11:24:14 +01:00
riscv math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
s390 math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
sh sh: Fix tst-guard1 build 2025-01-31 09:34:36 -03:00
sparc math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00
unix ld.so: Decorate BSS mappings 2025-01-30 10:16:37 -03:00
wordsize-32 Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
wordsize-64 Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
x86 x86: Add missing #include <features.h> to <thread_pointer.h> 2025-01-09 19:30:41 +01:00
x86_64 math: Use atan2pif from CORE-MATH 2025-02-12 16:31:57 -03:00