mirror of git://sourceware.org/git/glibc.git
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> |
||
|---|---|---|
| .. | ||
| be | ||
| bits | ||
| le | ||
| sys | ||
| Implies | ||
| Makefile | ||
| ____longjmp_chk.S | ||
| arch-syscall.h | ||
| c++-types.data | ||
| clock-compat.c | ||
| clone.S | ||
| kernel-features.h | ||
| kernel_stat.h | ||
| ld.abilist | ||
| localplt.data | ||
| pselect32.c | ||
| shlib-versions | ||
| sigcontextinfo.h | ||
| single-thread.h | ||
| syscall.S | ||
| syscall_cancel.S | ||
| syscalls.list | ||
| sysctl.c | ||
| sysdep.S | ||
| sysdep.h | ||
| time64-compat.h | ||
| vfork.S | ||
| xstatver.h | ||