This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/71869] __builtin_isgreater raises an invalid exception on PPC64 using __float128 inputs.


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  <meissner@linux.vnet.ibm.com>

        Backport from trunk
        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-08-04  Michael Meissner  <meissner@linux.vnet.ibm.com>

        Backport from trunk
        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.


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]