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

--- Comment #2 from Dhruv Chawla <dhruvc at gcc dot gnu.org> ---
(In reply to Drea Pinski from comment #1)
> Reading this it really does seem like really really bad luck.
>

Pretty much, yeah. It is like
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122455#c13 where store-to-load
forwarding for pair-fused ops is the culprit, though it is slightly different
here.

> The only thing I can think of is maybe we should not save/restore using
> stp/ldp after all.  But doesn't the ABI require that?
> 
> Also I am not seeing the regression on the hardware I have access to.  So
> this seems like something you should really report to the hw designers too.

I was able to repro it on both Grace (Neoverse-v2) and DGX Spark (Cortex-X925).
What hardware are you using? With the min-repro, you should see results like:

                       Neoverse-V2 (Grace)   Cortex-X925
  count in x22         5.61 ns/iter          6.80 ns/iter
  count in x24         1.82 ns/iter          2.19 ns/iter

Reply via email to