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

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                     66.3296        52.7558        20.46%
x86_64v2                   66.0429        51.4007        22.17%
x86_64v3                   60.6294        48.7876        19.53%
aarch64 (Neoverse)         24.3163        20.9110        14.00%
power8                     16.5766        13.3620        19.39%
power10                    16.5115        13.4072        18.80%

reciprocal-throughput       master        patched   improvement
x86_64                     30.8599        16.0866        47.87%
x86_64v2                   29.2286        15.4688        47.08%
x86_64v3                   23.0960        12.8510        44.36%
aarch64 (Neoverse)         15.4619        10.6752        30.96%
power8                      7.9200         5.2483        33.73%
power10                     6.8539         4.6262        32.50%

Reviewed-by: DJ Delorie <dj@redhat.com>
2025-02-12 16:31:57 -03:00
..
bits Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
multiarch Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nofpu math: Use atanpif from CORE-MATH 2025-02-12 16:31:57 -03:00
nptl Move <thread_pointer.h> to kernel-independent sysdeps directories 2025-01-09 19:30:16 +01:00
rv32 Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
rv64 Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
rvd math: Use atanpif from CORE-MATH 2025-02-12 16:31:57 -03:00
rvf Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sys Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
Implies
Makefile RISC-V: Add support for dl_runtime_profile (BZ #31151) 2023-12-30 11:00:10 +01:00
__longjmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
bsd-_setjmp.c
bsd-setjmp.c
configure Convert to autoconf 2.72 (vanilla release, no distribution patches) 2024-06-17 21:15:28 +02:00
configure.ac RISC-V: Enable static-pie. 2024-01-12 15:11:45 -03:00
dl-irel.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-link.sym RISC-V: Add support for dl_runtime_profile (BZ #31151) 2023-12-30 11:00:10 +01:00
dl-machine.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-relocate-ld.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-tls.h Add missing include guards to <dl-tls.h> 2025-01-10 19:02:47 +01:00
dl-trampoline.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
e_sqrtl.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
fpu_control.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
gccframe.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ldsodefs.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libc-tls.c elf: Remove the remaining uses of GET_ADDR_OFFSET 2025-01-02 13:45:27 +01:00
linkmap.h
machine-gmon.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
math-tests-snan-payload.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
math-tests-trap.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
preconfigure configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
preconfigure.ac
riscv-ifunc.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
setjmp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sfp-machine.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
start.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
string-fza.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
string-fzi.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
thread_pointer.h Move <thread_pointer.h> to kernel-independent sysdeps directories 2025-01-09 19:30:16 +01:00
tininess.h
tst-audit.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
utmp-size.h login: Check default sizes of structs utmp, utmpx, lastlog 2024-04-19 14:38:17 +02:00