cvs commit: src/lib/msun/src e_rem_pio2.c e_rem_pio2f.c

Bruce Evans bde at FreeBSD.org
Mon Feb 25 18:28:58 UTC 2008


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


More information about the cvs-src mailing list