mirror of
https://sourceware.org/git/glibc.git
synced 2025-11-15 15:21:18 +03:00
math: Remove the SVID error handling from remainder
The optimized i386 version is faster than the generic one, and gcc implements it through the builtin. This optimization enables us to migrate the implementation to a C version. The performance on a Zen3 chip is similar to the SVID one. The m68k provided an optimized version through __m81_u(remainderf) (mathimpl.h), and gcc does not implement it through a builtin (different than i386). Performance improves a bit on x86_64 (Zen3, gcc 15.2.1): reciprocal-throughput input master NO-SVID improvement x86_64 subnormals 18.8522 16.2506 13.80% x86_64 normal 421.8260 403.9270 4.24% x86_64 close-exponent 21.0579 18.7642 10.89% i686 subnormals 21.3443 21.4229 -0.37% i686 normal 525.8380 538.807 -2.47% i686 close-exponent 21.6589 21.7983 -0.64% Tested on x86_64-linux-gnu and i686-linux-gnu. Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
This commit is contained in:
@@ -1404,6 +1404,7 @@ GLIBC_2.43 j0f F
|
||||
GLIBC_2.43 j1f F
|
||||
GLIBC_2.43 jnf F
|
||||
GLIBC_2.43 log10f F
|
||||
GLIBC_2.43 remainder F
|
||||
GLIBC_2.43 remainderf F
|
||||
GLIBC_2.43 y0f F
|
||||
GLIBC_2.43 y1f F
|
||||
|
||||
@@ -1294,6 +1294,7 @@ GLIBC_2.43 j0f F
|
||||
GLIBC_2.43 j1f F
|
||||
GLIBC_2.43 jnf F
|
||||
GLIBC_2.43 log10f F
|
||||
GLIBC_2.43 remainder F
|
||||
GLIBC_2.43 remainderf F
|
||||
GLIBC_2.43 y0f F
|
||||
GLIBC_2.43 y1f F
|
||||
|
||||
Reference in New Issue
Block a user