[TTI] Add generic cost handling of SK_Reverse shuffles

These can be treated as a general permute.

This required a fix for missing reverse patterns on ARM

llvm-svn: 345015
This commit is contained in:
Simon Pilgrim 2018-10-23 09:42:10 +00:00
parent 1c95b2f779
commit 816e57be35
2 changed files with 3 additions and 0 deletions

View File

@ -555,6 +555,7 @@ public:
Type *SubTp) {
switch (Kind) {
case TTI::SK_Select:
case TTI::SK_Reverse:
case TTI::SK_Transpose:
case TTI::SK_PermuteSingleSrc:
case TTI::SK_PermuteTwoSrc:

View File

@ -412,6 +412,8 @@ int ARMTTIImpl::getShuffleCost(TTI::ShuffleKind Kind, Type *Tp, int Index,
{ISD::VECTOR_SHUFFLE, MVT::v2f32, 1},
{ISD::VECTOR_SHUFFLE, MVT::v2i64, 1},
{ISD::VECTOR_SHUFFLE, MVT::v2f64, 1},
{ISD::VECTOR_SHUFFLE, MVT::v4i16, 1},
{ISD::VECTOR_SHUFFLE, MVT::v8i8, 1},
{ISD::VECTOR_SHUFFLE, MVT::v4i32, 2},
{ISD::VECTOR_SHUFFLE, MVT::v4f32, 2},