Fix i386 FP_TRAPPING_EXCEPTIONS.
authorJoseph Myers <joseph@codesourcery.com>
Thu, 18 Sep 2014 12:00:21 +0000 (13:00 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Thu, 18 Sep 2014 12:00:21 +0000 (13:00 +0100)
commite770bfd997bb5803b88ca4081bdbca3e250fc92e
treef8eda81754a6c8acd78502eec0b4a7e3ff0fcef7
parentb5a260238027e86912c39df2147e345ca8a6ed26
Fix i386 FP_TRAPPING_EXCEPTIONS.

The i386 sfp-machine.h defines FP_TRAPPING_EXCEPTIONS in a way that is
always wrong: it treats a set bit as indicating the exception is
trapping, when actually a set bit (both for 387 and SSE floating
point) indicates it is masked, and a clear bit indicates it is
trapping.  This patch fixes this bug.

Bootstrapped with no regressions on x86_64-unknown-linux-gnu.

libgcc:
* config/i386/sfp-machine.h (FP_TRAPPING_EXCEPTIONS): Treat clear
bits not set bits as indicating trapping exceptions.

gcc/testsuite:
* gcc.dg/torture/float128-exact-underflow.c: New test.

From-SVN: r215347
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/float128-exact-underflow.c [new file with mode: 0644]
libgcc/ChangeLog
libgcc/config/i386/sfp-machine.h