Commit 678584fc by Denis Chertykov Committed by Denis Chertykov

re PR target/15417 (ICE while building an avr-cross compiler)

	PR target/15417
	* config/avr/avr.c (avr_hard_regno_mode_ok): Enable usage of
	frame pointer register only in Pmode while reload in progress.

From-SVN: r86842
parent 43b43057
2004-08-31 Denis Chertykov <denisc@overta.ru>
PR target/15417
* config/avr/avr.c (avr_hard_regno_mode_ok): Enable usage of
frame pointer register only in Pmode while reload in progress.
2004-08-31 Stephane Carrez <stcarrez@nerim.fr>
PR target/15334
......
......@@ -5125,6 +5125,12 @@ avr_hard_regno_mode_ok (int regno, enum machine_mode mode)
if (regno == REG_Y + 1)
return 0;
/* Reload can use r28:r29 for reload register and for frame pointer
in one insn. It's wrong. We must disable it. */
if (mode != Pmode && reload_in_progress && frame_pointer_required_p ()
&& regno <= REG_Y && (regno + GET_MODE_SIZE (mode)) >= (REG_Y + 1))
return 0;
if (mode == QImode)
return 1;
/* if (regno < 24 && !AVR_ENHANCED)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment