https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120169
--- Comment #7 from Andreas Schwab <sch...@linux-m68k.org> --- So this is actually a bug in the lra pass: (insn 37 36 39 5 (set (mem:SI (pre_dec:SI (reg/f:SI 15 %sp)) [6 S1 A8]) (sign_extend:SI (reg:QI 52 [ _14 ]))) "Gdecl.ii":24:19 99 {*68k_extendqisi2} (expr_list:REG_DEAD (reg:QI 52 [ _14 ]) (expr_list:REG_ARGS_SIZE (const_int 4 [0x4]) (nil)))) This is split by lra: (insn 37 61 62 5 (set (reg:SI 1 %d1 [56]) (sign_extend:SI (reg:QI 1 %d1 [orig:56+3 ] [56]))) "Gdecl.ii":24:19 99 {*68k_extendqisi2} (expr_list:REG_ARGS_SIZE (const_int 4 [0x4]) (nil))) (insn 62 37 39 5 (set (mem:SI (pre_dec:SI (reg/f:SI 15 %sp)) [6 S1 A8]) (reg:SI 1 %d1 [56])) "Gdecl.ii":24:19 55 {*movsi_m68k2} (nil)) But the REG_ARGS_SIZE note needs to be moved to insn 62. In reload, this is done by fixup_args_size_notes.