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, rtl-optimization]: Fix PR rtl-optimization/33846, ICE in trunc_int_for_mode, at explow.c:55



A couple of lines above (line 9345 in combine.c), where we have:

	case NOT:
	  /* Make this fit the case below.  */
	  varop = gen_rtx_XOR (mode, XEXP (varop, 0),
			       GEN_INT (GET_MODE_MASK (mode)));

You should try fixing this to create a CONST_VECTOR if the mode is a vector mode. I'd hope the fix is as easy as


  varop = gen_rtx_XOR (mode, XEXP (varop, 0),
                       simplify_const_unary_operation
                       (NOT, mode, CONST0_RTX (mode), mode));

Or, you could create a CONSTM1_RTX set of constants too.

Paolo


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