Lines Matching refs:MaskVT

9598       MVT MaskVT = BOperand.getSimpleValueType();  in lowerBuildVectorAsBroadcast()  local
9600 if ((EltType == MVT::i64 && MaskVT == MVT::v8i1) || // for broadcastmb2q in lowerBuildVectorAsBroadcast()
9601 (EltType == MVT::i32 && MaskVT == MVT::v16i1)) { // for broadcastmw2d in lowerBuildVectorAsBroadcast()
12105 static SDValue getMaskNode(SDValue Mask, MVT MaskVT,
12667 MVT MaskVT = VT; in lowerShuffleAsBitMask() local
12673 MaskVT = MVT::getVectorVT(EltVT, Mask.size()); in lowerShuffleAsBitMask()
12706 SDValue VMask = DAG.getBuildVector(MaskVT, DL, VMaskOps); in lowerShuffleAsBitMask()
16151 MVT MaskVT = VT.changeTypeToInteger(); in lowerShuffleWithPERMV() local
16166 MaskNode = getConstVector(AdjustedMask, MaskVT, DAG, DL, true); in lowerShuffleWithPERMV()
16169 MaskNode = getConstVector(Mask, MaskVT, DAG, DL, true); in lowerShuffleWithPERMV()
19574 MVT MaskVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerVSELECT() local
19575 SDValue Mask = DAG.getSetCC(dl, MaskVT, Cond, in LowerVSELECT()
26315 static SDValue getMaskNode(SDValue Mask, MVT MaskVT, in getMaskNode() argument
26320 return DAG.getConstant(1, dl, MaskVT); in getMaskNode()
26322 return DAG.getConstant(0, dl, MaskVT); in getMaskNode()
26324 assert(MaskVT.bitsLE(Mask.getSimpleValueType()) && "Unexpected mask size!"); in getMaskNode()
26327 assert(MaskVT == MVT::v64i1 && "Expected v64i1 mask!"); in getMaskNode()
26345 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MaskVT, in getMaskNode()
26359 MVT MaskVT = MVT::getVectorVT(MVT::i1, VT.getVectorNumElements()); in getVectorMaskingNode() local
26366 SDValue VMask = getMaskNode(Mask, MaskVT, Subtarget, DAG, dl); in getVectorMaskingNode()
26819 EVT MaskVT = Src3.getValueType().changeVectorElementTypeToInteger(); in LowerINTRINSIC_WO_CHAIN() local
26820 Src3 = DAG.getBitcast(MaskVT, Src3); in LowerINTRINSIC_WO_CHAIN()
26882 MVT MaskVT = Op.getSimpleValueType(); in LowerINTRINSIC_WO_CHAIN() local
26891 return DAG.getNode(IntrData->Opc1, dl, MaskVT, Op.getOperand(1), in LowerINTRINSIC_WO_CHAIN()
26897 return DAG.getNode(IntrData->Opc0, dl, MaskVT, in LowerINTRINSIC_WO_CHAIN()
27106 MVT MaskVT = MVT::getVectorVT(MVT::i1, SrcVT.getVectorNumElements()); in LowerINTRINSIC_WO_CHAIN() local
27107 Mask = getMaskNode(Mask, MaskVT, Subtarget, DAG, dl); in LowerINTRINSIC_WO_CHAIN()
27121 MVT MaskVT = MVT::getVectorVT(MVT::i1, SrcVT.getVectorNumElements()); in LowerINTRINSIC_WO_CHAIN() local
27122 Mask = getMaskNode(Mask, MaskVT, Subtarget, DAG, dl); in LowerINTRINSIC_WO_CHAIN()
27387 MVT MaskVT = Op.getSimpleValueType(); in LowerINTRINSIC_WO_CHAIN() local
27397 MaskVT, Operation); in LowerINTRINSIC_WO_CHAIN()
27399 MaskVT, Operation); in LowerINTRINSIC_WO_CHAIN()
27491 EVT MaskVT = Mask.getValueType().changeVectorElementTypeToInteger(); in getAVX2GatherNode() local
27500 Mask = DAG.getBitcast(MaskVT, Mask); in getAVX2GatherNode()
27526 MVT MaskVT = MVT::getVectorVT(MVT::i1, MinElts); in getGatherNode() local
27530 if (Mask.getValueType() != MaskVT) in getGatherNode()
27531 Mask = getMaskNode(Mask, MaskVT, Subtarget, DAG, dl); in getGatherNode()
27563 MVT MaskVT = MVT::getVectorVT(MVT::i1, MinElts); in getScatterNode() local
27567 if (Mask.getValueType() != MaskVT) in getScatterNode()
27568 Mask = getMaskNode(Mask, MaskVT, Subtarget, DAG, dl); in getScatterNode()
27594 MVT MaskVT = in getPrefetchNode() local
27596 SDValue VMask = getMaskNode(Mask, MaskVT, Subtarget, DAG, dl); in getPrefetchNode()
28117 MVT MaskVT = MVT::getVectorVT(MVT::i1, MemVT.getVectorNumElements()); in LowerINTRINSIC_W_CHAIN() local
28118 SDValue VMask = getMaskNode(Mask, MaskVT, Subtarget, DAG, dl); in LowerINTRINSIC_W_CHAIN()
28132 MVT MaskVT = MVT::getVectorVT(MVT::i1, MemVT.getVectorNumElements()); in LowerINTRINSIC_W_CHAIN() local
28133 SDValue VMask = getMaskNode(Mask, MaskVT, Subtarget, DAG, dl); in LowerINTRINSIC_W_CHAIN()
28726 MVT MaskVT = MVT::getVectorVT(MVT::i1, CurrVT.getVectorNumElements()); in LowerVectorCTLZInRegLUT() local
28727 HiZ = DAG.getSetCC(DL, MaskVT, Hi, Zero, ISD::SETEQ); in LowerVectorCTLZInRegLUT()
28752 MVT MaskVT = MVT::getVectorVT(MVT::i1, CurrVT.getVectorNumElements()); in LowerVectorCTLZInRegLUT() local
28753 HiZ = DAG.getSetCC(DL, MaskVT, DAG.getBitcast(CurrVT, Op0), in LowerVectorCTLZInRegLUT()
30197 MVT MaskVT = MVT::getVectorVT(MVT::i1, VT.getVectorNumElements()); in LowerShift() local
30201 Sel = DAG.getSetCC(dl, MaskVT, DAG.getConstant(0, dl, VT), Sel, in LowerShift()
31984 MVT MaskVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerMSCATTER() local
31988 Mask = ExtendToType(Mask, MaskVT, DAG, true); in LowerMSCATTER()
32004 MVT MaskVT = Mask.getSimpleValueType(); in LowerMLOAD() local
32009 if (MaskVT.getVectorElementType() != MVT::i1) { in LowerMLOAD()
32137 MVT MaskVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerMGATHER() local
32141 Mask = ExtendToType(Mask, MaskVT, DAG, true); in LowerMGATHER()
37252 static bool matchUnaryShuffle(MVT MaskVT, ArrayRef<int> Mask, in matchUnaryShuffle() argument
37258 unsigned MaskEltSize = MaskVT.getScalarSizeInBits(); in matchUnaryShuffle()
37268 SrcVT = DstVT = MaskVT.changeVectorElementType(MVT::f16); in matchUnaryShuffle()
37270 SrcVT = DstVT = !Subtarget.hasSSE2() ? MVT::v4f32 : MaskVT; in matchUnaryShuffle()
37277 if (AllowIntDomain && ((MaskVT.is128BitVector() && Subtarget.hasSSE41()) || in matchUnaryShuffle()
37278 (MaskVT.is256BitVector() && Subtarget.hasInt256()))) { in matchUnaryShuffle()
37295 MVT ScalarTy = MaskVT.isInteger() ? MaskVT.getScalarType() : in matchUnaryShuffle()
37317 SrcVT = DstVT = MaskVT.changeVectorElementType(MVT::f16); in matchUnaryShuffle()
37319 SrcVT = DstVT = !Subtarget.hasSSE2() ? MVT::v4f32 : MaskVT; in matchUnaryShuffle()
37326 if (MaskVT.is128BitVector() && Subtarget.hasSSE3() && AllowFloatDomain) { in matchUnaryShuffle()
37327 if (isTargetShuffleEquivalent(MaskVT, Mask, {0, 0}, DAG, V1)) { in matchUnaryShuffle()
37332 if (isTargetShuffleEquivalent(MaskVT, Mask, {0, 0, 2, 2}, DAG, V1)) { in matchUnaryShuffle()
37337 if (isTargetShuffleEquivalent(MaskVT, Mask, {1, 1, 3, 3}, DAG, V1)) { in matchUnaryShuffle()
37344 if (MaskVT.is256BitVector() && AllowFloatDomain) { in matchUnaryShuffle()
37346 if (isTargetShuffleEquivalent(MaskVT, Mask, {0, 0, 2, 2}, DAG, V1)) { in matchUnaryShuffle()
37351 if (isTargetShuffleEquivalent(MaskVT, Mask, {0, 0, 2, 2, 4, 4, 6, 6}, DAG, in matchUnaryShuffle()
37357 if (isTargetShuffleEquivalent(MaskVT, Mask, {1, 1, 3, 3, 5, 5, 7, 7}, DAG, in matchUnaryShuffle()
37365 if (MaskVT.is512BitVector() && AllowFloatDomain) { in matchUnaryShuffle()
37368 if (isTargetShuffleEquivalent(MaskVT, Mask, {0, 0, 2, 2, 4, 4, 6, 6}, DAG, in matchUnaryShuffle()
37375 MaskVT, Mask, in matchUnaryShuffle()
37382 MaskVT, Mask, in matchUnaryShuffle()
37396 static bool matchUnaryPermuteShuffle(MVT MaskVT, ArrayRef<int> Mask, in matchUnaryPermuteShuffle() argument
37404 unsigned InputSizeInBits = MaskVT.getSizeInBits(); in matchUnaryPermuteShuffle()
37414 if (Subtarget.hasAVX2() && MaskVT.is256BitVector()) { in matchUnaryPermuteShuffle()
37420 if (Subtarget.hasAVX512() && MaskVT.is512BitVector()) { in matchUnaryPermuteShuffle()
37467 ((MaskVT.is128BitVector() && Subtarget.hasSSE2()) || in matchUnaryPermuteShuffle()
37468 (MaskVT.is256BitVector() && Subtarget.hasAVX2()) || in matchUnaryPermuteShuffle()
37469 (MaskVT.is512BitVector() && Subtarget.hasBWI()))) { in matchUnaryPermuteShuffle()
37502 ((MaskVT.is128BitVector() && Subtarget.hasSSE2()) || in matchUnaryPermuteShuffle()
37503 (MaskVT.is256BitVector() && Subtarget.hasAVX2()) || in matchUnaryPermuteShuffle()
37504 (MaskVT.is512BitVector() && Subtarget.hasAVX512()))) { in matchUnaryPermuteShuffle()
37516 ((MaskVT.is128BitVector() && Subtarget.hasXOP()) || in matchUnaryPermuteShuffle()
37533 static bool matchBinaryShuffle(MVT MaskVT, ArrayRef<int> Mask, in matchBinaryShuffle() argument
37540 unsigned EltSizeInBits = MaskVT.getScalarSizeInBits(); in matchBinaryShuffle()
37541 unsigned SizeInBits = MaskVT.getSizeInBits(); in matchBinaryShuffle()
37543 if (MaskVT.is128BitVector()) { in matchBinaryShuffle()
37544 if (isTargetShuffleEquivalent(MaskVT, Mask, {0, 0}, DAG) && in matchBinaryShuffle()
37552 if (isTargetShuffleEquivalent(MaskVT, Mask, {1, 1}, DAG) && in matchBinaryShuffle()
37559 if (isTargetShuffleEquivalent(MaskVT, Mask, {0, 3}, DAG) && in matchBinaryShuffle()
37566 if (isTargetShuffleEquivalent(MaskVT, Mask, {4, 1, 2, 3}, DAG) && in matchBinaryShuffle()
37572 if (isTargetShuffleEquivalent(MaskVT, Mask, {8, 1, 2, 3, 4, 5, 6, 7}, in matchBinaryShuffle()
37582 if (((MaskVT == MVT::v8i16 || MaskVT == MVT::v16i8) && Subtarget.hasSSE2()) || in matchBinaryShuffle()
37583 ((MaskVT == MVT::v16i16 || MaskVT == MVT::v32i8) && Subtarget.hasInt256()) || in matchBinaryShuffle()
37584 ((MaskVT == MVT::v32i16 || MaskVT == MVT::v64i8) && Subtarget.hasBWI())) { in matchBinaryShuffle()
37585 if (matchShuffleWithPACK(MaskVT, SrcVT, V1, V2, Shuffle, Mask, DAG, in matchBinaryShuffle()
37587 DstVT = MaskVT; in matchBinaryShuffle()
37593 if ((MaskVT == MVT::v4f32 && Subtarget.hasSSE1()) || in matchBinaryShuffle()
37594 (MaskVT.is128BitVector() && Subtarget.hasSSE2()) || in matchBinaryShuffle()
37595 (MaskVT.is256BitVector() && 32 <= EltSizeInBits && Subtarget.hasAVX()) || in matchBinaryShuffle()
37596 (MaskVT.is256BitVector() && Subtarget.hasAVX2()) || in matchBinaryShuffle()
37597 (MaskVT.is512BitVector() && Subtarget.hasAVX512())) { in matchBinaryShuffle()
37598 if (matchShuffleWithUNPCK(MaskVT, V1, V2, Shuffle, IsUnary, Mask, DL, DAG, in matchBinaryShuffle()
37600 SrcVT = DstVT = MaskVT; in matchBinaryShuffle()
37601 if (MaskVT.is256BitVector() && !Subtarget.hasAVX2()) in matchBinaryShuffle()
37645 SrcVT = DstVT = MaskVT.changeTypeToInteger(); in matchBinaryShuffle()
37689 SrcVT = DstVT = MaskVT.changeTypeToInteger(); in matchBinaryShuffle()
37700 MVT MaskVT, ArrayRef<int> Mask, const APInt &Zeroable, in matchBinaryPermuteShuffle() argument
37705 unsigned EltSizeInBits = MaskVT.getScalarSizeInBits(); in matchBinaryPermuteShuffle()
37709 ((MaskVT.is128BitVector() && Subtarget.hasVLX()) || in matchBinaryPermuteShuffle()
37710 (MaskVT.is256BitVector() && Subtarget.hasVLX()) || in matchBinaryPermuteShuffle()
37711 (MaskVT.is512BitVector() && Subtarget.hasAVX512()))) { in matchBinaryPermuteShuffle()
37717 ShuffleVT = MVT::getVectorVT(MVT::i64, MaskVT.getSizeInBits() / 64); in matchBinaryPermuteShuffle()
37719 ShuffleVT = MVT::getVectorVT(MVT::i32, MaskVT.getSizeInBits() / 32); in matchBinaryPermuteShuffle()
37727 if (AllowIntDomain && ((MaskVT.is128BitVector() && Subtarget.hasSSSE3()) || in matchBinaryPermuteShuffle()
37728 (MaskVT.is256BitVector() && Subtarget.hasAVX2()) || in matchBinaryPermuteShuffle()
37729 (MaskVT.is512BitVector() && Subtarget.hasBWI()))) { in matchBinaryPermuteShuffle()
37730 int ByteRotation = matchShuffleAsByteRotate(MaskVT, V1, V2, Mask); in matchBinaryPermuteShuffle()
37733 ShuffleVT = MVT::getVectorVT(MVT::i8, MaskVT.getSizeInBits() / 8); in matchBinaryPermuteShuffle()
37740 if ((NumMaskElts <= 8 && ((Subtarget.hasSSE41() && MaskVT.is128BitVector()) || in matchBinaryPermuteShuffle()
37741 (Subtarget.hasAVX() && MaskVT.is256BitVector()))) || in matchBinaryPermuteShuffle()
37742 (MaskVT == MVT::v16i16 && Subtarget.hasAVX2())) { in matchBinaryPermuteShuffle()
37748 if (MaskVT == MVT::v16i16) { in matchBinaryPermuteShuffle()
37751 if (isRepeatedTargetShuffleMask(128, MaskVT, TargetMask, in matchBinaryPermuteShuffle()
37759 V1 = ForceV1Zero ? getZeroVector(MaskVT, Subtarget, DAG, DL) : V1; in matchBinaryPermuteShuffle()
37760 V2 = ForceV2Zero ? getZeroVector(MaskVT, Subtarget, DAG, DL) : V2; in matchBinaryPermuteShuffle()
37762 ShuffleVT = MaskVT; in matchBinaryPermuteShuffle()
37766 V1 = ForceV1Zero ? getZeroVector(MaskVT, Subtarget, DAG, DL) : V1; in matchBinaryPermuteShuffle()
37767 V2 = ForceV2Zero ? getZeroVector(MaskVT, Subtarget, DAG, DL) : V2; in matchBinaryPermuteShuffle()
37770 ShuffleVT = MaskVT; in matchBinaryPermuteShuffle()
37779 MaskVT.is128BitVector() && isAnyZero(Mask) && in matchBinaryPermuteShuffle()
37788 ((MaskVT.is128BitVector() && Subtarget.hasSSE2()) || in matchBinaryPermuteShuffle()
37789 (MaskVT.is256BitVector() && Subtarget.hasAVX()) || in matchBinaryPermuteShuffle()
37790 (MaskVT.is512BitVector() && Subtarget.hasAVX512()))) { in matchBinaryPermuteShuffle()
37792 if (matchShuffleWithSHUFPD(MaskVT, V1, V2, ForceV1Zero, ForceV2Zero, in matchBinaryPermuteShuffle()
37794 V1 = ForceV1Zero ? getZeroVector(MaskVT, Subtarget, DAG, DL) : V1; in matchBinaryPermuteShuffle()
37795 V2 = ForceV2Zero ? getZeroVector(MaskVT, Subtarget, DAG, DL) : V2; in matchBinaryPermuteShuffle()
37797 ShuffleVT = MVT::getVectorVT(MVT::f64, MaskVT.getSizeInBits() / 64); in matchBinaryPermuteShuffle()
37804 ((MaskVT.is128BitVector() && Subtarget.hasSSE1()) || in matchBinaryPermuteShuffle()
37805 (MaskVT.is256BitVector() && Subtarget.hasAVX()) || in matchBinaryPermuteShuffle()
37806 (MaskVT.is512BitVector() && Subtarget.hasAVX512()))) { in matchBinaryPermuteShuffle()
37808 if (isRepeatedTargetShuffleMask(128, MaskVT, Mask, RepeatedMask)) { in matchBinaryPermuteShuffle()
37816 return DAG.getUNDEF(MaskVT); in matchBinaryPermuteShuffle()
37820 return getZeroVector(MaskVT, Subtarget, DAG, DL); in matchBinaryPermuteShuffle()
37842 ShuffleVT = MVT::getVectorVT(MVT::f32, MaskVT.getSizeInBits() / 32); in matchBinaryPermuteShuffle()
37851 MaskVT.is128BitVector() && in matchBinaryPermuteShuffle()
38133 MVT MaskVT = FloatDomain ? MVT::getFloatingPointVT(MaskEltSizeInBits) in combineX86ShuffleChain() local
38135 MaskVT = MVT::getVectorVT(MaskVT, NumMaskElts); in combineX86ShuffleChain()
38138 if (!DAG.getTargetLoweringInfo().isTypeLegal(MaskVT)) in combineX86ShuffleChain()
38150 (!MaskVT.is256BitVector() || Subtarget.hasAVX2()); in combineX86ShuffleChain()
38164 if (V1.getValueType() == MaskVT && in combineX86ShuffleChain()
38170 Res = DAG.getNode(X86ISD::VBROADCAST, DL, MaskVT, Res); in combineX86ShuffleChain()
38176 Res = CanonicalizeShuffleInput(MaskVT, V1); in combineX86ShuffleChain()
38177 Res = DAG.getNode(X86ISD::VBROADCAST, DL, MaskVT, Res); in combineX86ShuffleChain()
38183 if (matchUnaryShuffle(MaskVT, Mask, AllowFloatDomain, AllowIntDomain, V1, in combineX86ShuffleChain()
38194 if (matchUnaryPermuteShuffle(MaskVT, Mask, Zeroable, AllowFloatDomain, in combineX86ShuffleChain()
38213 !isTargetShuffleEquivalent(MaskVT, Mask, {4, 1, 2, 3}, DAG)) { in combineX86ShuffleChain()
38229 isTargetShuffleEquivalent(MaskVT, Mask, {0, 2}, DAG) && in combineX86ShuffleChain()
38245 if (matchBinaryShuffle(MaskVT, Mask, AllowFloatDomain, AllowIntDomain, NewV1, in combineX86ShuffleChain()
38259 if (matchBinaryPermuteShuffle(MaskVT, Mask, Zeroable, AllowFloatDomain, in combineX86ShuffleChain()
38365 if (is128BitLaneCrossingShuffleMask(MaskVT, Mask)) { in combineX86ShuffleChain()
38369 (MaskVT == MVT::v8f32 || MaskVT == MVT::v8i32)) { in combineX86ShuffleChain()
38371 Res = CanonicalizeShuffleInput(MaskVT, V1); in combineX86ShuffleChain()
38372 Res = DAG.getNode(X86ISD::VPERMV, DL, MaskVT, VPermMask, Res); in combineX86ShuffleChain()
38377 (MaskVT == MVT::v8f64 || MaskVT == MVT::v8i64 || in combineX86ShuffleChain()
38378 MaskVT == MVT::v16f32 || MaskVT == MVT::v16i32)) || in combineX86ShuffleChain()
38380 (MaskVT == MVT::v16i16 || MaskVT == MVT::v32i16)) || in combineX86ShuffleChain()
38382 (MaskVT == MVT::v32i8 || MaskVT == MVT::v64i8))) { in combineX86ShuffleChain()
38383 V1 = CanonicalizeShuffleInput(MaskVT, V1); in combineX86ShuffleChain()
38384 V2 = DAG.getUNDEF(MaskVT); in combineX86ShuffleChain()
38385 Res = lowerShuffleWithPERMV(DL, MaskVT, Mask, V1, V2, Subtarget, DAG); in combineX86ShuffleChain()
38394 (MaskVT == MVT::v8f64 || MaskVT == MVT::v8i64 || in combineX86ShuffleChain()
38395 MaskVT == MVT::v4f64 || MaskVT == MVT::v4i64 || in combineX86ShuffleChain()
38396 MaskVT == MVT::v8f32 || MaskVT == MVT::v8i32 || in combineX86ShuffleChain()
38397 MaskVT == MVT::v16f32 || MaskVT == MVT::v16i32)) || in combineX86ShuffleChain()
38399 (MaskVT == MVT::v16i16 || MaskVT == MVT::v32i16)) || in combineX86ShuffleChain()
38401 (MaskVT == MVT::v32i8 || MaskVT == MVT::v64i8)))) { in combineX86ShuffleChain()
38406 V1 = CanonicalizeShuffleInput(MaskVT, V1); in combineX86ShuffleChain()
38407 V2 = getZeroVector(MaskVT, Subtarget, DAG, DL); in combineX86ShuffleChain()
38408 Res = lowerShuffleWithPERMV(DL, MaskVT, Mask, V1, V2, Subtarget, DAG); in combineX86ShuffleChain()
38424 (MaskVT == MVT::v8f64 || MaskVT == MVT::v8i64 || in combineX86ShuffleChain()
38425 MaskVT == MVT::v4f64 || MaskVT == MVT::v4i64 || in combineX86ShuffleChain()
38426 MaskVT == MVT::v16f32 || MaskVT == MVT::v16i32 || in combineX86ShuffleChain()
38427 MaskVT == MVT::v8f32 || MaskVT == MVT::v8i32)) || in combineX86ShuffleChain()
38429 (MaskVT == MVT::v16i16 || MaskVT == MVT::v32i16)) || in combineX86ShuffleChain()
38431 (MaskVT == MVT::v32i8 || MaskVT == MVT::v64i8)))) { in combineX86ShuffleChain()
38432 V1 = CanonicalizeShuffleInput(MaskVT, V1); in combineX86ShuffleChain()
38433 V2 = CanonicalizeShuffleInput(MaskVT, V2); in combineX86ShuffleChain()
38434 Res = lowerShuffleWithPERMV(DL, MaskVT, Mask, V1, V2, Subtarget, DAG); in combineX86ShuffleChain()
38444 DAG.getTargetLoweringInfo().isTypeLegal(MaskVT)) { in combineX86ShuffleChain()
38459 SDValue BitMask = getConstVector(EltBits, UndefElts, MaskVT, DAG, DL); in combineX86ShuffleChain()
38460 Res = CanonicalizeShuffleInput(MaskVT, V1); in combineX86ShuffleChain()
38462 MaskVT.isFloatingPoint() ? unsigned(X86ISD::FAND) : unsigned(ISD::AND); in combineX86ShuffleChain()
38463 Res = DAG.getNode(AndOpcode, DL, MaskVT, Res, BitMask); in combineX86ShuffleChain()
38471 ((MaskVT == MVT::v8f32 && Subtarget.hasAVX()) || in combineX86ShuffleChain()
38472 (MaskVT == MVT::v16f32 && Subtarget.hasAVX512()))) { in combineX86ShuffleChain()
38480 Res = CanonicalizeShuffleInput(MaskVT, V1); in combineX86ShuffleChain()
38481 Res = DAG.getNode(X86ISD::VPERMILPV, DL, MaskVT, Res, VPermMask); in combineX86ShuffleChain()
38488 (MaskVT == MVT::v2f64 || MaskVT == MVT::v4f64 || MaskVT == MVT::v4f32 || in combineX86ShuffleChain()
38489 MaskVT == MVT::v8f32)) { in combineX86ShuffleChain()
38494 unsigned NumLanes = MaskVT.getSizeInBits() / 128; in combineX86ShuffleChain()
38509 Index = (MaskVT.getScalarSizeInBits() == 64 ? Index << 1 : Index); in combineX86ShuffleChain()
38512 V1 = CanonicalizeShuffleInput(MaskVT, V1); in combineX86ShuffleChain()
38513 V2 = CanonicalizeShuffleInput(MaskVT, V2); in combineX86ShuffleChain()
38515 Res = DAG.getNode(X86ISD::VPERMIL2, DL, MaskVT, V1, V2, VPerm2MaskOp, in combineX86ShuffleChain()
38596 (MaskVT == MVT::v2f64 || MaskVT == MVT::v4f64 || MaskVT == MVT::v8f64 || in combineX86ShuffleChain()
38597 MaskVT == MVT::v2i64 || MaskVT == MVT::v4i64 || MaskVT == MVT::v8i64 || in combineX86ShuffleChain()
38598 MaskVT == MVT::v4f32 || MaskVT == MVT::v4i32 || MaskVT == MVT::v8f32 || in combineX86ShuffleChain()
38599 MaskVT == MVT::v8i32 || MaskVT == MVT::v16f32 || in combineX86ShuffleChain()
38600 MaskVT == MVT::v16i32)) || in combineX86ShuffleChain()
38602 (MaskVT == MVT::v8i16 || MaskVT == MVT::v16i16 || in combineX86ShuffleChain()
38603 MaskVT == MVT::v32i16)) || in combineX86ShuffleChain()
38605 (MaskVT == MVT::v16i8 || MaskVT == MVT::v32i8 || in combineX86ShuffleChain()
38606 MaskVT == MVT::v64i8)))) { in combineX86ShuffleChain()
38607 V1 = CanonicalizeShuffleInput(MaskVT, V1); in combineX86ShuffleChain()
38608 V2 = CanonicalizeShuffleInput(MaskVT, V2); in combineX86ShuffleChain()
38609 Res = lowerShuffleWithPERMV(DL, MaskVT, Mask, V1, V2, Subtarget, DAG); in combineX86ShuffleChain()
38999 MVT MaskVT = MVT::getVectorVT(MaskSVT, NumMaskElts); in combineX86ShufflesConstants() local
39000 if (!DAG.getTargetLoweringInfo().isTypeLegal(MaskVT)) in combineX86ShufflesConstants()
39003 SDValue CstOp = getConstVector(ConstantBitData, UndefElts, MaskVT, DAG, DL); in combineX86ShufflesConstants()
44484 EVT MaskVT = Mask.getValueType(); in combineLogicBlendIntoConditionalNegate() local
44485 assert(MaskVT.isInteger() && in combineLogicBlendIntoConditionalNegate()
44486 DAG.ComputeNumSignBits(Mask) == MaskVT.getScalarSizeInBits() && in combineLogicBlendIntoConditionalNegate()
44489 if (X.getValueType() != MaskVT || Y.getValueType() != MaskVT) in combineLogicBlendIntoConditionalNegate()
44491 if (!DAG.getTargetLoweringInfo().isOperationLegal(ISD::SUB, MaskVT)) in combineLogicBlendIntoConditionalNegate()
44507 SDValue SubOp1 = DAG.getNode(ISD::XOR, DL, MaskVT, V, Mask); in combineLogicBlendIntoConditionalNegate()
44523 SDValue Res = DAG.getNode(ISD::SUB, DL, MaskVT, SubOp1, SubOp2); in combineLogicBlendIntoConditionalNegate()
47897 EVT MaskVT = EVT::getIntegerVT(*DAG.getContext(), NumElts); in combineAnd() local
47898 SDValue Mask = combineBitcastvxi1(DAG, MaskVT, SrcOps[0], dl, Subtarget); in combineAnd()
47900 Mask = DAG.getBitcast(MaskVT, SrcOps[0]); in combineAnd()
47904 SDValue PartialBits = DAG.getConstant(SrcPartials[0], dl, MaskVT); in combineAnd()
47905 Mask = DAG.getNode(ISD::AND, dl, MaskVT, Mask, PartialBits); in combineAnd()
48202 EVT MaskVT = Mask.getValueType(); in combineLogicBlendIntoPBLENDV() local
48203 unsigned EltBits = MaskVT.getScalarSizeInBits(); in combineLogicBlendIntoPBLENDV()
48206 if (!MaskVT.isInteger() || DAG.ComputeNumSignBits(Mask) != EltBits) in combineLogicBlendIntoPBLENDV()
48413 EVT MaskVT = EVT::getIntegerVT(*DAG.getContext(), NumElts); in combineOr() local
48414 SDValue Mask = combineBitcastvxi1(DAG, MaskVT, SrcOps[0], dl, Subtarget); in combineOr()
48416 Mask = DAG.getBitcast(MaskVT, SrcOps[0]); in combineOr()
48420 SDValue ZeroBits = DAG.getConstant(0, dl, MaskVT); in combineOr()
48421 SDValue PartialBits = DAG.getConstant(SrcPartials[0], dl, MaskVT); in combineOr()
48422 Mask = DAG.getNode(ISD::AND, dl, MaskVT, Mask, PartialBits); in combineOr()