mirror of git://sourceware.org/git/glibc.git
The generic implementation is slight more optimized than the powerpc one, where it has a more optimized inf/nan check (by not using FP unit checks, along with branch prediction hints), and removed one branch by issuing trunc instead of a combination of floor/ceil (which also generated less code). On power10 with gcc 14.2.1: reciprocal-throughput master patch difference workload-0_1 1.1351 0.9067 20.12% workload-1_maxint 1.4230 0.9040 36.47% workload-maxint_maxfloat 1.5038 0.9076 39.65% workload-integral 1.1280 0.9111 19.23% latency master patch difference workload-0_1 1.1440 2.7117 -137.03% workload-1_maxint 4.0556 2.7070 33.25% workload-maxint_maxfloat 3.2122 2.7164 15.43% workload-integral 3.2381 2.7281 15.75% Checked on powerpc64le-linux-gnu. Reviewed-by: Sachin Monga <smonga@linux.ibm.com> |
||
---|---|---|
.. | ||
bits | ||
fpu | ||
nofpu | ||
nptl | ||
power4 | ||
power6 | ||
powerpc32 | ||
powerpc64 | ||
sys/platform | ||
Makefile | ||
Versions | ||
abort-instr.h | ||
atomic-machine.h | ||
dl-diagnostics-cpu.c | ||
dl-lookupcfg.h | ||
dl-procinfo.c | ||
dl-tls.c | ||
dl-tls.h | ||
dl-tunables.list | ||
elf-initfini.h | ||
fpu_control.h | ||
gccframe.h | ||
hwcapinfo.c | ||
hwcapinfo.h | ||
ifunc-sel.h | ||
jmpbuf-offsets.h | ||
jmpbuf-unwind.h | ||
ldsodefs.h | ||
libc-tls.c | ||
locale-defines.sym | ||
longjmp.c | ||
machine-gmon.h | ||
math-tests-snan-cast.h | ||
math-use-builtins-ffs.h | ||
mod-cache-ppc.c | ||
mod-tlsopt-powerpc.c | ||
mp_clz_tab.c | ||
novmx-longjmp.c | ||
novmx-sigjmp.c | ||
novmxsetjmp.h | ||
preconfigure | ||
preconfigure.ac | ||
rtld-global-offsets.sym | ||
sigjmp.c | ||
sotruss-lib.c | ||
string-fza.h | ||
sysdep.h | ||
test-arith.c | ||
test-arithf.c | ||
test-get_hwcap-static.c | ||
test-get_hwcap.c | ||
test-gettimebase.c | ||
thread_pointer.h | ||
tst-cache-ppc-static-dlopen.c | ||
tst-cache-ppc-static.c | ||
tst-cache-ppc.c | ||
tst-set_ppr.c | ||
tst-stack-align.h | ||
tst-tlsifunc-static.c | ||
tst-tlsifunc.c | ||
tst-tlsopt-powerpc.c | ||
utmp-size.h |