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

The code was adapted to glibc style and to use the definition of
math_config.h.

Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (M1,
gcc 13.2.1), and powerpc (POWER10, gcc 13.2.1):

latency                       master       patched  improvement
x86_64                       98.8796       66.2142       33.04%
x86_64v2                     98.9617       67.4221       31.87%
x86_64v3                     87.4161       53.1754       39.17%
aarch64                      33.8336       22.0781       34.75%
power10                      21.1750       13.5864       35.84%
powerpc                      21.4694       13.8149       35.65%

reciprocal-throughput         master       patched  improvement
x86_64                       48.5620       27.6731       43.01%
x86_64v2                     47.9497       28.3804       40.81%
x86_64v3                     42.0255       18.1355       56.85%
aarch64                      24.3938       13.4041       45.05%
power10                      10.4919        6.1881       41.02%
powerpc                       11.763       6.76468       42.49%

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-11-22 10:52:27 -03:00
..
aarch64 math: Use erff from CORE-MATH 2024-11-22 10:52:27 -03:00
alpha math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
arc math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
arm math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
csky math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
generic linux: Add support for getrandom vDSO 2024-11-12 14:42:12 -03:00
gnu sysdeps: Re-flow and sort multiline gnu/Makefile definitions 2024-08-07 11:02:03 -03:00
hppa math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
htl htl: move pthread_attr_init into libc. 2024-11-19 01:37:35 +01:00
hurd hurd: Move internal functions to internal header 2024-03-23 22:43:07 +01:00
i386 math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
ieee754 math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
loongarch math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
m68k math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
mach htl: move pthread_attr_init into libc. 2024-11-19 01:37:35 +01:00
microblaze math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
mips math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
nios2 math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
nptl linux: Add support for getrandom vDSO 2024-11-12 14:42:12 -03:00
or1k math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
posix stdlib: Make abort/_Exit AS-safe (BZ 26275) 2024-10-08 14:40:12 -03:00
powerpc math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
pthread Rename new tst-sem17 test to tst-sem18 2024-11-08 17:08:09 +00:00
riscv math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
s390 math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
sh math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
sparc math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00
unix AArch64: Add support for memory protection keys 2024-11-20 11:30:58 +00:00
wordsize-32 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wordsize-64 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
x86 x86: Enable non-temporal memset for Hygon processors 2024-08-26 10:01:58 -07:00
x86_64 math: Use erfcf from CORE-MATH 2024-11-22 10:52:27 -03:00