[gcc]
commit751fef9508b2a1f46f739e3e56b8ae85bc7573b9
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Jul 2016 04:45:59 +0000 (27 04:45 +0000)
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Jul 2016 04:45:59 +0000 (27 04:45 +0000)
tree76123d85bedded1b1d2c3de87dfbed9c00881dce
parent038a0a0f91983e53f820bf7158eb4b6f344bd335
[gcc]
2016-07-26  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71869
* config/rs6000/rs6000.c (rs6000_generate_compare): Rework
__float128 support when we don't have hardware support, so that
the IEEE built-in functions like isgreater, first call __unordkf3
to make sure neither operand is a NaN, and if both operands are
ordered, do the normal comparison.

[gcc/testsuite]
2016-07-26  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71869
* gcc.target/powerpc/float128-cmp.c: New test to make sure that
IEEE built-in functions handle quiet and signalling NaNs
correctly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238779 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/float128-cmp.c [new file with mode: 0644]