2002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
* config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
which may overwrite the high byte of the frame pointer.
From-SVN: r53629
+2002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ 2002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
+ * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
+ which may overwrite the high byte of the frame pointer.
+
2002-03-19 Lars Brinkhoff <lars@nocrew.org>
* emit-rtl.c (gen_int_mode): New function.
int regno;
enum machine_mode mode;
{
+ /* Bug workaround: recog.c (peep2_find_free_register) and probably
+ a few other places assume that the frame pointer is a single hard
+ register, so r29 may be allocated and overwrite the high byte of
+ the frame pointer. Do not allow any value to start in r29. */
+ if (regno == REG_Y + 1)
+ return 0;
+
if (mode == QImode)
return 1;
/* if (regno < 24 && !AVR_ENHANCED)