combine.c (simplify_rtx): Do nothing with (truncate:mode) if mode is a partial intege...
authorJeff Law <law@gcc.gnu.org>
Mon, 3 Mar 1997 20:12:07 +0000 (13:12 -0700)
committerJeff Law <law@gcc.gnu.org>
Mon, 3 Mar 1997 20:12:07 +0000 (13:12 -0700)
        * combine.c (simplify_rtx): Do nothing with (truncate:mode) if
        mode is a partial integer mode.

From-SVN: r13686

gcc/combine.c

index 6a6ebb4dbfa2d78b2d6b0c9a472af98fc77f04b0..2300ce91128d2651ba0fbab7e7a78c8c98040d5c 100644 (file)
@@ -3590,6 +3590,12 @@ simplify_rtx (x, op0_mode, last, in_dest)
       break;
 
     case TRUNCATE:
+      /* We can't handle truncation to a partial integer mode here
+        because we don't know the real bitsize of the partial
+        integer mode.  */
+      if (GET_MODE_CLASS (mode) == MODE_PARTIAL_INT)
+       break;
+
       if (GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT)
        SUBST (XEXP (x, 0),
               force_to_mode (XEXP (x, 0), GET_MODE (XEXP (x, 0)),