cse.c (try_const_anchors): Punt on CC modes.
authorRichard Sandiford <rdsandiford@googlemail.com>
Mon, 16 Sep 2013 07:24:15 +0000 (07:24 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 16 Sep 2013 07:24:15 +0000 (07:24 +0000)
gcc/
* cse.c (try_const_anchors): Punt on CC modes.

From-SVN: r202613

gcc/ChangeLog
gcc/cse.c

index 097dbcd42bd4beb284ce6e2a5df6962488a711a9..600b72e435390bc1ab83ba011d101e3ad2a7e0e9 100644 (file)
@@ -1,3 +1,7 @@
+2013-09-16  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * cse.c (try_const_anchors): Punt on CC modes.
+
 2013-09-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
 
        * config/vax/constraints.md (T): Add missing CONSTANT_P check.
index b96af19f9e45a1fa933e70ffaf0400aac8648aae..664a963f1ac386c5f60eb3b333bb0674a5f5fe9d 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -1354,6 +1354,11 @@ try_const_anchors (rtx src_const, enum machine_mode mode)
   rtx lower_exp = NULL_RTX, upper_exp = NULL_RTX;
   unsigned lower_old, upper_old;
 
+  /* CONST_INT is used for CC modes, but we should leave those alone.  */
+  if (GET_MODE_CLASS (mode) == MODE_CC)
+    return NULL_RTX;
+
+  gcc_assert (SCALAR_INT_MODE_P (mode));
   if (!compute_const_anchors (src_const, &lower_base, &lower_offs,
                              &upper_base, &upper_offs))
     return NULL_RTX;