cvs commit: src/lib/msun/src s_rintl.c

Bruce Evans bde at
Fri Feb 22 11:59:06 UTC 2008

bde         2008-02-22 11:59:05 UTC

  FreeBSD src repository

  Modified files:
    lib/msun/src         s_rintl.c 
  Optimize the conversion to bits a little (by about 11 cycles or 16%
  on i386 (A64), 5 cycles on amd64 (A64), and 3 cycles on ia64).  gcc
  tends to generate very bad code for accessing floating point values
  as bits except when the integer accesses have the same width as the
  floating point values, and direct accesses to bit-fields (as is common
  only for long double precision) always gives such accesses.  Use the
  expsign access method, which is good for 80-bit long doubles and
  hopefully no worse for 128-bit long doubles.  Now the generated code
  is less bad.  There is still unnecessary copying of the arg on amd64
  and i386 and mysterious extra slowness on amd64.
  Revision  Changes    Path
  1.5       +13 -5     src/lib/msun/src/s_rintl.c

More information about the cvs-src mailing list