Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Mar 2005 20:34:45 +0000 (UTC)
From:      David Schultz <das@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/lib/msun/ia64 fenv.h
Message-ID:  <200503052034.j25KYjjp099649@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
das         2005-03-05 20:34:45 UTC

  FreeBSD src repository

  Modified files:
    lib/msun/ia64        fenv.h 
  Log:
  Work around a gcc bug.  This fixes feholdexcept() et al. at -O1.
  Symptoms of the problem included assembler warnings and
  nondeterministic runtime behavior when a fe*() call that affects the
  fpsr is closely followed by a float point op.
  
  The bug (at least, I think it's a bug) is that gcc does not insert a
  break between a volatile asm and a dependent instruction if the
  volatile asm came from an inlined function.  Volatile asms seem to be
  fine in other circumstances, even without -mvolatile-asm-stop, so
  perhaps the compiler adds the stop bits before inlining takes place.
  The problem does not occur at -O0 because inlining is disabled, and it
  doesn't happen at -O2 because -fschedule-insns2 knows better.
  
  Revision  Changes    Path
  1.3       +1 -1      src/lib/msun/ia64/fenv.h



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