aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386/i686/fpu/multiarch
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-11-19 16:30:16 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-12-18 17:24:43 -0300
commit0e0be3ed803714285831b14a0032bc91b93e9027 (patch)
tree40e082f1dc48fc4118c4cb64241b46a0e47c48c3 /sysdeps/i386/i686/fpu/multiarch
parent1751c0519ae901f519e485ac0d3e87a2d1cf7104 (diff)
downloadglibc-0e0be3ed803714285831b14a0032bc91b93e9027.zip
glibc-0e0be3ed803714285831b14a0032bc91b93e9027.tar.gz
glibc-0e0be3ed803714285831b14a0032bc91b93e9027.tar.bz2
math: Use tanhf from CORE-MATH
The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows slight better performance to the generic tanhf. 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 51.5273 41.0951 20.25% x86_64v2 47.7021 39.1526 17.92% x86_64v3 45.0373 34.2737 23.90% i686 133.9970 83.8596 37.42% aarch64 (Neoverse) 21.5439 14.7961 31.32% power10 13.3301 8.4406 36.68% reciprocal-throughput master patched improvement x86_64 24.9493 12.8547 48.48% x86_64v2 20.7051 12.7761 38.29% x86_64v3 19.2492 11.0851 42.41% i686 78.6498 29.8211 62.08% aarch64 (Neoverse) 11.6026 7.11487 38.68% power10 6.3328 2.8746 54.61% 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-ulps4
1 files changed, 0 insertions, 4 deletions
diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
index ad9a527..466e68d 100644
--- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
+++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
@@ -1759,25 +1759,21 @@ ldouble: 2
Function: "tanh":
double: 2
-float: 2
float128: 2
ldouble: 3
Function: "tanh_downward":
double: 3
-float: 3
float128: 4
ldouble: 4
Function: "tanh_towardzero":
double: 2
-float: 2
float128: 3
ldouble: 3
Function: "tanh_upward":
double: 3
-float: 3
float128: 3
ldouble: 4