[X86][Costmodel] `getReplicationShuffleCost()`: implement cost model for 16 bit-wide...
authorRoman Lebedev <lebedev.ri@gmail.com>
Wed, 10 Nov 2021 19:50:33 +0000 (22:50 +0300)
committerRoman Lebedev <lebedev.ri@gmail.com>
Wed, 10 Nov 2021 19:52:39 +0000 (22:52 +0300)
commitc6e894b9b26897586322bb42fc36eddb65d8d503
treebb9649aeaabedd02ef4a52ca95d7511d53a33600
parent4101c7bf197172ce48c574c683628a387c073fd8
[X86][Costmodel] `getReplicationShuffleCost()`: implement cost model for 16 bit-wide elements with AVX512BW

BWI introduced VPERMW, so cost-model i16 replication shuffle using it.
Note that we can still model i16 replication shufflle without BWI,
by promoting to i32. That will be done in follow-ups.

Reviewed By: RKSimon

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