1. 23 2月, 2014 2 次提交
  2. 10 2月, 2014 2 次提交
    • S
      7ee48f7b
    • S
      fix fesetenv(FE_DFL_ENV) on i386 · 929729d4
      Szabolcs Nagy 提交于
      the default fenv was not set up properly, in particular the
      tag word that indicates the contents of the x87 registers was
      set to 0 (used) instead of 0xffff (empty)
      
      this could cause random crashes after setting the default fenv
      because it corrupted the fpu stack and then any float computation
      gives NaN result breaking the program logic (usually after a
      float to integer conversion).
      929729d4
  3. 29 10月, 2013 1 次提交
    • S
      fenv: fix i386 fesetround for sse · 7e01b8f0
      Szabolcs Nagy 提交于
      i386 fenv code checks __hwcap for sse support, but in fesetround the sse
      code was unconditionally jumped over after the test so the sse rounding
      mode was never set.
      7e01b8f0
  4. 28 8月, 2013 1 次提交
  5. 19 8月, 2013 4 次提交
  6. 17 8月, 2013 1 次提交
  7. 19 11月, 2012 2 次提交
  8. 14 11月, 2012 1 次提交
  9. 13 11月, 2012 1 次提交
  10. 19 10月, 2012 1 次提交
  11. 18 3月, 2012 4 次提交
  12. 17 3月, 2012 1 次提交
    • N
      fix i386 fegetround and make fesetround faster · 88cfaf8a
      nsz 提交于
      Note that the new fesetround has slightly different semantics:
      
      Storing the floating-point environment with fnstenv makes the
      next fldenv (or fldcw) "non-signaling", so unmasked and pending
      exceptions does not invoke the exception handler.
      (These are rare since exceptions are handled immediately and by
      default all exceptions are masked anyway. But if one manually
      unmasks an exception in the control word then either sets the
      corresponding exception flag in the status word or the execution
      of an exception raising floating-point operation gets interrupted
      then it may happen).
      So the old implementation did not trap in some rare cases
      where the new implementation traps.
      
      However POSIX does not specify anything like the x87 exception
      handling traps and the fnstenv/fldenv pair is significantly slower
      than the fnstcw/fldcw pair (new code is about 5x faster here and
      it's dominated by the function call overhead).
      88cfaf8a
  13. 29 6月, 2011 1 次提交
  14. 14 6月, 2011 2 次提交
  15. 13 6月, 2011 1 次提交
    • R
      floating point environment, untested · b09b7890
      Rich Felker 提交于
      at present the i386 code does not support sse floating point, which is
      not part of the standard i386 abi. while it may be desirable to
      support it later, doing so will reduce performance and require some
      tricks to probe if sse support is present.
      
      this first commit is i386-only, but it should be trivial to port the
      asm to x86_64.
      b09b7890