Lines Matching refs:NumElts

1973     const unsigned NumElts = VT.getVectorNumElements();  in getSetCCResultType()  local
1982 return EVT::getVectorVT(Context, MVT::i1, NumElts); in getSetCCResultType()
1990 return EVT::getVectorVT(Context, MVT::i1, NumElts); in getSetCCResultType()
5229 unsigned NumElts = VT.getVectorNumElements(); in getConstVector() local
5232 ConstVecVT = MVT::getVectorVT(MVT::i32, NumElts * 2); in getConstVector()
5237 for (unsigned i = 0; i < NumElts; ++i) { in getConstVector()
5260 unsigned NumElts = VT.getVectorNumElements(); in getConstVector() local
5263 ConstVecVT = MVT::getVectorVT(MVT::i32, NumElts * 2); in getConstVector()
5624 unsigned NumElts = VT.getSizeInBits() / 32; in getOnesVector() local
5625 SDValue Vec = DAG.getConstant(Ones, dl, MVT::getVectorVT(MVT::i32, NumElts)); in getOnesVector()
5728 unsigned NumElts = SizeInBits / EltSizeInBits; in getTargetConstantBitsFromNode() local
5743 if (NumSrcElts == NumElts) { in getTargetConstantBitsFromNode()
5761 UndefElts = APInt(NumElts, 0); in getTargetConstantBitsFromNode()
5762 EltBits.resize(NumElts, APInt(EltSizeInBits, 0)); in getTargetConstantBitsFromNode()
5764 for (unsigned i = 0; i != NumElts; ++i) { in getTargetConstantBitsFromNode()
5809 APInt UndefSrcElts = APInt::getAllOnesValue(NumElts); in getTargetConstantBitsFromNode()
5810 SmallVector<APInt, 64> SrcEltBits(NumElts, APInt(EltSizeInBits, 0)); in getTargetConstantBitsFromNode()
5953 if (isAnyInRange(Mask, 0, NumElts) && in getTargetConstantBitsFromNode()
5958 if (isAnyInRange(Mask, NumElts, 2 * NumElts) && in getTargetConstantBitsFromNode()
5964 UndefElts = APInt::getNullValue(NumElts); in getTargetConstantBitsFromNode()
5965 for (int i = 0; i != (int)NumElts; ++i) { in getTargetConstantBitsFromNode()
5970 } else if (M < (int)NumElts) { in getTargetConstantBitsFromNode()
5975 if (UndefElts1[M - NumElts]) in getTargetConstantBitsFromNode()
5977 EltBits.push_back(EltBits1[M - NumElts]); in getTargetConstantBitsFromNode()
6033 unsigned NumElts = VT.getVectorNumElements(); in createPackShuffleMask() local
6036 unsigned Offset = Unary ? 0 : NumElts; in createPackShuffleMask()
6050 int NumElts = DemandedElts.getBitWidth(); in getPackDemandedElts() local
6051 int NumInnerElts = NumElts / 2; in getPackDemandedElts()
6052 int NumEltsPerLane = NumElts / NumLanes; in getPackDemandedElts()
6483 unsigned NumElts = VT.getVectorNumElements(); in getFauxShuffleMask() local
6494 if (isUndefOrInRange(ShuffleMask, 0, 2 * NumElts)) { in getFauxShuffleMask()
6585 for (int i = 0; i != (int)NumElts; ++i) in getFauxShuffleMask()
6592 M = (NumElts * (1 + InputIdx)) + ExtractIdx + (M % NumSubElts); in getFauxShuffleMask()
6637 cast<ConstantSDNode>(InIndex)->getAPIntValue().uge(NumElts)) in getFauxShuffleMask()
6644 for (unsigned i = 0; i != NumElts; ++i) in getFauxShuffleMask()
6659 cast<ConstantSDNode>(ExIndex)->getAPIntValue().uge(NumElts)) in getFauxShuffleMask()
6665 for (unsigned i = 0; i != NumElts; ++i) in getFauxShuffleMask()
6666 Mask.push_back(i == InIdx ? NumElts + ExIdx : i); in getFauxShuffleMask()
6673 assert(N0.getValueType().getVectorNumElements() == (NumElts / 2) && in getFauxShuffleMask()
6674 N1.getValueType().getVectorNumElements() == (NumElts / 2) && in getFauxShuffleMask()
6704 Mask.append(NumElts, SM_SentinelZero); in getFauxShuffleMask()
6738 DecodeZeroExtendMask(SrcVT.getScalarSizeInBits(), NumBitsPerElt, NumElts, in getFauxShuffleMask()
6867 unsigned NumElts = VT.getVectorNumElements(); in LowerBuildVectorAsInsert() local
6876 for (unsigned i = 0; i < NumElts; ++i) { in LowerBuildVectorAsInsert()
7394 unsigned NumElts = Op->getNumOperands(); in isSplatZeroExtended() local
7395 unsigned Delta = NumElts; in isSplatZeroExtended()
7397 for (unsigned i = 1; i < NumElts; i++) { in isSplatZeroExtended()
7408 for (unsigned i = Delta; i < NumElts; i++) { in isSplatZeroExtended()
7419 NumElt = NumElts / Delta; in isSplatZeroExtended()
7456 unsigned NumElts = VT.getVectorNumElements(); in lowerBuildVectorAsBroadcast() local
7458 SDValue ZeroExtended = isSplatZeroExtended(BVOp, NumElts, EltType); in lowerBuildVectorAsBroadcast()
7471 MVT::getVectorVT(EltType, NumElts), BOperand); in lowerBuildVectorAsBroadcast()
7477 unsigned NumElts = VT.getVectorNumElements(); in lowerBuildVectorAsBroadcast() local
7479 if (!Ld || (NumElts - NumUndefElts) <= 1) { in lowerBuildVectorAsBroadcast()
7561 if (!Ld || NumElts - NumUndefElts != 1) in lowerBuildVectorAsBroadcast()
7895 unsigned NumElts = LastIdx - BaseIdx; in isHorizontalBinOpPart() local
7900 for (unsigned i = 0, e = NumElts; i != e && CanFold; ++i) { in isHorizontalBinOpPart()
7906 if (i * 2 == NumElts) in isHorizontalBinOpPart()
7933 if (i * 2 < NumElts) { in isHorizontalBinOpPart()
7945 if (i * 2 == NumElts) in isHorizontalBinOpPart()
7949 SDValue Expected = (i * 2 < NumElts) ? V0 : V1; in isHorizontalBinOpPart()
8004 unsigned NumElts = VT.getVectorNumElements(); in ExpandHorizontalBinOp() local
8006 SDValue V0_HI = extract128BitVector(V0, NumElts/2, DAG, DL); in ExpandHorizontalBinOp()
8008 SDValue V1_HI = extract128BitVector(V1, NumElts/2, DAG, DL); in ExpandHorizontalBinOp()
8047 unsigned NumElts = VT.getVectorNumElements(); in isAddSubOrSubAdd() local
8058 for (unsigned i = 0, e = NumElts; i != e; ++i) { in isAddSubOrSubAdd()
8239 unsigned NumElts = VT.getVectorNumElements(); in isHopBuildVector() local
8242 unsigned NumEltsIn128Bits = NumElts / Num128BitChunks; in isHopBuildVector()
8376 unsigned NumElts = VT.getVectorNumElements(); in LowerToHorizontalOp() local
8377 unsigned Half = NumElts / 2; in LowerToHorizontalOp()
8384 for (unsigned i = Half, e = NumElts; i != e; ++i) in LowerToHorizontalOp()
8396 isHorizontalBinOpPart(BV, ISD::ADD, DAG, Half, NumElts, InVec2, in LowerToHorizontalOp()
8403 isHorizontalBinOpPart(BV, ISD::SUB, DAG, Half, NumElts, InVec2, in LowerToHorizontalOp()
8433 if (isHorizontalBinOpPart(BV, ISD::ADD, DAG, 0, NumElts, InVec0, InVec1)) in LowerToHorizontalOp()
8435 else if (isHorizontalBinOpPart(BV, ISD::SUB, DAG, 0, NumElts, InVec0, in LowerToHorizontalOp()
8438 else if (isHorizontalBinOpPart(BV, ISD::FADD, DAG, 0, NumElts, InVec0, in LowerToHorizontalOp()
8441 else if (isHorizontalBinOpPart(BV, ISD::FSUB, DAG, 0, NumElts, InVec0, in LowerToHorizontalOp()
8556 unsigned NumElts = VT.getVectorNumElements(); in createVariablePermute() local
8560 assert(IndicesVec.getValueType().getVectorNumElements() >= NumElts && in createVariablePermute()
8562 if (IndicesVec.getValueType().getVectorNumElements() > NumElts) in createVariablePermute()
8564 NumElts * VT.getScalarSizeInBits()); in createVariablePermute()
8572 VT = MVT::getVectorVT(VT.getScalarType(), Scale * NumElts); in createVariablePermute()
8960 unsigned NumElts = VT.getVectorNumElements(); in LowerBUILD_VECTOR() local
8961 for (unsigned i = 0; i != NumElts; ++i) in LowerBUILD_VECTOR()
8962 ShuffleMask.push_back(i == InsertC ? NumElts : i); in LowerBUILD_VECTOR()
9637 int NumElts = Mask.size(); in createTargetShuffleMask() local
9638 assert(NumElts == (int)Zeroable.getBitWidth() && "Mismatch mask sizes"); in createTargetShuffleMask()
9640 SmallVector<int, 64> TargetMask(NumElts, SM_SentinelUndef); in createTargetShuffleMask()
9641 for (int i = 0; i != NumElts; ++i) { in createTargetShuffleMask()
9645 assert(0 <= M && M < (2 * NumElts) && "Out of range shuffle index"); in createTargetShuffleMask()
9901 unsigned NumElts = VT.getVectorNumElements(); in lowerVectorShuffleToEXPAND() local
9902 assert((NumElts == 4 || NumElts == 8 || NumElts == 16) && in lowerVectorShuffleToEXPAND()
9904 SDValue VMask = getMaskNode(MaskNode, MVT::getVectorVT(MVT::i1, NumElts), in lowerVectorShuffleToEXPAND()
9918 int NumElts = VT.getVectorNumElements(); in matchVectorShuffleWithUNPCK() local
9921 for (int i = 0; i != NumElts; i += 2) { in matchVectorShuffleWithUNPCK()
9954 isSequentialOrUndefOrZeroInRange(TargetMask, 0, NumElts, 0)) in matchVectorShuffleWithUNPCK()
9958 for (int i = 0; (i != NumElts) && (MatchLo || MatchHi); ++i) { in matchVectorShuffleWithUNPCK()
10125 unsigned NumElts = VT.getVectorNumElements(); in matchVectorShuffleWithPACK() local
10128 MVT PackVT = MVT::getVectorVT(PackSVT, NumElts / 2); in matchVectorShuffleWithPACK()
10517 int NumElts = Mask.size(); in lowerVectorShuffleAsUNPCKAndPermute() local
10519 int NumLaneElts = NumElts / NumLanes; in lowerVectorShuffleAsUNPCKAndPermute()
10526 for (int Lane = 0; Lane != NumElts; Lane += NumLaneElts) { in lowerVectorShuffleAsUNPCKAndPermute()
10533 if (M < NumElts && (Op.isUndef() || Op == V1)) in lowerVectorShuffleAsUNPCKAndPermute()
10535 else if (NumElts <= M && (Op.isUndef() || Op == V2)) in lowerVectorShuffleAsUNPCKAndPermute()
10542 isUndefOrInRange(M, NumElts + Lo, NumElts + Mid); in lowerVectorShuffleAsUNPCKAndPermute()
10544 isUndefOrInRange(M, NumElts + Mid, NumElts + Hi); in lowerVectorShuffleAsUNPCKAndPermute()
10554 SmallVector<int, 32> PermuteMask(NumElts, -1); in lowerVectorShuffleAsUNPCKAndPermute()
10555 for (int Lane = 0; Lane != NumElts; Lane += NumLaneElts) { in lowerVectorShuffleAsUNPCKAndPermute()
10590 int NumElts = VT.getVectorNumElements(); in lowerVectorShuffleAsByteRotateAndPermute() local
10591 int NumEltsPerLane = NumElts / NumLanes; in lowerVectorShuffleAsByteRotateAndPermute()
10598 for (int Lane = 0; Lane != NumElts; Lane += NumEltsPerLane) { in lowerVectorShuffleAsByteRotateAndPermute()
10603 if (M < NumElts) { in lowerVectorShuffleAsByteRotateAndPermute()
10610 M -= NumElts; in lowerVectorShuffleAsByteRotateAndPermute()
10637 SmallVector<int, 64> PermMask(NumElts, SM_SentinelUndef); in lowerVectorShuffleAsByteRotateAndPermute()
10638 for (int Lane = 0; Lane != NumElts; Lane += NumEltsPerLane) { in lowerVectorShuffleAsByteRotateAndPermute()
10643 if (M < NumElts) in lowerVectorShuffleAsByteRotateAndPermute()
10656 return RotateAndPermute(V2, V1, Range2.first, NumElts); in lowerVectorShuffleAsByteRotateAndPermute()
10716 int NumElts = Mask.size(); in matchVectorShuffleAsRotate() local
10727 for (int i = 0; i < NumElts; ++i) { in matchVectorShuffleAsRotate()
10729 assert((M == SM_SentinelUndef || (0 <= M && M < (2*NumElts))) && in matchVectorShuffleAsRotate()
10735 int StartIdx = i - (M % NumElts); in matchVectorShuffleAsRotate()
10743 int CandidateRotation = StartIdx < 0 ? -StartIdx : NumElts - StartIdx; in matchVectorShuffleAsRotate()
10752 SDValue MaskV = M < NumElts ? V1 : V2; in matchVectorShuffleAsRotate()
10816 int NumElts = RepeatedMask.size(); in matchVectorShuffleAsByteRotate() local
10817 int Scale = 16 / NumElts; in matchVectorShuffleAsByteRotate()
11649 unsigned NumElts = Mask.size(); in lowerVectorShuffleAsBroadcast() local
11657 for (int i = 0; i != (int)NumElts; ++i) { in lowerVectorShuffleAsBroadcast()
11658 SmallVector<int, 8> BroadcastMask(NumElts, i); in lowerVectorShuffleAsBroadcast()
13882 int NumElts = VT.getVectorNumElements(); in lowerVectorShuffleAsLanePermuteAndPermute() local
13884 int NumEltsPerLane = NumElts / NumLanes; in lowerVectorShuffleAsLanePermuteAndPermute()
13887 SmallVector<int, 16> PermMask(NumElts, SM_SentinelUndef); in lowerVectorShuffleAsLanePermuteAndPermute()
13889 for (int i = 0; i != NumElts; ++i) { in lowerVectorShuffleAsLanePermuteAndPermute()
13905 SmallVector<int, 16> LaneMask(NumElts, SM_SentinelUndef); in lowerVectorShuffleAsLanePermuteAndPermute()
14273 unsigned NumElts = VT.getVectorNumElements(); in lowerVectorShuffleWithUndefHalf() local
14274 unsigned HalfNumElts = NumElts / 2; in lowerVectorShuffleWithUndefHalf()
14409 int NumElts = VT.getVectorNumElements(); in lowerShuffleAsRepeatedMaskAndLanePermute() local
14411 int NumLaneElts = NumElts / NumLanes; in lowerShuffleAsRepeatedMaskAndLanePermute()
14425 for (int i = 0; i != NumElts; i += NumBroadcastElts) in lowerShuffleAsRepeatedMaskAndLanePermute()
14431 if (0 != ((M % NumElts) / NumLaneElts)) in lowerShuffleAsRepeatedMaskAndLanePermute()
14440 SmallVector<int, 8> RepeatMask((unsigned)NumElts, -1); in lowerShuffleAsRepeatedMaskAndLanePermute()
14448 SmallVector<int, 8> BroadcastMask((unsigned)NumElts, -1); in lowerShuffleAsRepeatedMaskAndLanePermute()
14449 for (int i = 0; i != NumElts; i += NumBroadcastElts) in lowerShuffleAsRepeatedMaskAndLanePermute()
14490 int Lane = (M % NumElts) / NumLaneElts; in lowerShuffleAsRepeatedMaskAndLanePermute()
14494 int LocalM = (M % NumLaneElts) + (M < NumElts ? 0 : NumElts); in lowerShuffleAsRepeatedMaskAndLanePermute()
14544 SmallVector<int, 8> RepeatedMask((unsigned)NumElts, -1); in lowerShuffleAsRepeatedMaskAndLanePermute()
14559 SmallVector<int, 8> SubLaneMask((unsigned)NumElts, -1); in lowerShuffleAsRepeatedMaskAndLanePermute()
14560 for (int i = 0; i != NumElts; i += NumSubLaneElts) { in lowerShuffleAsRepeatedMaskAndLanePermute()
14575 int NumElts = VT.getVectorNumElements(); in matchVectorShuffleWithSHUFPD() local
14577 (NumElts == 2 || NumElts == 4 || NumElts == 8) && in matchVectorShuffleWithSHUFPD()
14585 for (int i = 0; i < NumElts; ++i) { in matchVectorShuffleWithSHUFPD()
14590 int Val = (i & 6) + NumElts * (i & 1); in matchVectorShuffleWithSHUFPD()
14591 int CommutVal = (i & 0xe) + NumElts * ((i & 1) ^ 1); in matchVectorShuffleWithSHUFPD()
15239 int NumElts = VT.getVectorNumElements(); in lower256BitVectorShuffle() local
15240 int NumV2Elements = count_if(Mask, [NumElts](int M) { return M >= NumElts; }); in lower256BitVectorShuffle()
15242 if (NumV2Elements == 1 && Mask[0] >= NumElts) in lower256BitVectorShuffle()
15319 unsigned NumElts = ((Zeroable & 0x0c) == 0x0c) ? 2 : 4; in lowerV4X128VectorShuffle() local
15320 MVT SubVT = MVT::getVectorVT(VT.getVectorElementType(), NumElts); in lowerV4X128VectorShuffle()
15778 int NumElts = Mask.size(); in lower512BitVectorShuffle() local
15779 int NumV2Elements = count_if(Mask, [NumElts](int M) { return M >= NumElts; }); in lower512BitVectorShuffle()
15781 if (NumV2Elements == 1 && Mask[0] >= NumElts) in lower512BitVectorShuffle()
15864 unsigned NumElts = Mask.size(); in lower1BitVectorShuffle() local
15868 for (int i = 0; i != (int)NumElts; ++i) { in lower1BitVectorShuffle()
15874 assert(SubvecElts != NumElts && "Identity shuffle?"); in lower1BitVectorShuffle()
15881 if (Zeroable.countLeadingOnes() >= (NumElts - SubvecElts)) { in lower1BitVectorShuffle()
15892 if (NumElts >= 16 || (Subtarget.hasDQI() && NumElts == 8)) { in lower1BitVectorShuffle()
15900 Offset += NumElts; // Increment for next iteration. in lower1BitVectorShuffle()
16207 unsigned NumElts = VT.getVectorNumElements(); in LowerVSELECT() local
16214 MVT MaskVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerVSELECT()
16229 MVT NewCondVT = MVT::getVectorVT(NewCondSVT, NumElts); in LowerVSELECT()
16252 MVT CastVT = MVT::getVectorVT(MVT::i8, NumElts * 2); in LowerVSELECT()
16320 unsigned NumElts = VecVT.getVectorNumElements(); in ExtractBitFromMaskVector() local
16323 MVT ExtEltVT = (NumElts <= 8) ? MVT::getIntegerVT(128 / NumElts) : MVT::i8; in ExtractBitFromMaskVector()
16324 MVT ExtVecVT = MVT::getVectorVT(ExtEltVT, NumElts); in ExtractBitFromMaskVector()
16510 unsigned NumElts = VecVT.getVectorNumElements(); in InsertBitToMaskVector() local
16511 MVT ExtEltVT = (NumElts <= 8) ? MVT::getIntegerVT(128 / NumElts) : MVT::i8; in InsertBitToMaskVector()
16512 MVT ExtVecVT = MVT::getVectorVT(ExtEltVT, NumElts); in InsertBitToMaskVector()
16530 unsigned NumElts = VT.getVectorNumElements(); in LowerINSERT_VECTOR_ELT() local
16553 for (unsigned i = 0; i != NumElts; ++i) in LowerINSERT_VECTOR_ELT()
16554 BlendMask.push_back(i == IdxVal ? i + NumElts : i); in LowerINSERT_VECTOR_ELT()
17312 unsigned NumElts = Subtarget.hasVLX() ? 4 : 8; in LowerI64IntToFP_AVX512DQ() local
17313 MVT VecInVT = MVT::getVectorVT(MVT::i64, NumElts); in LowerI64IntToFP_AVX512DQ()
17314 MVT VecVT = MVT::getVectorVT(VT, NumElts); in LowerI64IntToFP_AVX512DQ()
18045 unsigned NumElts = VT.getVectorNumElements(); in LowerZERO_EXTEND_Mask() local
18059 if (NumElts == 16 && !Subtarget.canExtendTo512DQ()) in LowerZERO_EXTEND_Mask()
18062 ExtVT = MVT::getVectorVT(MVT::i32, NumElts); in LowerZERO_EXTEND_Mask()
18068 NumElts *= 512 / ExtVT.getSizeInBits(); in LowerZERO_EXTEND_Mask()
18069 InVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerZERO_EXTEND_Mask()
18073 NumElts); in LowerZERO_EXTEND_Mask()
18083 WideVT = MVT::getVectorVT(MVT::i8, NumElts); in LowerZERO_EXTEND_Mask()
18244 unsigned NumElts = InVT.getVectorNumElements(); in LowerTruncateVecI1() local
18245 assert((NumElts == 8 || NumElts == 16) && "Unexpected number of elements"); in LowerTruncateVecI1()
18255 if (NumElts == 16 && !Subtarget.canExtendTo512DQ()) { in LowerTruncateVecI1()
18272 MVT EltVT = Subtarget.hasVLX() ? MVT::i32 : MVT::getIntegerVT(512/NumElts); in LowerTruncateVecI1()
18273 MVT ExtVT = MVT::getVectorVT(EltVT, NumElts); in LowerTruncateVecI1()
19312 unsigned NumElts = VT.getVectorNumElements(); in decrementVectorConstant() local
19315 for (unsigned i = 0; i < NumElts; ++i) { in decrementVectorConstant()
20230 unsigned NumElts = VT.getVectorNumElements(); in LowerSIGN_EXTEND_Mask() local
20236 if (NumElts == 16 && !Subtarget.canExtendTo512DQ()) in LowerSIGN_EXTEND_Mask()
20239 ExtVT = MVT::getVectorVT(MVT::i32, NumElts); in LowerSIGN_EXTEND_Mask()
20245 NumElts *= 512 / ExtVT.getSizeInBits(); in LowerSIGN_EXTEND_Mask()
20246 InVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerSIGN_EXTEND_Mask()
20249 WideVT = MVT::getVectorVT(ExtVT.getVectorElementType(), NumElts); in LowerSIGN_EXTEND_Mask()
20265 WideVT = MVT::getVectorVT(VTElt, NumElts); in LowerSIGN_EXTEND_Mask()
20315 unsigned NumElts = VT.getVectorNumElements(); in LowerEXTEND_VECTOR_INREG() local
20322 int InSize = InSVT.getSizeInBits() * NumElts; in LowerEXTEND_VECTOR_INREG()
20333 if (InVT.getVectorNumElements() != NumElts) in LowerEXTEND_VECTOR_INREG()
20347 int HalfNumElts = NumElts / 2; in LowerEXTEND_VECTOR_INREG()
21251 unsigned NumElts = SrcOp->getNumOperands(); in getTargetVShiftByConstNode() local
21257 for (unsigned i=0; i!=NumElts; ++i) { in getTargetVShiftByConstNode()
21269 for (unsigned i=0; i!=NumElts; ++i) { in getTargetVShiftByConstNode()
21281 for (unsigned i=0; i!=NumElts; ++i) { in getTargetVShiftByConstNode()
23307 int NumElts = VT.getVectorNumElements(); in LowerVectorCTLZInRegLUT() local
23308 int NumBytes = NumElts * (VT.getScalarSizeInBits() / 8); in LowerVectorCTLZInRegLUT()
23664 unsigned NumElts = VT.getVectorNumElements(); in LowerMUL() local
23676 MVT ExVT = MVT::getVectorVT(MVT::i16, NumElts / 2); in LowerMUL()
23690 for (unsigned i = 0; i != NumElts; i += 16) { in LowerMUL()
23796 unsigned NumElts = VT.getVectorNumElements(); in LowerMULH() local
23825 makeArrayRef(&Mask[0], NumElts)); in LowerMULH()
23828 makeArrayRef(&Mask[0], NumElts)); in LowerMULH()
23832 MVT MulVT = MVT::getVectorVT(MVT::i64, NumElts / 2); in LowerMULH()
23847 SmallVector<int, 16> ShufMask(NumElts); in LowerMULH()
23848 for (int i = 0; i != (int)NumElts; ++i) in LowerMULH()
23849 ShufMask[i] = (i / 2) * 2 + ((i % 2) * NumElts) + 1; in LowerMULH()
23883 MVT ExVT = MVT::getVectorVT(MVT::i16, NumElts); in LowerMULH()
23899 SDValue Hi = DAG.getIntPtrConstant(NumElts / 2, dl); in LowerMULH()
23904 SDValue AHi = extract128BitVector(A, NumElts / 2, DAG, dl); in LowerMULH()
23905 SDValue BHi = extract128BitVector(B, NumElts / 2, DAG, dl); in LowerMULH()
23930 MVT ExVT = MVT::getVectorVT(MVT::i16, NumElts / 2); in LowerMULH()
23965 for (unsigned i = 0; i != NumElts; i += 16) { in LowerMULH()
24181 unsigned NumElts = VT.getVectorNumElements(); in LowerScalarImmediateShift() local
24182 MVT ShiftVT = MVT::getVectorVT(MVT::i16, NumElts / 2); in LowerScalarImmediateShift()
24265 int NumElts = V.getValueType().getVectorNumElements(); in IsSplatVector() local
24266 SplatIdx = Idx % NumElts; in IsSplatVector()
24267 return V.getOperand(Idx / NumElts); in IsSplatVector()
24311 unsigned NumElts = VT.getVectorNumElements(); in LowerScalarVariableShift() local
24312 MVT ExtVT = MVT::getVectorVT(MVT::i16, NumElts / 2); in LowerScalarVariableShift()
24328 SmallVector<int, 64>(NumElts, 0)); in LowerScalarVariableShift()
24511 unsigned NumElts = VT.getVectorNumElements(); in LowerShift() local
24513 for (unsigned i = 0; i != NumElts; ++i) { in LowerShift()
24525 ShuffleMask.push_back(i + NumElts); in LowerShift()
24533 if (ShuffleMask.size() == NumElts && Amt1 && Amt2 && in LowerShift()
24677 int NumElts = VT.getVectorNumElements(); in LowerShift() local
24682 MVT ExVT = MVT::getVectorVT(MVT::i16, NumElts); in LowerShift()
24698 for (int i = 0; i != NumElts; i += 16) { in LowerShift()
24705 MVT VT16 = MVT::getVectorVT(MVT::i16, NumElts / 2); in LowerShift()
24926 int NumElts = VT.getVectorNumElements(); in LowerRotate() local
24933 for (int i = 0; i != NumElts; ++i) in LowerRotate()
25000 MVT ExtVT = MVT::getVectorVT(MVT::i16, NumElts / 2); in LowerRotate()
25492 int NumElts = VT.getVectorNumElements(); in LowerVectorCTPOPInRegLUT() local
25512 for (int i = 0; i < NumElts; ++i) in LowerVectorCTPOPInRegLUT()
25600 int NumElts = VT.getVectorNumElements(); in LowerBITREVERSE_XOP() local
25615 for (int i = 0; i != NumElts; ++i) { in LowerBITREVERSE_XOP()
25642 unsigned NumElts = VT.getVectorNumElements(); in LowerBITREVERSE() local
25669 for (unsigned i = 0; i < NumElts; ++i) { in LowerBITREVERSE()
25977 unsigned NumElts = VT.getVectorNumElements() * Factor; in LowerMSCATTER() local
25979 VT = MVT::getVectorVT(VT.getVectorElementType(), NumElts); in LowerMSCATTER()
25980 IndexVT = MVT::getVectorVT(IndexVT.getVectorElementType(), NumElts); in LowerMSCATTER()
25981 MaskVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerMSCATTER()
26115 unsigned NumElts = VT.getVectorNumElements() * Factor; in LowerMGATHER() local
26117 VT = MVT::getVectorVT(VT.getVectorElementType(), NumElts); in LowerMGATHER()
26118 IndexVT = MVT::getVectorVT(IndexVT.getVectorElementType(), NumElts); in LowerMGATHER()
26119 MaskVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerMGATHER()
26613 unsigned NumElts = InVT.getVectorNumElements(); in ReplaceNodeResults() local
26614 unsigned HalfNumElts = NumElts / 2; in ReplaceNodeResults()
26615 SmallVector<int, 16> ShufMask(NumElts, SM_SentinelUndef); in ReplaceNodeResults()
26730 unsigned NumElts = Subtarget.hasVLX() ? 4 : 8; in ReplaceNodeResults() local
26734 MVT VecVT = MVT::getVectorVT(MVT::i64, NumElts); in ReplaceNodeResults()
26735 MVT VecInVT = MVT::getVectorVT(SrcVT.getSimpleVT(), NumElts); in ReplaceNodeResults()
26967 unsigned NumElts = DstVT.getVectorNumElements(); in ReplaceNodeResults() local
26969 EVT WiderVT = EVT::getVectorVT(*DAG.getContext(), SVT, NumElts * 2); in ReplaceNodeResults()
30187 unsigned NumElts = VT.getVectorNumElements(); in computeKnownBitsForTargetNode() local
30188 if (Mask.size() == NumElts) { in computeKnownBitsForTargetNode()
30189 SmallVector<APInt, 2> DemandedOps(NumOps, APInt(NumElts, 0)); in computeKnownBitsForTargetNode()
30191 for (unsigned i = 0; i != NumElts; ++i) { in computeKnownBitsForTargetNode()
30204 assert(0 <= M && (unsigned)M < (NumOps * NumElts) && in computeKnownBitsForTargetNode()
30207 unsigned OpIdx = (unsigned)M / NumElts; in computeKnownBitsForTargetNode()
30208 unsigned EltIdx = (unsigned)M % NumElts; in computeKnownBitsForTargetNode()
32212 int NumElts = VT.getVectorNumElements(); in combineShuffleOfConcatUndef() local
32216 Mask.push_back(Elt < NumElts ? Elt : (Elt - NumElts / 2)); in combineShuffleOfConcatUndef()
32304 unsigned NumElts = VT.getVectorNumElements(); in combineShuffle() local
32307 SVT.getVectorNumElements() * 2 == NumElts && in combineShuffle()
32330 for (unsigned i = SVTNumElts, e = NumElts; i != e && CanFold; ++i) in combineShuffle()
32444 int NumElts = DemandedElts.getBitWidth(); in SimplifyDemandedVectorEltsForTargetNode() local
32554 for (int i = 0; i != NumElts; ++i) { in SimplifyDemandedVectorEltsForTargetNode()
32558 else if (0 <= M && OpInputs[M / NumElts].isUndef()) in SimplifyDemandedVectorEltsForTargetNode()
32562 if (isUndefInRange(OpMask, 0, NumElts)) { in SimplifyDemandedVectorEltsForTargetNode()
32566 if (isUndefOrZeroInRange(OpMask, 0, NumElts)) { in SimplifyDemandedVectorEltsForTargetNode()
32572 if (isSequentialOrUndefInRange(OpMask, 0, NumElts, Src * NumElts)) in SimplifyDemandedVectorEltsForTargetNode()
32577 int Lo = Src * NumElts; in SimplifyDemandedVectorEltsForTargetNode()
32578 APInt SrcElts = APInt::getNullValue(NumElts); in SimplifyDemandedVectorEltsForTargetNode()
32579 for (int i = 0; i != NumElts; ++i) in SimplifyDemandedVectorEltsForTargetNode()
32582 if (0 <= M && M < NumElts) in SimplifyDemandedVectorEltsForTargetNode()
32594 for (int i = 0; i != NumElts; ++i) { in SimplifyDemandedVectorEltsForTargetNode()
32745 unsigned NumElts = SrcVT.getVectorNumElements(); in SimplifyDemandedBitsForTargetNode() local
32748 if (OriginalDemandedBits.countTrailingZeros() >= NumElts) in SimplifyDemandedBitsForTargetNode()
32753 APInt DemandedElts = OriginalDemandedBits.zextOrTrunc(NumElts); in SimplifyDemandedBitsForTargetNode()
32759 Known.Zero.setHighBits(BitWidth - NumElts); in SimplifyDemandedBitsForTargetNode()
32768 Known.One.setLowBits(NumElts); in SimplifyDemandedBitsForTargetNode()
32770 Known.Zero.setLowBits(NumElts); in SimplifyDemandedBitsForTargetNode()
33071 unsigned NumElts = N.getNumOperands(); in createMMXBuildVector() local
33105 if (NumElts == 8) in createMMXBuildVector()
33112 unsigned ShufMask = (NumElts > 2 ? 0 : 0x44); in createMMXBuildVector()
33118 Ops.append(NumElts, Splat); in createMMXBuildVector()
33120 for (unsigned i = 0; i != NumElts; ++i) in createMMXBuildVector()
33441 unsigned NumElts = SrcVT.getVectorNumElements(); in combineHorizontalMinMaxResult() local
33442 unsigned NumSubElts = NumElts / 2; in combineHorizontalMinMaxResult()
35070 unsigned NumElts = VT.getVectorNumElements(); in reduceVMULWidth() local
35071 if ((NumElts % 2) != 0) in reduceVMULWidth()
35076 EVT ReducedVT = EVT::getVectorVT(*DAG.getContext(), MVT::i16, NumElts); in reduceVMULWidth()
35083 NumElts >= OpsVT.getVectorNumElements()) { in reduceVMULWidth()
35091 MVT ResVT = MVT::getVectorVT(MVT::i32, NumElts / 2); in reduceVMULWidth()
35100 SmallVector<int, 16> ShuffleMask(NumElts); in reduceVMULWidth()
35101 for (unsigned i = 0, e = NumElts / 2; i < e; i++) { in reduceVMULWidth()
35103 ShuffleMask[2 * i + 1] = i + NumElts; in reduceVMULWidth()
35109 for (unsigned i = 0, e = NumElts / 2; i < e; i++) { in reduceVMULWidth()
35110 ShuffleMask[2 * i] = i + NumElts / 2; in reduceVMULWidth()
35111 ShuffleMask[2 * i + 1] = i + NumElts * 3 / 2; in reduceVMULWidth()
36429 unsigned NumElts = SrcVecVT.getVectorNumElements(); in combineAnd() local
36434 SmallVector<int, 16> ShuffleMask(NumElts * Scale, SM_SentinelUndef); in combineAnd()
37311 unsigned NumElts = BV->getValueType(0).getVectorNumElements(); in getOneTrueElt() local
37312 for (unsigned i = 0; i < NumElts; ++i) { in getOneTrueElt()
37397 unsigned NumElts = VT.getVectorNumElements(); in combineMaskedLoadConstantMask() local
37400 bool LoadLastElt = !isNullConstant(MaskBV->getOperand(NumElts - 1)); in combineMaskedLoadConstantMask()
38007 unsigned NumElts = VT.getVectorNumElements(); in isHorizontalBinOp() local
38009 SmallVector<int, 16> LMask(NumElts); in isHorizontalBinOp()
38019 for (unsigned i = 0; i != NumElts; ++i) in isHorizontalBinOp()
38026 SmallVector<int, 16> RMask(NumElts); in isHorizontalBinOp()
38036 for (unsigned i = 0; i != NumElts; ++i) in isHorizontalBinOp()
38057 unsigned NumEltsPer128BitChunk = NumElts / Num128BitChunks; in isHorizontalBinOp()
38060 for (unsigned j = 0; j != NumElts; j += NumEltsPer128BitChunk) { in isHorizontalBinOp()
38065 (!A.getNode() && (LIdx < (int)NumElts || RIdx < (int)NumElts)) || in isHorizontalBinOp()
38066 (!B.getNode() && (LIdx >= (int)NumElts || RIdx >= (int)NumElts))) in isHorizontalBinOp()
38077 int Index = 2 * (i % NumEltsPer64BitChunk) + NumElts * Src + j; in isHorizontalBinOp()
39291 unsigned NumElts = VT.getVectorNumElements(); in combineToExtendBoolVectorInReg() local
39292 assert(NumElts == SclVT.getSizeInBits() && "Unexpected bool vector size"); in combineToExtendBoolVectorInReg()
39295 if (NumElts > EltSizeInBits) { in combineToExtendBoolVectorInReg()
39300 assert((NumElts % EltSizeInBits) == 0 && "Unexpected integer scale"); in combineToExtendBoolVectorInReg()
39301 unsigned Scale = NumElts / EltSizeInBits; in combineToExtendBoolVectorInReg()
39315 ShuffleMask.append(NumElts, 0); in combineToExtendBoolVectorInReg()
39321 for (unsigned i = 0; i != NumElts; ++i) { in combineToExtendBoolVectorInReg()
39330 EVT CCVT = EVT::getVectorVT(*DAG.getContext(), MVT::i1, NumElts); in combineToExtendBoolVectorInReg()