https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122504
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #3)
> ```
> Trying 6 -> 7:
> 6: r92:DI=`f1'
> REG_EQUAL `f1'
> 7: call [r92:DI] argc:0
> REG_DEAD r92:DI
> REG_CALL_DECL `f1'
> Successfully matched this instruction:
> (parallel [
> (call (mem:DI (symbol_ref:DI ("f1") [flags 0x41] <function_decl
> 0x793a1bc28000 f1>) [0 f1 S8 A8])
> (const_int 0 [0]))
> (clobber (reg:DI 30 x30))
> ])
> allowing combination of insns 6 and 7
> original costs 4 + 0 = 0
> replacement cost 0
> deferring deletion of insn with uid = 6.
> modifying insn i3 7: call [`f1'] argc:0
> REG_CALL_DECL `f1'
> deferring rescan insn with uid = 7.
> ```
>
> is the cause.
>
> That is due to r8-685-g47210a041b3b40 .
Basically we combine the indirect call into a direct one and then have to undo
it again.