re PR target/71869 (__builtin_isgreater raises an invalid exception on PPC64 using...
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Wed, 27 Jul 2016 04:45:59 +0000 (04:45 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Wed, 27 Jul 2016 04:45:59 +0000 (04:45 +0000)
commit71abba1e35b19466c722cc987c115a1f6546a1a6
tree76123d85bedded1b1d2c3de87dfbed9c00881dce
parent2f65c3b3377fc645b071f826f8f02776fb11cae8
re PR target/71869 (__builtin_isgreater raises an invalid exception on PPC64 using __float128 inputs.)

[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.

From-SVN: r238779
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/float128-cmp.c [new file with mode: 0644]