https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119174

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2025-03-09
           Keywords|                            |missed-optimization
             Status|UNCONFIRMED                 |NEW

--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note the same effect can be seen on aarch64 (though not the wrong code part due
to reload vs LRA):

      Popping a3(r109,l0)  --         assign reg 1

And then getting:
.L2:
        cmp     w20, w19
        bgt     .L3
        ldp     x19, x20, [sp, 16]
        ldp     x29, x30, [sp], 48
        ret
.L3:
        .cfi_restore_state
        ldr     x2, [x1, x19, lsl 3]
        str     x1, [sp, 40]
        add     x19, x19, 1
        blr     x2
        ldr     x1, [sp, 40]
        b       .L2

See the spill around the call.

Reply via email to