aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386/i686/fpu/multiarch
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-11-13 13:48:14 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-12-18 17:24:43 -0300
commit5fb4b566efd7785ce6fc75d16e369b6918549620 (patch)
tree34b75108368180bb03077f0d42e742be1ea23437 /sysdeps/i386/i686/fpu/multiarch
parent673e6fe11083760f77001285790b1117b09b2283 (diff)
downloadglibc-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-ulps1
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