Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Mar 2008 18:07: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 e_hypot.c e_hypotf.c
Message-ID:  <200803301807.m2UI7CNR007979@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
bde         2008-03-30 18:07:12 UTC

  FreeBSD src repository

  Modified files:
    lib/msun/src         e_hypot.c e_hypotf.c 
  Log:
  Use fabs[f]() instead of bit fiddling for setting absolute values.
  This makes little difference in float precision, but in double
  precision gives a speedup of about 30% on amd64 (A64 CPU) and i386
  (A64).  This depends on fabs[f]() being inline and efficient.  The
  bit fiddling (or any use of SET_HIGH_WORD(), which libm does too
  much because it was best on old 32-bit machines) always causes
  packing overheads and sometimes causes stalls in the packing, since
  it operates on only part of a variable in the double precision case.
  It apparently did cause stalls in a critical path here.
  
  Revision  Changes    Path
  1.12      +2 -2      src/lib/msun/src/e_hypot.c
  1.13      +2 -2      src/lib/msun/src/e_hypotf.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803301807.m2UI7CNR007979>