https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82488
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |trippels at gcc dot gnu.org --- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- diff --git a/gcc/expr.c b/gcc/expr.c index ee07de5aaa44..e9d8555c9452 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -4100,10 +4100,13 @@ fixup_args_size_notes (rtx_insn *prev, rtx_insn *last, int end_args_size) if (STACK_GROWS_DOWNWARD) this_delta = -(unsigned HOST_WIDE_INT) this_delta; - args_size -= this_delta; + if (saw_unknown) + args_size = INT_MIN; + else + args_size -= this_delta; } - return saw_unknown ? INT_MIN : args_size; + return args_size; } #ifdef PUSH_ROUNDING