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>