https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69246
--- Comment #5 from Segher Boessenkool <segher at gcc dot gnu.org> --- The following patch does the trick, if having REG_ARGS_SIZE on sibcalls is correct that is. I couldn't find any documentation on REG_ARGS_SIZE. --- 8< --- diff --git a/gcc/combine.c b/gcc/combine.c index d088031..65091e2 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -13690,7 +13690,8 @@ distribute_notes (rtx notes, rtx_insn *from_insn, rtx_in gcc_assert (old_size != args_size || (CALL_P (i3) && !ACCUMULATE_OUTGOING_ARGS - && find_reg_note (i3, REG_NORETURN, NULL_RTX))); + && (find_reg_note (i3, REG_NORETURN, NULL_RTX) + || SIBLING_CALL_P (i3)))); } break; --- 8< ---