diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-11-13 13:48:14 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-12-18 17:24:43 -0300 |
commit | 5fb4b566efd7785ce6fc75d16e369b6918549620 (patch) | |
tree | 34b75108368180bb03077f0d42e742be1ea23437 /sysdeps/i386/i686/fpu/multiarch | |
parent | 673e6fe11083760f77001285790b1117b09b2283 (diff) | |
download | glibc-5fb4b566efd7785ce6fc75d16e369b6918549620.zip glibc-5fb4b566efd7785ce6fc75d16e369b6918549620.tar.gz glibc-5fb4b566efd7785ce6fc75d16e369b6918549620.tar.bz2 |
math: Use asinf from CORE-MATH
The CORE-MATH implementation is correctly rounded (for any rounding mode)
and shows slight better performance to the generic asinf.
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 42.8237 35.2460 17.70%
x86_64v2 43.3711 35.9406 17.13%
x86_64v3 35.0335 30.5744 12.73%
i686 213.8780 104.4710 51.15%
aarch64 (Neoverse) 17.2937 13.6025 21.34%
power10 12.0227 7.4241 38.25%
reciprocal-throughput master patched improvement
x86_64 13.6770 15.5231 -13.50%
x86_64v2 13.8722 16.0446 -15.66%
x86_64v3 13.6211 13.2753 2.54%
i686 186.7670 45.4388 75.67%
aarch64 (Neoverse) 9.96089 9.39285 5.70%
power10 4.9862 3.7819 24.15%
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>
Diffstat (limited to 'sysdeps/i386/i686/fpu/multiarch')
-rw-r--r-- | sysdeps/i386/i686/fpu/multiarch/libm-test-ulps | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index e4f9bfe..f416f8d 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -80,7 +80,6 @@ ldouble: 1 Function: "asin_upward": double: 1 -float: 1 float128: 2 ldouble: 1 |