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