]> 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:59:46 +0000 (08:59 -0600)
committerPeter Bergner <bergner@gcc.gnu.org>
Thu, 9 Feb 2012 14:59:46 +0000 (08:59 -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: r184047

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

index c6e8d9fb03ea7c8ba4eb7aea8b9c2af2cb76a5ec..71004dbb61dc87b10d29d053945cf7d71b391c09 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 c2ee427d7ac64b473de6cac7484e9d4a95c86410..28e894bb92777ba6f678b52b6e4cef4a2fecce52 100644 (file)
@@ -1022,7 +1022,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))
        {
@@ -1033,7 +1033,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 b3fea1f8050fa44399ad2cdcaecffa236675204b..067b36a951b822a5ad145ff99f2eac9d313cd63d 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);
+}