From be85208b9fcaf7d7de7aec074e80177739b89947 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Fri, 20 Dec 2024 13:25:39 -0300 Subject: math: Use cospif from CORE-MATH The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows better performance to the generic cospif. 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 47.4679 38.4157 19.07% x86_64v2 46.9686 38.3329 18.39% x86_64v3 43.8929 31.8510 27.43% aarch64 (Neoverse) 18.8867 13.2089 30.06% power8 22.9435 7.8023 65.99% power10 15.4472 7.77505 49.67% reciprocal-throughput master patched improvement x86_64 20.9518 11.4991 45.12% x86_64v2 19.8699 10.5921 46.69% x86_64v3 19.3475 9.3998 51.42% aarch64 (Neoverse) 12.5767 6.2158 50.58% power8 15.0566 3.2654 78.31% power10 9.2866 3.1147 66.46% Reviewed-by: DJ Delorie --- sysdeps/or1k/fpu/libm-test-ulps | 4 ---- 1 file changed, 4 deletions(-) (limited to 'sysdeps/or1k/fpu') diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index a608e3c949..884b4cc361 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -545,19 +545,15 @@ double: 2 Function: "cospi": double: 2 -float: 2 Function: "cospi_downward": double: 1 -float: 2 Function: "cospi_towardzero": double: 1 -float: 1 Function: "cospi_upward": double: 1 -float: 2 Function: Real part of "cpow": double: 2 -- cgit v1.2.3