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

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 12 11:53:11 PDT 2021


ABataev added a comment.

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

> 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?

If we can generate in a more effective way, than a sequence of shuffles, then probably yes.


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