+2013-07-10 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/57844
+ * config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
+ of my_fp.
+
2013-07-10 Georg-Johann Lay <avr@gjlay.de>
PR target/57506
leaf function and thus X has already been saved. */
int irq_state = -1;
- HOST_WIDE_INT size_cfa = size;
+ HOST_WIDE_INT size_cfa = size, neg_size;
rtx fp_plus_insns, fp, my_fp;
gcc_assert (frame_pointer_needed
}
size = trunc_int_for_mode (size, GET_MODE (my_fp));
+ neg_size = trunc_int_for_mode (-size, GET_MODE (my_fp));
/************ Method 1: Adjust frame pointer ************/
}
insn = emit_move_insn (my_fp, plus_constant (GET_MODE (my_fp),
- my_fp, -size));
+ my_fp, neg_size));
+
if (frame_pointer_needed)
{
RTX_FRAME_RELATED_P (insn) = 1;