[PATCH] D100684: [X86][CostModel] X86TTIImpl::getMemoryOpCost(): rewrite vector handling again

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 12 11:50:41 PDT 2021


lebedev.ri added a comment.

In D100684#2754166 <https://reviews.llvm.org/D100684#2754166>, @ABataev wrote:

> In D100684#2754163 <https://reviews.llvm.org/D100684#2754163>, @lebedev.ri wrote:
>
>> Thank you for replying!
>>
>> In D100684#2754152 <https://reviews.llvm.org/D100684#2754152>, @RKSimon wrote:
>>
>>> IIRC the need for those interleaved costs was because we couldn't determine accurate 'lane crossing' vs 'non lane crossing' general shuffle costs - now that we have access to the shuffle mask it might be possible to recognise these a little better.
>>
>> So the comment is that i should first try to costmodel generic shuffles? (`X86TTIImpl::getShuffleCost()`)
>
> I have initial patch for the shuffles D100486 <https://reviews.llvm.org/D100486>

That is good to hear!
However, i'm not actually sure if we can just use `X86TTIImpl::getShuffleCost()` here directly.
Won't the shuffle expansion result in overlapping shuffles, that we'll bill more than once?
I.e., don't we need to have our own implementation?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D100684



More information about the llvm-commits mailing list