aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mips
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-10-28 12:38:50 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-11-22 10:01:03 -0300
commitc5d241f06b42c1211813118a6185a01a3dae1d00 (patch)
tree420bf09cb6b0e54c857ed10426f9b3509481b436 /sysdeps/mips
parent2234b08763ff76a2543b434f8c8ee9d1c16205fe (diff)
downloadglibc-c5d241f06b42c1211813118a6185a01a3dae1d00.zip
glibc-c5d241f06b42c1211813118a6185a01a3dae1d00.tar.gz
glibc-c5d241f06b42c1211813118a6185a01a3dae1d00.tar.bz2
math: Use cbrtf from CORE-MATH
The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows better performance to the generic cbrtf. The code was adapted to glibc style and to use the definition of math_config.h. Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (M1, gcc 13.2.1), and powerpc (POWER10, gcc 13.2.1): latency master patched improvement x86_64 68.6348 36.8908 46.25% x86_64v2 67.3418 36.6968 45.51% x86_64v3 63.4981 32.7859 48.37% aarch64 29.3172 12.1496 58.56% power10 18.0845 8.8893 50.85% powerpc 18.0859 8.79527 51.37% reciprocal-throughput master patched improvement x86_64 36.4369 13.3565 63.34% x86_64v2 37.3611 13.1149 64.90% x86_64v3 31.6024 11.2102 64.53% aarch64 18.6866 7.3474 60.68% power10 9.4758 3.6329 61.66% powerpc 9.58896 3.90439 59.28% 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>
Diffstat (limited to 'sysdeps/mips')
-rw-r--r--sysdeps/mips/mips32/libm-test-ulps4
-rw-r--r--sysdeps/mips/mips64/libm-test-ulps4
2 files changed, 0 insertions, 8 deletions
diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps
index c319e06..cef264d 100644
--- a/sysdeps/mips/mips32/libm-test-ulps
+++ b/sysdeps/mips/mips32/libm-test-ulps
@@ -333,19 +333,15 @@ float: 1
Function: "cbrt":
double: 4
-float: 1
Function: "cbrt_downward":
double: 4
-float: 1
Function: "cbrt_towardzero":
double: 3
-float: 1
Function: "cbrt_upward":
double: 5
-float: 1
Function: Real part of "ccos":
double: 1
diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps
index 365b860..724249d 100644
--- a/sysdeps/mips/mips64/libm-test-ulps
+++ b/sysdeps/mips/mips64/libm-test-ulps
@@ -417,22 +417,18 @@ ldouble: 2
Function: "cbrt":
double: 4
-float: 1
ldouble: 1
Function: "cbrt_downward":
double: 4
-float: 1
ldouble: 1
Function: "cbrt_towardzero":
double: 3
-float: 1
ldouble: 1
Function: "cbrt_upward":
double: 5
-float: 1
ldouble: 1
Function: Real part of "ccos":