https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71761
--- Comment #12 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #11) > Patch posted: > https://gcc.gnu.org/pipermail/gcc-patches/2025-June/687297.html I have a new patch in testing which fixes the targetm.calls.structure_value_rtx issue that was found. ``` diff --git a/gcc/calls.cc b/gcc/calls.cc index 7cd0d72f3ed..ffb57622389 100644 --- a/gcc/calls.cc +++ b/gcc/calls.cc @@ -3693,7 +3693,7 @@ expand_call (tree exp, rtx target, int ignore) /* Pass the function the address in which to return a structure value. */ - if (pass != 0 && structure_value_addr && ! structure_value_addr_parm) + if (structure_value_addr && ! structure_value_addr_parm) { structure_value_addr = convert_memory_address (Pmode, structure_value_addr); ``` Basically before, pass would always be 1 when structure_value_addr is non-null. But now we need the case where pass is 0 which is for the tail call expansion.