cvs commit: src/lib/msun/src e_rem_pio2.c e_rem_pio2f.c
Bruce Evans
bde at FreeBSD.org
Mon Feb 25 18:28:58 UTC 2008
bde 2008-02-25 18:28:58 UTC
FreeBSD src repository
Modified files:
lib/msun/src e_rem_pio2.c e_rem_pio2f.c
Log:
Use a temporary array instead of the arg array y[] for calling
__kernel_rem_pio2(). This simplifies analysis of aliasing and thus
results in better code for the usual case where __kernel_rem_pio2()
is not called. In particular, when __ieee854_rem_pio2[f]() is inlined,
it normally results in y[] being returned in registers. I couldn't
get this to work using the restrict qualifier.
In float precision, this saves 2-3% in most cases on amd64 and i386
(A64) despite it not being inlined in float precision yet. In double
precision, this has high variance, with an average gain of 2% for
amd64 and 0.7% for i386 (but a much larger gain for usual cases) and
some losses.
Revision Changes Path
1.17 +4 -4 src/lib/msun/src/e_rem_pio2.c
1.27 +4 -4 src/lib/msun/src/e_rem_pio2f.c
More information about the cvs-src
mailing list