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

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                      64.5128        56.9717        11.69%
x86_64v2                    63.3065        57.2666         9.54%
x86_64v3                    62.8719        51.4170        18.22%
i686                       189.1630        137.635        27.24%
aarch64 (Neoverse)          25.3551        20.5757        18.85%
power10                     17.9712        13.3302        25.82%

reciprocal-throughput        master        patched   improvement
x86_64                      20.0844        15.4731        22.96%
x86_64v2                    19.2919        15.4000        20.17%
x86_64v3                    18.7226        11.9009        36.44%
i686                       103.7670        80.2681        22.65%
aarch64 (Neoverse)          12.5005        8.68969        30.49%
power10                      7.2220        5.03617        30.27%

Signed-off-by: Alexei Sibidanov <sibid@uvic.ca>
Signed-off-by: Paul Zimmermann <Paul.Zimmermann@inria.fr>
Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>:
Reviewed-by: DJ Delorie <dj@redhat.com>
2024-12-18 17:24:43 -03:00
..
aarch64 math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
alpha math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
arc math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
arm math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
csky math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
generic malloc: Optimize small memory clearing for calloc 2024-12-04 04:28:15 +08:00
gnu
hppa math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
htl htl: move pthread_sigmask into libc. 2024-12-14 23:13:14 +01:00
hurd
i386 math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
ieee754 math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
loongarch math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
m68k math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
mach htl: move pthread_sigmask into libc. 2024-12-14 23:13:14 +01:00
microblaze math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
mips math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
nptl
or1k math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
posix Silence most -Wzero-as-null-pointer-constant diagnostics 2024-11-25 16:45:59 -03:00
powerpc math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
pthread Use empty initializer to silence GCC 4.9 or older 2024-12-16 04:06:30 +08:00
riscv math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
s390 math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
sh math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
sparc math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00
unix Update syscall lists for Linux 6.12 2024-12-18 15:12:36 +00:00
wordsize-32
wordsize-64
x86 sys/platform/x86.h: Do not depend on _Bool definition in C++ mode 2024-12-18 02:32:27 +08:00
x86_64 math: Use asinhf from CORE-MATH 2024-12-18 17:24:43 -03:00