glibc/sysdeps/unix
Adhemerval Zanella 0e1a1178ee 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>
2025-11-04 04:14:01 -03:00
..
alpha Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
arm Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
bsd termios: make __tcsetattr() the internal interface 2025-06-17 09:11:38 -03:00
i386 Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
inet
mips Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
powerpc Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sh Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sysv/linux math: Remove the SVID error handling from remainder 2025-11-04 04:14:01 -03:00
x86_64 Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
Implies
Makefile Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
confstr.h
get_child_max.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
getlogin.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
getlogin_r.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
getpagesize.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
grantpt.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ifreq.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
make-syscalls.sh
setxid.h
sockatmark.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
syscall-template.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
syscall.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
syscalls.list
sysdep.h misc: Fix several typos 2025-10-10 14:52:40 +01:00