Lines Matching refs:ShuffleMask

7539 static unsigned isNEONTwoResultShuffleMask(ArrayRef<int> ShuffleMask, EVT VT,  in isNEONTwoResultShuffleMask()  argument
7543 if (isVTRNMask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask()
7545 if (isVUZPMask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask()
7547 if (isVZIPMask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask()
7551 if (isVTRN_v_undef_Mask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask()
7553 if (isVUZP_v_undef_Mask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask()
7555 if (isVZIP_v_undef_Mask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask()
8519 ArrayRef<int> ShuffleMask, in LowerVECTOR_SHUFFLEv8i8() argument
8527 for (int I : ShuffleMask) in LowerVECTOR_SHUFFLEv8i8()
8611 ArrayRef<int> ShuffleMask = SVN->getMask(); in LowerVECTOR_SHUFFLE_i1() local
8619 if (isReverseMask(ShuffleMask, VT)) { in LowerVECTOR_SHUFFLE_i1()
8644 PredAsVector2, ShuffleMask); in LowerVECTOR_SHUFFLE_i1()
8660 ArrayRef<int> ShuffleMask, in LowerVECTOR_SHUFFLEUsingMovs() argument
8679 auto getMovIdx = [](ArrayRef<int> ShuffleMask, int Start, int Length) { in LowerVECTOR_SHUFFLEUsingMovs() argument
8683 if (ShuffleMask[Start + i] >= 0) { in LowerVECTOR_SHUFFLEUsingMovs()
8684 if (ShuffleMask[Start + i] % Length != i) in LowerVECTOR_SHUFFLEUsingMovs()
8686 MovIdx = ShuffleMask[Start + i] / Length; in LowerVECTOR_SHUFFLEUsingMovs()
8695 if (ShuffleMask[Start + i] >= 0 && in LowerVECTOR_SHUFFLEUsingMovs()
8696 (ShuffleMask[Start + i] / Length != MovIdx || in LowerVECTOR_SHUFFLEUsingMovs()
8697 ShuffleMask[Start + i] % Length != i)) in LowerVECTOR_SHUFFLEUsingMovs()
8705 int Elt = getMovIdx(ShuffleMask, Part * QuarterSize, QuarterSize); in LowerVECTOR_SHUFFLEUsingMovs()
8729 Parts[Part] ? -1 : ShuffleMask[Part * QuarterSize + i]); in LowerVECTOR_SHUFFLEUsingMovs()
8746 ArrayRef<int> ShuffleMask, in LowerVECTOR_SHUFFLEUsingOneOff() argument
8777 if (isOneOffIdentityMask(ShuffleMask, VT, 0, OffElement)) in LowerVECTOR_SHUFFLEUsingOneOff()
8779 else if (isOneOffIdentityMask(ShuffleMask, VT, NumElts, OffElement)) in LowerVECTOR_SHUFFLEUsingOneOff()
8790 ShuffleMask[OffElement] < (int)NumElts ? V1 : V2, in LowerVECTOR_SHUFFLEUsingOneOff()
8791 DAG.getVectorIdxConstant(ShuffleMask[OffElement] % NumElts, dl)); in LowerVECTOR_SHUFFLEUsingOneOff()
8814 ArrayRef<int> ShuffleMask = SVN->getMask(); in LowerVECTOR_SHUFFLE() local
8846 if (ST->hasNEON() && isVEXTMask(ShuffleMask, VT, ReverseVEXT, Imm)) { in LowerVECTOR_SHUFFLE()
8853 if (isVREVMask(ShuffleMask, VT, 64)) in LowerVECTOR_SHUFFLE()
8855 if (isVREVMask(ShuffleMask, VT, 32)) in LowerVECTOR_SHUFFLE()
8857 if (isVREVMask(ShuffleMask, VT, 16)) in LowerVECTOR_SHUFFLE()
8860 if (ST->hasNEON() && V2->isUndef() && isSingletonVEXTMask(ShuffleMask, VT, Imm)) { in LowerVECTOR_SHUFFLE()
8874 ShuffleMask, VT, WhichResult, isV_UNDEF)) { in LowerVECTOR_SHUFFLE()
8882 if (isVMOVNMask(ShuffleMask, VT, false, false)) in LowerVECTOR_SHUFFLE()
8885 if (isVMOVNMask(ShuffleMask, VT, true, false)) in LowerVECTOR_SHUFFLE()
8888 if (isVMOVNMask(ShuffleMask, VT, true, true)) in LowerVECTOR_SHUFFLE()
8914 assert(llvm::all_of(ShuffleMask, [&](int i) { in LowerVECTOR_SHUFFLE()
8919 ShuffleMask, SubVT, WhichResult, isV_UNDEF)) { in LowerVECTOR_SHUFFLE()
8933 if (SDValue V = LowerVECTOR_SHUFFLEUsingOneOff(Op, ShuffleMask, DAG)) in LowerVECTOR_SHUFFLE()
8938 if (isTruncMask(ShuffleMask, VT, Top, SingleSource)) { in LowerVECTOR_SHUFFLE()
8940 MVT FromVT = MVT::getVectorVT(FromSVT, ShuffleMask.size() / 2); in LowerVECTOR_SHUFFLE()
8961 if (ShuffleMask[i] < 0) in LowerVECTOR_SHUFFLE()
8964 PFIndexes[i] = ShuffleMask[i]; in LowerVECTOR_SHUFFLE()
8997 if (ShuffleMask[i] < 0) in LowerVECTOR_SHUFFLE()
9001 ShuffleMask[i] < (int)NumElts ? V1 : V2, in LowerVECTOR_SHUFFLE()
9002 DAG.getConstant(ShuffleMask[i] & (NumElts-1), in LowerVECTOR_SHUFFLE()
9010 isReverseMask(ShuffleMask, VT)) in LowerVECTOR_SHUFFLE()
9014 if (SDValue NewOp = LowerVECTOR_SHUFFLEv8i8(Op, ShuffleMask, DAG)) in LowerVECTOR_SHUFFLE()
9018 if (SDValue NewOp = LowerVECTOR_SHUFFLEUsingMovs(Op, ShuffleMask, DAG)) in LowerVECTOR_SHUFFLE()