https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71869
--- Comment #3 from Michael Meissner <meissner at gcc dot gnu.org> --- Author: meissner Date: Thu Aug 4 21:25:05 2016 New Revision: 239154 URL: https://gcc.gnu.org/viewcvs?rev=239154&root=gcc&view=rev Log: [gcc] 2016-08-04 Michael Meissner <meiss...@linux.vnet.ibm.com> Backport from trunk 2016-07-26 Michael Meissner <meiss...@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-08-04 Michael Meissner <meiss...@linux.vnet.ibm.com> Backport from trunk 2016-07-26 Michael Meissner <meiss...@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. Added: branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/float128-cmp.c - copied unchanged from r239143, trunk/gcc/testsuite/gcc.target/powerpc/float128-cmp.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/config/rs6000/rs6000.c branches/gcc-6-branch/gcc/testsuite/ChangeLog