@@ -5918,19 +5918,6 @@ InstructionCost AArch64TTIImpl::getPartialReductionCost(
59185918 return Cost + 2 ;
59195919}
59205920
5921- TTI::ShuffleKind AArch64TTIImpl::improveShuffleKindFromMask (
5922- TTI::ShuffleKind Kind, ArrayRef<int > Mask, VectorType *SrcTy, int &Index,
5923- VectorType *&SubTy) const {
5924- TTI::ShuffleKind SuperResult = BasicTTIImplBase::improveShuffleKindFromMask (
5925- Kind, Mask, SrcTy, Index, SubTy);
5926- if (SuperResult == TTI::ShuffleKind::SK_PermuteTwoSrc && !Mask.empty ()) {
5927- unsigned DummyUnsigned;
5928- if (isTRNMask (Mask, Mask.size (), DummyUnsigned, DummyUnsigned))
5929- return TTI::ShuffleKind::SK_Transpose;
5930- }
5931- return SuperResult;
5932- }
5933-
59345921InstructionCost
59355922AArch64TTIImpl::getShuffleCost (TTI::ShuffleKind Kind, VectorType *DstTy,
59365923 VectorType *SrcTy, ArrayRef<int > Mask,
@@ -6128,6 +6115,7 @@ AArch64TTIImpl::getShuffleCost(TTI::ShuffleKind Kind, VectorType *DstTy,
61286115 LT.second .getVectorNumElements () == Mask.size () &&
61296116 (Kind == TTI::SK_PermuteTwoSrc || Kind == TTI::SK_PermuteSingleSrc) &&
61306117 (isZIPMask (Mask, LT.second .getVectorNumElements (), Unused, Unused) ||
6118+ isTRNMask (Mask, LT.second .getVectorNumElements (), Unused, Unused) ||
61316119 isUZPMask (Mask, LT.second .getVectorNumElements (), Unused) ||
61326120 isREVMask (Mask, LT.second .getScalarSizeInBits (),
61336121 LT.second .getVectorNumElements (), 16 ) ||
0 commit comments