diff options
Diffstat (limited to 'gcc/config/avr/avr.md')
-rw-r--r-- | gcc/config/avr/avr.md | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md index 436f036704a..14f9298f305 100644 --- a/gcc/config/avr/avr.md +++ b/gcc/config/avr/avr.md @@ -334,10 +334,9 @@ (unspec_volatile:HI [(const_int 0)] UNSPECV_GOTO_RECEIVER))] "" { + rtx offset = gen_int_mode (targetm.starting_frame_offset (), Pmode); emit_move_insn (virtual_stack_vars_rtx, - gen_rtx_PLUS (Pmode, hard_frame_pointer_rtx, - gen_int_mode (STARTING_FRAME_OFFSET, - Pmode))); + gen_rtx_PLUS (Pmode, hard_frame_pointer_rtx, offset)); /* ; This might change the hard frame pointer in ways that aren't ; apparent to early optimization passes, so force a clobber. */ emit_clobber (hard_frame_pointer_rtx); |