[X86][Costmodel] `getReplicationShuffleCost()`: promote 1 bit-wide elements to 8...
authorRoman Lebedev <lebedev.ri@gmail.com>
Fri, 19 Nov 2021 12:55:31 +0000 (15:55 +0300)
committerRoman Lebedev <lebedev.ri@gmail.com>
Fri, 19 Nov 2021 12:58:10 +0000 (15:58 +0300)
commit049799c311515c8c8b5daf91b4a731870ed54afe
treeb943ccfd600ccf35b8721d240e1ba8fb5ad72a1e
parenta751084bb4521f0847f39e9eb564e225ccce311e
[X86][Costmodel] `getReplicationShuffleCost()`: promote 1 bit-wide elements to 8 bit when have AVX512BW+AVX512VBMI

If in addition to AVX512BW (that provides `{k}<->{i8,i16}` casts and i16 shuffles),
we have AVX512VBMI, which provides i8 shuffles, we are in an optimal situation.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D114071
llvm/lib/Target/X86/X86TargetTransformInfo.cpp
llvm/test/Analysis/CostModel/X86/shuffle-replication-i1.ll