OSDN Git Service

* combine.c (simplify_rtx): Do nothing with (truncate:mode) if
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 3 Mar 1997 20:12:07 +0000 (20:12 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 3 Mar 1997 20:12:07 +0000 (20:12 +0000)
        mode is a partial integer mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13686 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/combine.c

index 6a6ebb4..2300ce9 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)),