glibc/sysdeps/mach
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
..
htl elf: early conversion of elf p_flags to mprotect flags 2025-08-27 10:45:45 -03:00
hurd math: Remove the SVID error handling from remainder 2025-11-04 04:14:01 -03:00
i386
include
sys
x86
x86_64
Makefile
Subdirs
_strerror.c
adjtime.c
clock_gettime.c mach: Use the host_get_time64 to replace the deprecated host_get_time for CLOCK_REALTIME when it's available 2025-03-25 01:10:10 +01:00
clock_nanosleep.c hurd: Add CLOCK_MONOTONIC to clock_nanosleep 2025-01-12 22:47:00 +01:00
configure hurd: implement RLIMIT_AS against Mach RPCs 2025-09-22 00:52:37 +02:00
configure.ac hurd: implement RLIMIT_AS against Mach RPCs 2025-09-22 00:52:37 +02:00
getloadavg.c
getpagesize.c
getsysstats.c
libc-lock.h
libmachuser.abilist
mach_rpc.h
mprotect.c
msync.c
munmap.c
pagecopy.h
readonly-area-fallback.c debug: Improve '%n' fortify detection (BZ 30932) 2025-03-21 15:46:48 -03:00
sched_yield.c
sleep.c
strerror_l.c
sysdep.h hurd: Fix redefinition of 'P2ALIGN'. 2025-06-21 14:39:36 +02:00
thread_state.h
usleep.c
xpg-strerror.c