diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-12-20 11:10:53 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2025-02-12 16:31:57 -0300 |
commit | ae679a0aca66b04eead859360f7fbca387adf02c (patch) | |
tree | c750370bed15e21c7ed0b7730f385c1e7336f32f /sysdeps/arc/nofpu | |
parent | edb2a8f0ae1b849737a7559c39779131f908adaa (diff) | |
download | glibc-ae679a0aca66b04eead859360f7fbca387adf02c.zip glibc-ae679a0aca66b04eead859360f7fbca387adf02c.tar.gz glibc-ae679a0aca66b04eead859360f7fbca387adf02c.tar.bz2 |
math: Use asinpif from CORE-MATH
The CORE-MATH implementation is correctly rounded (for any rounding mode)
and shows better performance to the generic asinpif.
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 46.4996 41.6126 10.51%
x86_64v2 46.7551 38.8235 16.96%
x86_64v3 42.6235 33.7603 20.79%
aarch64 (Neoverse) 17.4161 14.3604 17.55%
power8 10.7347 9.0193 15.98%
power10 10.6420 9.0362 15.09%
reciprocal-throughput master patched improvement
x86_64 24.7208 16.5544 33.03%
x86_64v2 24.2177 14.8938 38.50%
x86_64v3 20.5617 10.5452 48.71%
aarch64 (Neoverse) 13.4827 7.17613 46.78%
power8 6.46134 3.56089 44.89%
power10 5.79007 3.49544 39.63%
Reviewed-by: DJ Delorie <dj@redhat.com>
Diffstat (limited to 'sysdeps/arc/nofpu')
-rw-r--r-- | sysdeps/arc/nofpu/libm-test-ulps | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index 2b34f5a..325546e 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -18,7 +18,6 @@ double: 2 Function: "asinpi": double: 1 -float: 1 Function: "atan": double: 1 |