cvs commit: src/lib/msun/src k_cosf.c k_sinf.c k_tanf.c s_cosf.c
s_sinf.c s_tanf.c
Bruce Evans
bde at FreeBSD.org
Mon Nov 21 04:57:12 GMT 2005
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
More information about the cvs-src
mailing list