Lines Matching refs:ShuffleVT
10732 MVT ShuffleVT = VT; in createVariablePermute() local
10813 ShuffleVT = MVT::v16i8; in createVariablePermute()
10820 ShuffleVT = MVT::v4f32; in createVariablePermute()
10823 ShuffleVT = MVT::v16i8; in createVariablePermute()
10832 ShuffleVT = MVT::v2f64; in createVariablePermute()
10968 assert((VT.getSizeInBits() == ShuffleVT.getSizeInBits()) && in createVariablePermute()
10969 (VT.getScalarSizeInBits() % ShuffleVT.getScalarSizeInBits()) == 0 && in createVariablePermute()
10972 uint64_t Scale = VT.getScalarSizeInBits() / ShuffleVT.getScalarSizeInBits(); in createVariablePermute()
10976 EVT ShuffleIdxVT = EVT(ShuffleVT).changeVectorElementTypeToInteger(); in createVariablePermute()
10979 SrcVec = DAG.getBitcast(ShuffleVT, SrcVec); in createVariablePermute()
10981 ? DAG.getNode(Opcode, DL, ShuffleVT, IndicesVec, SrcVec) in createVariablePermute()
10982 : DAG.getNode(Opcode, DL, ShuffleVT, SrcVec, IndicesVec); in createVariablePermute()
16153 MVT ShuffleVT = VT; in lowerShuffleWithPERMV() local
16157 ShuffleVT = V1.getSimpleValueType(); in lowerShuffleWithPERMV()
16174 Result = DAG.getNode(X86ISD::VPERMV, DL, ShuffleVT, MaskNode, V1); in lowerShuffleWithPERMV()
16176 Result = DAG.getNode(X86ISD::VPERMV3, DL, ShuffleVT, V1, MaskNode, V2); in lowerShuffleWithPERMV()
16178 if (VT != ShuffleVT) in lowerShuffleWithPERMV()
37401 unsigned &Shuffle, MVT &ShuffleVT, in matchUnaryPermuteShuffle() argument
37416 ShuffleVT = (AllowFloatDomain ? MVT::v4f64 : MVT::v4i64); in matchUnaryPermuteShuffle()
37424 ShuffleVT = (AllowFloatDomain ? MVT::v8f64 : MVT::v8i64); in matchUnaryPermuteShuffle()
37432 ShuffleVT = MVT::getVectorVT(MVT::f64, Mask.size()); in matchUnaryPermuteShuffle()
37458 ShuffleVT = (AllowIntDomain ? MVT::i32 : MVT::f32); in matchUnaryPermuteShuffle()
37459 ShuffleVT = MVT::getVectorVT(ShuffleVT, InputSizeInBits / 32); in matchUnaryPermuteShuffle()
37479 ShuffleVT = MVT::getVectorVT(MVT::i16, InputSizeInBits / 16); in matchUnaryPermuteShuffle()
37493 ShuffleVT = MVT::getVectorVT(MVT::i16, InputSizeInBits / 16); in matchUnaryPermuteShuffle()
37505 int ShiftAmt = matchShuffleAsShift(ShuffleVT, Shuffle, MaskScalarSizeInBits, in matchUnaryPermuteShuffle()
37507 if (0 < ShiftAmt && (!ShuffleVT.is512BitVector() || Subtarget.hasBWI() || in matchUnaryPermuteShuffle()
37508 32 <= ShuffleVT.getScalarSizeInBits())) { in matchUnaryPermuteShuffle()
37518 int RotateAmt = matchShuffleAsBitRotate(ShuffleVT, MaskScalarSizeInBits, in matchUnaryPermuteShuffle()
37703 unsigned &Shuffle, MVT &ShuffleVT, unsigned &PermuteImm) { in matchBinaryPermuteShuffle() argument
37717 ShuffleVT = MVT::getVectorVT(MVT::i64, MaskVT.getSizeInBits() / 64); in matchBinaryPermuteShuffle()
37719 ShuffleVT = MVT::getVectorVT(MVT::i32, MaskVT.getSizeInBits() / 32); in matchBinaryPermuteShuffle()
37733 ShuffleVT = MVT::getVectorVT(MVT::i8, MaskVT.getSizeInBits() / 8); in matchBinaryPermuteShuffle()
37762 ShuffleVT = MaskVT; in matchBinaryPermuteShuffle()
37770 ShuffleVT = MaskVT; in matchBinaryPermuteShuffle()
37782 ShuffleVT = MVT::v4f32; in matchBinaryPermuteShuffle()
37797 ShuffleVT = MVT::getVectorVT(MVT::f64, MaskVT.getSizeInBits() / 64); in matchBinaryPermuteShuffle()
37842 ShuffleVT = MVT::getVectorVT(MVT::f32, MaskVT.getSizeInBits() / 32); in matchBinaryPermuteShuffle()
37854 ShuffleVT = MVT::v4f32; in matchBinaryPermuteShuffle()
37989 auto MatchSHUF128 = [&](MVT ShuffleVT, const SDLoc &DL, in combineX86ShuffleChain()
37994 SDValue Ops[2] = {DAG.getUNDEF(ShuffleVT), DAG.getUNDEF(ShuffleVT)}; in combineX86ShuffleChain()
38013 return DAG.getNode(X86ISD::SHUF128, DL, ShuffleVT, in combineX86ShuffleChain()
38014 CanonicalizeShuffleInput(ShuffleVT, Ops[0]), in combineX86ShuffleChain()
38015 CanonicalizeShuffleInput(ShuffleVT, Ops[1]), in combineX86ShuffleChain()
38034 MVT ShuffleVT = (FloatDomain ? MVT::v8f64 : MVT::v8i64); in combineX86ShuffleChain() local
38035 if (SDValue V = MatchSHUF128(ShuffleVT, DL, ScaledMask, V1, V2, DAG)) in combineX86ShuffleChain()
38142 MVT ShuffleSrcVT, ShuffleVT; in combineX86ShuffleChain() local
38184 DAG, Subtarget, Shuffle, ShuffleSrcVT, ShuffleVT) && in combineX86ShuffleChain()
38186 (NumRootElts == ShuffleVT.getVectorNumElements()))) { in combineX86ShuffleChain()
38190 Res = DAG.getNode(Shuffle, DL, ShuffleVT, Res); in combineX86ShuffleChain()
38195 AllowIntDomain, DAG, Subtarget, Shuffle, ShuffleVT, in combineX86ShuffleChain()
38198 (NumRootElts == ShuffleVT.getVectorNumElements()))) { in combineX86ShuffleChain()
38201 Res = CanonicalizeShuffleInput(ShuffleVT, V1); in combineX86ShuffleChain()
38202 Res = DAG.getNode(Shuffle, DL, ShuffleVT, Res, in combineX86ShuffleChain()
38247 ShuffleVT, UnaryShuffle) && in combineX86ShuffleChain()
38248 (!IsMaskedShuffle || (NumRootElts == ShuffleVT.getVectorNumElements()))) { in combineX86ShuffleChain()
38253 Res = DAG.getNode(Shuffle, DL, ShuffleVT, NewV1, NewV2); in combineX86ShuffleChain()
38261 Subtarget, Shuffle, ShuffleVT, PermuteImm) && in combineX86ShuffleChain()
38262 (!IsMaskedShuffle || (NumRootElts == ShuffleVT.getVectorNumElements()))) { in combineX86ShuffleChain()
38265 NewV1 = CanonicalizeShuffleInput(ShuffleVT, NewV1); in combineX86ShuffleChain()
38266 NewV2 = CanonicalizeShuffleInput(ShuffleVT, NewV2); in combineX86ShuffleChain()
38267 Res = DAG.getNode(Shuffle, DL, ShuffleVT, NewV1, NewV2, in combineX86ShuffleChain()
38305 if (matchShuffleAsVTRUNC(ShuffleSrcVT, ShuffleVT, IntMaskVT, Mask, Zeroable, in combineX86ShuffleChain()
38307 bool IsTRUNCATE = ShuffleVT.getVectorNumElements() == in combineX86ShuffleChain()
38314 Res = DAG.getNode(Opc, DL, ShuffleVT, V1); in combineX86ShuffleChain()
38315 if (ShuffleVT.getSizeInBits() < RootSizeInBits) in combineX86ShuffleChain()
38829 MVT ShuffleVT = MVT::getVectorVT(MVT::f32, RootSizeInBits / 32); in canonicalizeShuffleMaskWithHorizOp() local
38830 Res = DAG.getBitcast(ShuffleVT, Res); in canonicalizeShuffleMaskWithHorizOp()
38831 return DAG.getNode(X86ISD::SHUFP, DL, ShuffleVT, Res, Res, in canonicalizeShuffleMaskWithHorizOp()
39664 EVT ShuffleVT = N.getValueType(); in canonicalizeShuffleWithBinOps() local
39679 auto IsSafeToMoveShuffle = [ShuffleVT](SDValue Op, unsigned BinOp) { in canonicalizeShuffleWithBinOps()
39684 (Op.getScalarValueSizeInBits() <= ShuffleVT.getScalarSizeInBits()); in canonicalizeShuffleWithBinOps()
39694 if (!getTargetShuffleMask(N.getNode(), ShuffleVT.getSimpleVT(), false, Ops, in canonicalizeShuffleWithBinOps()
39706 if (N.getOperand(0).getValueType() == ShuffleVT && in canonicalizeShuffleWithBinOps()
39716 Op00 = DAG.getBitcast(ShuffleVT, Op00); in canonicalizeShuffleWithBinOps()
39717 Op01 = DAG.getBitcast(ShuffleVT, Op01); in canonicalizeShuffleWithBinOps()
39719 LHS = DAG.getNode(Opc, DL, ShuffleVT, Op00, N.getOperand(1)); in canonicalizeShuffleWithBinOps()
39720 RHS = DAG.getNode(Opc, DL, ShuffleVT, Op01, N.getOperand(1)); in canonicalizeShuffleWithBinOps()
39722 LHS = DAG.getNode(Opc, DL, ShuffleVT, Op00); in canonicalizeShuffleWithBinOps()
39723 RHS = DAG.getNode(Opc, DL, ShuffleVT, Op01); in canonicalizeShuffleWithBinOps()
39726 return DAG.getBitcast(ShuffleVT, in canonicalizeShuffleWithBinOps()
39769 Op00 = DAG.getBitcast(ShuffleVT, Op00); in canonicalizeShuffleWithBinOps()
39770 Op10 = DAG.getBitcast(ShuffleVT, Op10); in canonicalizeShuffleWithBinOps()
39771 Op01 = DAG.getBitcast(ShuffleVT, Op01); in canonicalizeShuffleWithBinOps()
39772 Op11 = DAG.getBitcast(ShuffleVT, Op11); in canonicalizeShuffleWithBinOps()
39774 LHS = DAG.getNode(Opc, DL, ShuffleVT, Op00, Op10, N.getOperand(2)); in canonicalizeShuffleWithBinOps()
39775 RHS = DAG.getNode(Opc, DL, ShuffleVT, Op01, Op11, N.getOperand(2)); in canonicalizeShuffleWithBinOps()
39777 LHS = DAG.getNode(Opc, DL, ShuffleVT, Op00, Op10); in canonicalizeShuffleWithBinOps()
39778 RHS = DAG.getNode(Opc, DL, ShuffleVT, Op01, Op11); in canonicalizeShuffleWithBinOps()
39781 return DAG.getBitcast(ShuffleVT, in canonicalizeShuffleWithBinOps()