Date: Mon, 21 Nov 2005 04:57:12 +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 k_cosf.c k_sinf.c k_tanf.c s_cosf.c s_sinf.c s_tanf.c Message-ID: <200511210457.jAL4vCCb002470@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
bde 2005-11-21 04:57:12 UTC
FreeBSD src repository
Modified files:
lib/msun/src k_cosf.c k_sinf.c k_tanf.c s_cosf.c
s_sinf.c s_tanf.c
Log:
Mess up the "kernel" float trig function .c files with ifdefs so that
they can be #included in other .c files to give inline functions, and
use them to inline the functions in most callers (not in e_lgammaf_r.c).
__kernel_tanf() is too large and complicated for gcc to inline very well.
An athlons, this gives a speed increase under favourable pipeline
conditions of about 10% overall (larger for AXP, smaller for A64).
E.g., on AXP, sinf() on uniformly distributed args in [-2Pi, 2Pi]
now takes 30-56 cycles; it used to take 45-61 cycles; hardware fsin
takes 65-129.
Revision Changes Path
1.13 +5 -0 src/lib/msun/src/k_cosf.c
1.11 +5 -0 src/lib/msun/src/k_sinf.c
1.15 +5 -0 src/lib/msun/src/k_tanf.c
1.11 +4 -0 src/lib/msun/src/s_cosf.c
1.11 +4 -0 src/lib/msun/src/s_sinf.c
1.12 +2 -0 src/lib/msun/src/s_tanf.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511210457.jAL4vCCb002470>
