aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/riscv
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-12-20 13:38:40 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2025-02-12 16:31:57 -0300
commit8f170dc81918813132998e4b306388c5663cb4c1 (patch)
tree10be8dd52739f3728bf8b07bcf1a0d90d46c9aa5 /sysdeps/riscv
parentde2fca9fe20e70d3c42b0a7a6baf684492dd4dbb (diff)
downloadglibc-8f170dc81918813132998e4b306388c5663cb4c1.zip
glibc-8f170dc81918813132998e4b306388c5663cb4c1.tar.gz
glibc-8f170dc81918813132998e4b306388c5663cb4c1.tar.bz2
math: Use tanpif from CORE-MATH
The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows better performance to the generic tanpif. 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 85.1683 47.7990 43.88% x86_64v2 76.8219 41.4679 46.02% x86_64v3 73.7775 37.7734 48.80% aarch64 (Neoverse) 35.4514 18.0742 49.02% power8 22.7604 10.1054 55.60% power10 22.1358 9.9553 55.03% reciprocal-throughput master patched improvement x86_64 41.0174 19.4718 52.53% x86_64v2 34.8565 11.3761 67.36% x86_64v3 34.0325 9.6989 71.50% aarch64 (Neoverse) 25.4349 9.2017 63.82% power8 13.8626 3.8486 72.24% power10 11.7933 3.6420 69.12% Reviewed-by: DJ Delorie <dj@redhat.com>
Diffstat (limited to 'sysdeps/riscv')
-rw-r--r--sysdeps/riscv/nofpu/libm-test-ulps1
-rw-r--r--sysdeps/riscv/rvd/libm-test-ulps4
2 files changed, 0 insertions, 5 deletions
diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps
index 2545d0e..720250e 100644
--- a/sysdeps/riscv/nofpu/libm-test-ulps
+++ b/sysdeps/riscv/nofpu/libm-test-ulps
@@ -1306,7 +1306,6 @@ ldouble: 3
Function: "tanpi":
double: 3
-float: 3
ldouble: 3
Function: "tgamma":
diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps
index 94534a4..ee5df22 100644
--- a/sysdeps/riscv/rvd/libm-test-ulps
+++ b/sysdeps/riscv/rvd/libm-test-ulps
@@ -1452,22 +1452,18 @@ ldouble: 3
Function: "tanpi":
double: 3
-float: 3
ldouble: 3
Function: "tanpi_downward":
double: 2
-float: 3
ldouble: 4
Function: "tanpi_towardzero":
double: 2
-float: 3
ldouble: 4
Function: "tanpi_upward":
double: 2
-float: 4
ldouble: 4
Function: "tgamma":