Fix i386 FP_TRAPPING_EXCEPTIONS.
commitca6c7c2e4af8538e0d46432b582d4b9e811990e9
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Sep 2014 12:00:21 +0000 (18 12:00 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Sep 2014 12:00:21 +0000 (18 12:00 +0000)
treef8eda81754a6c8acd78502eec0b4a7e3ff0fcef7
parent1445381430e5b67a3d1a96a93b4ba60e6a1cf7a8
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215347 138bc75d-0d04-0410-961f-82ee72b054a4
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