Date: Mon, 25 Feb 2008 18:28:58 +0000 (UTC) From: Bruce Evans <bde@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/lib/msun/src e_rem_pio2.c e_rem_pio2f.c Message-ID: <200802251828.m1PISwno002525@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802251828.m1PISwno002525>
