]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR middle-end/52140 (Libdfp testcase encounters ICE when compiled with...
authorPeter Bergner <bergner@vnet.ibm.com>
Thu, 9 Feb 2012 14:55:57 +0000 (08:55 -0600)
committerPeter Bergner <bergner@gcc.gnu.org>
Thu, 9 Feb 2012 14:55:57 +0000 (08:55 -0600)
Backport from mainline
2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>

gcc/
PR middle-end/52140
* dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.

gcc/testsuite/
PR middle-end/52140
* gcc.dg/dfp/pr52140.c: New test.

From-SVN: r184046

gcc/ChangeLog
gcc/dojump.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/dfp/pr52140.c [new file with mode: 0644]

index 119534e69faa1a8d0cc57e4d85037f82812ac922..7fe19d29d83253425362686bced7311ff2c2470b 100644 (file)
@@ -1,3 +1,11 @@
+2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
+
+       Backport from mainline 
+       2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
+
+       PR middle-end/52140
+       * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
+
 2012-02-09  Andrey Belevantsev  <abel@ispras.ru>
 
        Backport from mainline 
index 0ebf932cfc5618933db2a48ad48f994977585976..801436b111868f896e8873e7fb60b05eabcc55a4 100644 (file)
@@ -1023,7 +1023,7 @@ do_compare_rtx_and_jump (rtx op0, rtx op1, enum rtx_code code, int unsignedp,
     }
   else
     {
-      if (GET_MODE_CLASS (mode) == MODE_FLOAT
+      if (SCALAR_FLOAT_MODE_P (mode)
          && ! can_compare_p (code, mode, ccp_jump)
          && can_compare_p (swap_condition (code), mode, ccp_jump))
        {
@@ -1034,7 +1034,7 @@ do_compare_rtx_and_jump (rtx op0, rtx op1, enum rtx_code code, int unsignedp,
          op1 = tmp;
        }
 
-      else if (GET_MODE_CLASS (mode) == MODE_FLOAT
+      else if (SCALAR_FLOAT_MODE_P (mode)
               && ! can_compare_p (code, mode, ccp_jump)
 
               /* Never split ORDERED and UNORDERED.  These must be implemented.  */
index 48b2aaf5b8290fe6a2311dae54f9cb4707799d95..ebc3533510e4caf790b452b4198d591f111cb4c5 100644 (file)
@@ -1,3 +1,11 @@
+2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
+
+       Backport from mainline
+       2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
+
+       PR middle-end/52140
+       * gcc.dg/dfp/pr52140.c: New test.
+
 2012-02-09  Andrey Belevantsev  <abel@ispras.ru>
 
        Backport from mainline
diff --git a/gcc/testsuite/gcc.dg/dfp/pr52140.c b/gcc/testsuite/gcc.dg/dfp/pr52140.c
new file mode 100644 (file)
index 0000000..ca878f2
--- /dev/null
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-options "-O1" } */
+
+/* This used to result in an ICE.  */
+
+int
+foo (_Decimal64 x, _Decimal64 y)
+{
+  return (x < y) || (x > y);
+}