https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93583
--- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> --- The testcase reproduces the issue on x86_64 with diff --git a/gcc/calls.c b/gcc/calls.c index b5ccfaced37..d27c9fb67a7 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -3684,7 +3684,7 @@ expand_call (tree exp, rtx target, int ignore) rtx argblock = 0; /* Mask of ECF_ and ERF_ flags. */ - int flags = 0; + int flags = ECF_MALLOC; int return_flags = 0; #ifdef REG_PARM_STACK_SPACE /* Define the boundary of the register parm stack space that needs to be so somehow on x86 the malloc flag gets cleared (or on the testcase which might be too simplistic).