This should fix it.

        * combine.c (force_to_mode <NOT>): Use gen_int_mode.

Index: gcc/combine.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/combine.c,v
retrieving revision 1.347
diff -u -p -r1.347 combine.c
--- gcc/combine.c       8 Mar 2003 01:38:25 -0000       1.347
+++ gcc/combine.c       14 Mar 2003 12:18:35 -0000
@@ -7358,7 +7358,8 @@ force_to_mode (x, mode, mask, reg, just_
              < GET_MODE_BITSIZE (GET_MODE (x)))
          && INTVAL (XEXP (XEXP (x, 0), 1)) < HOST_BITS_PER_WIDE_INT)
        {
-         temp = GEN_INT (mask << INTVAL (XEXP (XEXP (x, 0), 1)));
+         temp = gen_int_mode (mask << INTVAL (XEXP (XEXP (x, 0), 1)),
+                              GET_MODE (x));
          temp = gen_binary (XOR, GET_MODE (x), XEXP (XEXP (x, 0), 0), temp);
          x = gen_binary (LSHIFTRT, GET_MODE (x), temp, XEXP (XEXP (x, 0), 1));
 
-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


Reply via email to