re PR target/33551 (ICE: RTL check: expected elt 0 type 'i' or 'n', have 'w' (rtx...
authorDJ Delorie <dj@redhat.com>
Wed, 26 Sep 2007 00:03:07 +0000 (20:03 -0400)
committerDJ Delorie <dj@gcc.gnu.org>
Wed, 26 Sep 2007 00:03:07 +0000 (20:03 -0400)
PR target/33551
* config/m32c/m32c.c (m32c_immd_dbl_mov): Use INTVAL instead of
XINT.

From-SVN: r128773

gcc/ChangeLog
gcc/config/m32c/m32c.c

index 7fe782828536f9bc805ef9adc818ce604b559f37..604f0d40426e9b2fef540967928e45f4788ff1bf 100644 (file)
@@ -1,3 +1,9 @@
+2007-09-25  DJ Delorie  <dj@redhat.com>
+
+       PR target/33551
+       * config/m32c/m32c.c (m32c_immd_dbl_mov): Use INTVAL instead of
+       XINT.
+
 2007-09-25  Michael Meissner  <michael.meissner@amd.com>
 
        PR c/33524
index 74de4166149f5cbce82cb9f4bdb47f9ef31a3c69..cd559e4f5b19a9315d6af20336c459fa615998c4 100644 (file)
@@ -2993,7 +2993,7 @@ m32c_immd_dbl_mov (rtx * operands,
            && GET_CODE (XEXP (XEXP (XEXP (operands[0], 0), 0), 0)) == SYMBOL_REF
            && MEM_SCALAR_P (operands[0])
            && !MEM_IN_STRUCT_P (operands[0])
-           && !(XINT (XEXP (XEXP (XEXP (operands[0], 0), 0), 1), 0) %4)
+           && !(INTVAL (XEXP (XEXP (XEXP (operands[0], 0), 0), 1)) %4)
            && GET_CODE (XEXP (operands[2], 0)) == CONST
            && GET_CODE (XEXP (XEXP (operands[2], 0), 0)) == PLUS
            && GET_CODE (XEXP (XEXP (XEXP (operands[2], 0), 0), 0)) == SYMBOL_REF
@@ -3007,7 +3007,7 @@ m32c_immd_dbl_mov (rtx * operands,
            &&  GET_CODE (XEXP (XEXP (operands[0], 0), 1)) == CONST_INT
            &&  MEM_SCALAR_P (operands[0])
            &&  !MEM_IN_STRUCT_P (operands[0])
-           &&  !(XINT (XEXP (XEXP (operands[0], 0), 1), 0) %4)
+           &&  !(INTVAL (XEXP (XEXP (operands[0], 0), 1)) %4)
            &&  REGNO (XEXP (XEXP (operands[2], 0), 0)) == FB_REGNO 
            &&  GET_CODE (XEXP (XEXP (operands[2], 0), 1)) == CONST_INT
            &&  MEM_SCALAR_P (operands[2])
@@ -3036,8 +3036,8 @@ m32c_immd_dbl_mov (rtx * operands,
        okflag = 0; 
       break; 
     case 3:
-      offset1 = XINT (XEXP (XEXP (operands[0], 0), 1), 0);
-      offset2 = XINT (XEXP (XEXP (operands[2], 0), 1), 0);
+      offset1 = INTVAL (XEXP (XEXP (operands[0], 0), 1));
+      offset2 = INTVAL (XEXP (XEXP (operands[2], 0), 1));
       offsetsign = offset1 >> ((sizeof (offset1) * 8) -1);
       if (((offset2-offset1) == 2) && offsetsign != 0)
        okflag = 1;
@@ -3053,7 +3053,7 @@ m32c_immd_dbl_mov (rtx * operands,
       HOST_WIDE_INT val;
       operands[4] = gen_rtx_MEM (SImode, XEXP (operands[0], 0));
 
-      val = (XINT (operands[3], 0) << 16) + (XINT (operands[1], 0) & 0xFFFF);
+      val = (INTVAL (operands[3]) << 16) + (INTVAL (operands[1]) & 0xFFFF);
       operands[5] = gen_rtx_CONST_INT (VOIDmode, val);
      
       return true;