Lines Matching refs:ShuffleMask

7008 static unsigned isNEONTwoResultShuffleMask(ArrayRef<int> ShuffleMask, EVT VT,  in isNEONTwoResultShuffleMask()  argument
7012 if (isVTRNMask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask()
7014 if (isVUZPMask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask()
7016 if (isVZIPMask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask()
7020 if (isVTRN_v_undef_Mask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask()
7022 if (isVUZP_v_undef_Mask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask()
7024 if (isVZIP_v_undef_Mask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask()
7730 ArrayRef<int> ShuffleMask, in LowerVECTOR_SHUFFLEv8i8() argument
7739 I = ShuffleMask.begin(), E = ShuffleMask.end(); I != E; ++I) in LowerVECTOR_SHUFFLEv8i8()
7819 ArrayRef<int> ShuffleMask = SVN->getMask(); in LowerVECTOR_SHUFFLE_i1() local
7826 if (isReverseMask(ShuffleMask, VT)) { in LowerVECTOR_SHUFFLE_i1()
7847 DAG.getUNDEF(NewVT), ShuffleMask); in LowerVECTOR_SHUFFLE_i1()
7856 ArrayRef<int> ShuffleMask, in LowerVECTOR_SHUFFLEUsingMovs() argument
7875 auto getMovIdx = [](ArrayRef<int> ShuffleMask, int Start, int Length) { in LowerVECTOR_SHUFFLEUsingMovs() argument
7879 if (ShuffleMask[Start + i] >= 0) { in LowerVECTOR_SHUFFLEUsingMovs()
7880 if (ShuffleMask[Start + i] % Length != i) in LowerVECTOR_SHUFFLEUsingMovs()
7882 MovIdx = ShuffleMask[Start + i] / Length; in LowerVECTOR_SHUFFLEUsingMovs()
7891 if (ShuffleMask[Start + i] >= 0 && in LowerVECTOR_SHUFFLEUsingMovs()
7892 (ShuffleMask[Start + i] / Length != MovIdx || in LowerVECTOR_SHUFFLEUsingMovs()
7893 ShuffleMask[Start + i] % Length != i)) in LowerVECTOR_SHUFFLEUsingMovs()
7901 int Elt = getMovIdx(ShuffleMask, Part * QuarterSize, QuarterSize); in LowerVECTOR_SHUFFLEUsingMovs()
7925 Parts[Part] ? -1 : ShuffleMask[Part * QuarterSize + i]); in LowerVECTOR_SHUFFLEUsingMovs()
7959 ArrayRef<int> ShuffleMask = SVN->getMask(); in LowerVECTOR_SHUFFLE() local
7991 if (ST->hasNEON() && isVEXTMask(ShuffleMask, VT, ReverseVEXT, Imm)) { in LowerVECTOR_SHUFFLE()
7998 if (isVREVMask(ShuffleMask, VT, 64)) in LowerVECTOR_SHUFFLE()
8000 if (isVREVMask(ShuffleMask, VT, 32)) in LowerVECTOR_SHUFFLE()
8002 if (isVREVMask(ShuffleMask, VT, 16)) in LowerVECTOR_SHUFFLE()
8005 if (ST->hasNEON() && V2->isUndef() && isSingletonVEXTMask(ShuffleMask, VT, Imm)) { in LowerVECTOR_SHUFFLE()
8019 ShuffleMask, VT, WhichResult, isV_UNDEF)) { in LowerVECTOR_SHUFFLE()
8027 if (isVMOVNMask(ShuffleMask, VT, 0)) in LowerVECTOR_SHUFFLE()
8030 if (isVMOVNMask(ShuffleMask, VT, 1)) in LowerVECTOR_SHUFFLE()
8056 assert(llvm::all_of(ShuffleMask, [&](int i) { in LowerVECTOR_SHUFFLE()
8061 ShuffleMask, SubVT, WhichResult, isV_UNDEF)) { in LowerVECTOR_SHUFFLE()
8080 if (ShuffleMask[i] < 0) in LowerVECTOR_SHUFFLE()
8083 PFIndexes[i] = ShuffleMask[i]; in LowerVECTOR_SHUFFLE()
8116 if (ShuffleMask[i] < 0) in LowerVECTOR_SHUFFLE()
8120 ShuffleMask[i] < (int)NumElts ? V1 : V2, in LowerVECTOR_SHUFFLE()
8121 DAG.getConstant(ShuffleMask[i] & (NumElts-1), in LowerVECTOR_SHUFFLE()
8128 if (ST->hasNEON() && (VT == MVT::v8i16 || VT == MVT::v16i8) && isReverseMask(ShuffleMask, VT)) in LowerVECTOR_SHUFFLE()
8132 if (SDValue NewOp = LowerVECTOR_SHUFFLEv8i8(Op, ShuffleMask, DAG)) in LowerVECTOR_SHUFFLE()
8136 if (SDValue NewOp = LowerVECTOR_SHUFFLEUsingMovs(Op, ShuffleMask, DAG)) in LowerVECTOR_SHUFFLE()