[PATCH] D111031: [WIP][X86][Costmodel] Load/store i64/f64 Stride=3 VF=16 interleaving costs

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 3 16:00:32 PDT 2021


lebedev.ri added a comment.

In D111031#3039010 <https://reviews.llvm.org/D111031#3039010>, @lebedev.ri wrote:

> In D111031#3039005 <https://reviews.llvm.org/D111031#3039005>, @RKSimon wrote:
>
>> We are quite limited - even adding all xmm0 to the llvm-mca asm capture (~{xmm0} etc.) has very little effect - short of hand coding something, I think what you have here is at least a realistic magnitude vaue.
>
> Right.
>
>> I'm happy to accept this if you want.
>
> Hmm, what if we omit the epilogue stores in the load case: https://godbolt.org/z/43ao6qYvK -- does load interleaving cost of `18` seem more/less realistic?
> It would be good to also ignore the prologue loads, since we'll cost them twice
>
> And likewise for interleaved store case: https://godbolt.org/z/1EjY3fqPG -- does interleaving store cost of `18` seem more/less realistic?

Correction, wrong second link.

After messing around with it, i think i can sorta get rid of memory ops in the store case: https://godbolt.org/z/do6nTcY85
That results in interleaved store cost of `24`, which seems to be in the same ballpark as with the memory ops,
and follows the trend of ~doubling the cost with double the VF. Looks better?

Likewise for load: https://godbolt.org/z/z11crMEcj
I guess i'll just update the review.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111031/new/

https://reviews.llvm.org/D111031



More information about the llvm-commits mailing list