[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Bug target/13722] [3.4/3.5 regression] [ia64] ICE in push_secondary_reload



------- Additional Comments From rth at redhat dot com  2004-01-23 08:24 -------
Subject: Re: PR 13722 candidate fix

On Thu, Jan 22, 2004 at 11:43:40PM -0800, Zack Weinberg wrote:
> +	    out[0] = adjust_automodify_address
> +	      (in, DImode, gen_rtx_POST_INC (Pmode, base), 0);
> +
> +	    if (GET_CODE (XEXP (offset, 1)) == REG)
> +	      {
> +		rtx reg = XEXP (offset, 1);
> +		/* Tweak the index register, then emit the first move as
> +		   a POST_INC and the second as the original POST_MODIFY.  */
> +		emit_insn (GEN_FCN (add_optab->handlers[GET_MODE (reg)].insn_code)
> +			   (reg, reg, GEN_INT (-8)));

You can't modify the POST_MODIFY operand.
You need to modify the address register a third time, ie.

	ld8	x = [a], 8
	ld8	y = [a], -8
	add	a = r, a
or
	ld8	x = [a], 8
	ld8	y = [a], r
	adds	a = -8, a



r~


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13722

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



Reply to: