[PATCH] Fix ICE in do_SUBST

Richard Henderson rth@redhat.com
Thu May 16 18:32:00 GMT 2002


On Fri, May 17, 2002 at 12:35:39AM +0200, Jakub Jelinek wrote:
> -      /* If OP1 is a CONST_INT and X is an IOR or XOR, clear bits outside
> -	 MASK since OP1 might have been sign-extended but we never want
> -	 to turn on extra bits, since combine might have previously relied
> -	 on them being off.  */
> -      if (GET_CODE (op1) == CONST_INT && (code == IOR || code == XOR)
> -	  && (INTVAL (op1) & mask) != 0)
> -	op1 = GEN_INT (INTVAL (op1) & mask);

It appears that MASK can be arbitrary.  I don't feel good about
removing this entirely.  How about

	op1 = gen_int_mode (INTVAL (op1) & mask, op_mode);


r~



More information about the Gcc-patches mailing list