This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix ICE in do_SUBST


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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]