[X86][Costmodel] `getReplicationShuffleCost()`: implement cost model for 8 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:40 +0000 (22:52 +0300)
commita70d74323e0423a9ec5df64468ea6afee3cbdcf3
treecc7b3c85ebafa11ca009e1387afc7cf5d8ea97d4
parentc6e894b9b26897586322bb42fc36eddb65d8d503
[X86][Costmodel] `getReplicationShuffleCost()`: implement cost model for 8 bit-wide elements with AVX512VBMI

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

Reviewed By: RKSimon

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