Lines Matching refs:NumElts
3062 unsigned NumElts = std::min(DataVT.getVectorNumElements(), in getTgtMemIntrinsic() local
3064 Info.memVT = MVT::getVectorVT(DataVT.getVectorElementType(), NumElts); in getTgtMemIntrinsic()
3074 unsigned NumElts = std::min(DataVT.getVectorNumElements(), in getTgtMemIntrinsic() local
3076 Info.memVT = MVT::getVectorVT(DataVT.getVectorElementType(), NumElts); in getTgtMemIntrinsic()
3560 unsigned NumElts = Mask.size(); in isUndefLowerHalf() local
3561 return isUndefInRange(Mask, 0, NumElts / 2); in isUndefLowerHalf()
3566 unsigned NumElts = Mask.size(); in isUndefUpperHalf() local
3567 return isUndefInRange(Mask, NumElts / 2, NumElts / 2); in isUndefUpperHalf()
3615 unsigned NumElts = Mask.size(); in isBlendOrUndef() local
3617 if (!isUndefOrEqual(M, I) && !isUndefOrEqual(M, I + NumElts)) in isBlendOrUndef()
3655 unsigned NumElts = Mask.size(); in isCompletePermute() local
3656 APInt DemandedElts = APInt::getZero(NumElts); in isCompletePermute()
3658 if (isInRange(M, 0, NumElts)) in isCompletePermute()
3793 unsigned NumElts = VT.getVectorNumElements(); in getConstVector() local
3796 ConstVecVT = MVT::getVectorVT(MVT::i32, NumElts * 2); in getConstVector()
3801 for (unsigned i = 0; i < NumElts; ++i) { in getConstVector()
3824 unsigned NumElts = VT.getVectorNumElements(); in getConstVector() local
3827 ConstVecVT = MVT::getVectorVT(MVT::i32, NumElts * 2); in getConstVector()
3904 unsigned NumElts = LHS.getValueType().getVectorNumElements(); in getSplitVectorSrc() local
3906 RHS.getConstantOperandAPInt(1) == NumElts) || in getSplitVectorSrc()
3908 LHS.getConstantOperandAPInt(1) == NumElts)) in getSplitVectorSrc()
4033 unsigned NumElts = VT.getVectorNumElements(); in widenMaskVectorType() local
4034 if ((!Subtarget.hasDQI() && NumElts == 8) || NumElts < 8) in widenMaskVectorType()
4508 unsigned NumElts = VT.getSizeInBits() / 32; in getOnesVector() local
4509 SDValue Vec = DAG.getAllOnesConstant(dl, MVT::getVectorVT(MVT::i32, NumElts)); in getOnesVector()
4551 int NumElts = VT.getVectorNumElements(); in createUnpackShuffleMask() local
4553 for (int i = 0; i < NumElts; ++i) { in createUnpackShuffleMask()
4556 Pos += (Unary ? 0 : NumElts * (i % 2)); in createUnpackShuffleMask()
4569 int NumElts = VT.getVectorNumElements(); in createSplat2ShuffleMask() local
4570 for (int i = 0; i < NumElts; ++i) { in createSplat2ShuffleMask()
4572 Pos += (Lo ? 0 : NumElts / 2); in createSplat2ShuffleMask()
4583 for (int I = 0, NumElts = Mask.size(); I != NumElts; ++I) { in getVectorShuffle() local
4587 SDValue V = (M < NumElts) ? V1 : V2; in getVectorShuffle()
4590 Ops[I] = V.getOperand(M % NumElts); in getVectorShuffle()
4634 int NumElts = VT.getVectorNumElements(); in getPack() local
4635 for (int I = 0; I != NumElts; I += 4) { in getPack()
4638 PackMask.push_back(I + Offset + NumElts); in getPack()
4639 PackMask.push_back(I + Offset + NumElts + 2); in getPack()
4744 unsigned NumElts = SizeInBits / EltSizeInBits; in getTargetConstantBitsFromNode() local
4759 if (NumSrcElts == NumElts) { in getTargetConstantBitsFromNode()
4777 UndefElts = APInt(NumElts, 0); in getTargetConstantBitsFromNode()
4778 EltBits.resize(NumElts, APInt(EltSizeInBits, 0)); in getTargetConstantBitsFromNode()
4780 for (unsigned i = 0; i != NumElts; ++i) { in getTargetConstantBitsFromNode()
4842 APInt UndefSrcElts = APInt::getAllOnes(NumElts); in getTargetConstantBitsFromNode()
4843 SmallVector<APInt, 64> SrcEltBits(NumElts, APInt(EltSizeInBits, 0)); in getTargetConstantBitsFromNode()
5028 if (isAnyInRange(Mask, 0, NumElts) && in getTargetConstantBitsFromNode()
5033 if (isAnyInRange(Mask, NumElts, 2 * NumElts) && in getTargetConstantBitsFromNode()
5039 UndefElts = APInt::getZero(NumElts); in getTargetConstantBitsFromNode()
5040 for (int i = 0; i != (int)NumElts; ++i) { in getTargetConstantBitsFromNode()
5045 } else if (M < (int)NumElts) { in getTargetConstantBitsFromNode()
5050 if (UndefElts1[M - NumElts]) in getTargetConstantBitsFromNode()
5052 EltBits.push_back(EltBits1[M - NumElts]); in getTargetConstantBitsFromNode()
5167 unsigned NumElts = VT.getVectorNumElements(); in createPackShuffleMask() local
5170 unsigned Offset = Unary ? 0 : NumElts; in createPackShuffleMask()
5189 int NumElts = DemandedElts.getBitWidth(); in getPackDemandedElts() local
5190 int NumInnerElts = NumElts / 2; in getPackDemandedElts()
5191 int NumEltsPerLane = NumElts / NumLanes; in getPackDemandedElts()
5737 unsigned NumElts = Mask.size(); in resolveTargetShuffleFromZeroables() local
5738 assert(KnownUndef.getBitWidth() == NumElts && in resolveTargetShuffleFromZeroables()
5739 KnownZero.getBitWidth() == NumElts && "Shuffle mask size mismatch"); in resolveTargetShuffleFromZeroables()
5741 for (unsigned i = 0; i != NumElts; ++i) { in resolveTargetShuffleFromZeroables()
5753 unsigned NumElts = Mask.size(); in resolveZeroablesFromTargetShuffle() local
5754 KnownUndef = KnownZero = APInt::getZero(NumElts); in resolveZeroablesFromTargetShuffle()
5756 for (unsigned i = 0; i != NumElts; ++i) { in resolveZeroablesFromTargetShuffle()
5770 unsigned NumElts = CondVT.getVectorNumElements(); in createShuffleMaskFromVSELECT() local
5779 Mask.resize(NumElts, SM_SentinelUndef); in createShuffleMaskFromVSELECT()
5781 for (int i = 0; i != (int)NumElts; ++i) { in createShuffleMaskFromVSELECT()
5788 Mask[i] += NumElts; in createShuffleMaskFromVSELECT()
5814 unsigned NumElts = VT.getVectorNumElements(); in getFauxShuffleMask() local
5819 assert(NumElts == DemandedElts.getBitWidth() && "Unexpected vector size"); in getFauxShuffleMask()
5828 if (isUndefOrInRange(ShuffleMask, 0, 2 * NumElts)) { in getFauxShuffleMask()
5916 unsigned MaxElts = std::max(NumElts, NumSubSrcBCElts); in getFauxShuffleMask()
5917 assert((MaxElts % NumElts) == 0 && (MaxElts % NumSubSrcBCElts) == 0 && in getFauxShuffleMask()
5919 InsertIdx *= (MaxElts / NumElts); in getFauxShuffleMask()
5921 NumSubElts *= (MaxElts / NumElts); in getFauxShuffleMask()
5935 if (Depth > 0 && InsertIdx == NumSubElts && NumElts == (2 * NumSubElts) && in getFauxShuffleMask()
5944 Mask.push_back(i + NumElts); in getFauxShuffleMask()
5980 NumElts *= Scale; in getFauxShuffleMask()
5987 Mask.append(NumElts, SM_SentinelZero); in getFauxShuffleMask()
5989 for (int i = 0; i != (int)NumElts; ++i) in getFauxShuffleMask()
5995 M = (NumElts * (1 + InputIdx)) + (M % NumSubElts); in getFauxShuffleMask()
6013 N.getConstantOperandAPInt(2).uge(NumElts)) in getFauxShuffleMask()
6020 for (unsigned i = 0; i != NumElts; ++i) in getFauxShuffleMask()
6087 assert(N0.getValueType().getVectorNumElements() == (NumElts / 2) && in getFauxShuffleMask()
6088 N1.getValueType().getVectorNumElements() == (NumElts / 2) && in getFauxShuffleMask()
6135 if ((Offset0 && isInRange(M, 0, NumElts)) || in getFauxShuffleMask()
6136 (Offset1 && isInRange(M, NumElts, 2 * NumElts))) in getFauxShuffleMask()
6164 Mask.append(NumElts - NumSrcElts, SM_SentinelZero); in getFauxShuffleMask()
6173 Mask.append(NumElts, SM_SentinelZero); in getFauxShuffleMask()
6207 for (int i = 0; i != (int)NumElts; ++i) { in getFauxShuffleMask()
6226 Mask.append(NumElts, 0); in getFauxShuffleMask()
6247 for (unsigned I = 0; I != NumElts; ++I) in getFauxShuffleMask()
6266 DecodeZeroExtendMask(SrcVT.getScalarSizeInBits(), NumBitsPerElt, NumElts, in getFauxShuffleMask()
6365 unsigned NumElts = Op.getValueType().getVectorNumElements(); in getTargetShuffleInputs() local
6366 APInt DemandedElts = APInt::getAllOnes(NumElts); in getTargetShuffleInputs()
6504 unsigned NumElts = VT.getVectorNumElements(); in LowerBuildVectorAsInsert() local
6512 for (unsigned i = 0; i < NumElts; ++i) { in LowerBuildVectorAsInsert()
7289 unsigned NumElts = VT.getVectorNumElements(); in lowerBuildVectorAsBroadcast() local
7299 assert((NumElts % Sequence.size()) == 0 && "Sequence doesn't fit."); in lowerBuildVectorAsBroadcast()
7328 MVT BcstVT = MVT::getVectorVT(EltType, NumElts / SeqLen); in lowerBuildVectorAsBroadcast()
7331 BcstVT = MVT::getVectorVT(EltType, Scale * (NumElts / SeqLen)); in lowerBuildVectorAsBroadcast()
7342 if (!Ld || (NumElts - NumUndefElts) <= 1) { in lowerBuildVectorAsBroadcast()
7397 if (!Ld || NumElts - NumUndefElts != 1) in lowerBuildVectorAsBroadcast()
7475 if (!Ld->hasNUsesOfValue(NumElts - NumUndefElts, 0)) in lowerBuildVectorAsBroadcast()
7769 unsigned NumElts = LastIdx - BaseIdx; in isHorizontalBinOpPart() local
7774 for (unsigned i = 0, e = NumElts; i != e && CanFold; ++i) { in isHorizontalBinOpPart()
7780 if (i * 2 == NumElts) in isHorizontalBinOpPart()
7807 if (i * 2 < NumElts) { in isHorizontalBinOpPart()
7819 if (i * 2 == NumElts) in isHorizontalBinOpPart()
7823 SDValue Expected = (i * 2 < NumElts) ? V0 : V1; in isHorizontalBinOpPart()
7878 unsigned NumElts = VT.getVectorNumElements(); in ExpandHorizontalBinOp() local
7880 SDValue V0_HI = extract128BitVector(V0, NumElts/2, DAG, DL); in ExpandHorizontalBinOp()
7882 SDValue V1_HI = extract128BitVector(V1, NumElts/2, DAG, DL); in ExpandHorizontalBinOp()
7921 unsigned NumElts = VT.getVectorNumElements(); in isAddSubOrSubAdd() local
7932 for (unsigned i = 0, e = NumElts; i != e; ++i) { in isAddSubOrSubAdd()
8117 unsigned NumElts = VT.getVectorNumElements(); in isHopBuildVector() local
8120 unsigned NumEltsIn128Bits = NumElts / Num128BitChunks; in isHopBuildVector()
8213 unsigned NumElts = VT.getVectorNumElements(); in getHopForBuildVector() local
8214 APInt DemandedElts = APInt::getAllOnes(NumElts); in getHopForBuildVector()
8215 for (unsigned i = 0; i != NumElts; ++i) in getHopForBuildVector()
8220 unsigned HalfNumElts = NumElts / 2; in getHopForBuildVector()
8261 unsigned NumElts = VT.getVectorNumElements(); in LowerToHorizontalOp() local
8262 unsigned Half = NumElts / 2; in LowerToHorizontalOp()
8269 for (unsigned i = Half, e = NumElts; i != e; ++i) in LowerToHorizontalOp()
8280 isHorizontalBinOpPart(BV, ISD::ADD, DL, DAG, Half, NumElts, InVec2, in LowerToHorizontalOp()
8287 isHorizontalBinOpPart(BV, ISD::SUB, DL, DAG, Half, NumElts, InVec2, in LowerToHorizontalOp()
8317 if (isHorizontalBinOpPart(BV, ISD::ADD, DL, DAG, 0, NumElts, InVec0, in LowerToHorizontalOp()
8320 else if (isHorizontalBinOpPart(BV, ISD::SUB, DL, DAG, 0, NumElts, InVec0, in LowerToHorizontalOp()
8323 else if (isHorizontalBinOpPart(BV, ISD::FADD, DL, DAG, 0, NumElts, InVec0, in LowerToHorizontalOp()
8326 else if (isHorizontalBinOpPart(BV, ISD::FSUB, DL, DAG, 0, NumElts, InVec0, in LowerToHorizontalOp()
8464 unsigned NumElts = VT.getVectorNumElements(); in createVariablePermute() local
8468 assert(IndicesVec.getValueType().getVectorNumElements() >= NumElts && in createVariablePermute()
8470 if (IndicesVec.getValueType().getVectorNumElements() > NumElts) { in createVariablePermute()
8474 NumElts * VT.getScalarSizeInBits()); in createVariablePermute()
8479 if (IndicesVec.getValueType().getVectorNumElements() > NumElts) in createVariablePermute()
8490 VT = MVT::getVectorVT(VT.getScalarType(), Scale * NumElts); in createVariablePermute()
8951 unsigned NumElts = VT.getVectorNumElements(); in LowerBUILD_VECTOR() local
8952 for (unsigned i = 0; i != NumElts; ++i) in LowerBUILD_VECTOR()
8953 ShuffleMask.push_back(i == InsertC ? NumElts : i); in LowerBUILD_VECTOR()
9435 int NumElts = Mask.size(); in isMultiLaneShuffleMask() local
9437 int NumLanes = NumElts / NumEltsPerLane; in isMultiLaneShuffleMask()
9445 int Lane = (M % NumElts) / NumEltsPerLane; in isMultiLaneShuffleMask()
9594 int NumElts = VT.getVectorNumElements(); in IsElementEquivalent() local
9595 if (MaskSize == NumElts) { in IsElementEquivalent()
9597 int NumEltsPerLane = NumElts / NumLanes; in IsElementEquivalent()
9907 unsigned NumElts = VT.getVectorNumElements(); in lowerShuffleToEXPAND() local
9908 assert((NumElts == 4 || NumElts == 8 || NumElts == 16) && in lowerShuffleToEXPAND()
9910 SDValue VMask = getMaskNode(MaskNode, MVT::getVectorVT(MVT::i1, NumElts), in lowerShuffleToEXPAND()
9922 int NumElts = VT.getVectorNumElements(); in matchShuffleWithUNPCK() local
9925 for (int i = 0; i != NumElts; i += 2) { in matchShuffleWithUNPCK()
9960 isSequentialOrUndefOrZeroInRange(TargetMask, 0, NumElts, 0)) in matchShuffleWithUNPCK()
9964 for (int i = 0; (i != NumElts) && (MatchLo || MatchHi); ++i) { in matchShuffleWithUNPCK()
10065 unsigned NumElts = Mask.size(); in matchShuffleAsVTRUNC() local
10073 unsigned NumSrcElts = NumElts / Scale; in matchShuffleAsVTRUNC()
10076 unsigned UpperElts = NumElts - NumSrcElts; in matchShuffleAsVTRUNC()
10167 unsigned NumElts = VT.getVectorNumElements(); in lowerShuffleWithVPMOV() local
10172 unsigned NumSrcElts = NumElts / Scale; in lowerShuffleWithVPMOV()
10173 unsigned UpperElts = NumElts - NumSrcElts; in lowerShuffleWithVPMOV()
10218 unsigned NumElts = VT.getVectorNumElements(); in lowerShuffleAsVTRUNC() local
10229 unsigned NumHalfSrcElts = NumElts / Scale; in lowerShuffleAsVTRUNC()
10237 unsigned UpperElts = NumElts - NumSrcElts; in lowerShuffleAsVTRUNC()
10265 MVT ConcatVT = MVT::getVectorVT(VT.getScalarType(), NumElts * 2); in lowerShuffleAsVTRUNC()
10367 unsigned NumElts = VT.getVectorNumElements(); in matchShuffleWithPACK() local
10413 MVT PackVT = MVT::getVectorVT(PackSVT, NumElts >> NumStages); in matchShuffleWithPACK()
10574 int NumElts = Mask.size(); in matchShuffleAsBlend() local
10576 int NumEltsPerLane = NumElts / NumLanes; in matchShuffleAsBlend()
10577 assert((NumLanes * NumEltsPerLane) == NumElts && "Value type mismatch"); in matchShuffleAsBlend()
10596 if (M == Elt || (0 <= M && M < NumElts && in matchShuffleAsBlend()
10597 IsElementEquivalent(NumElts, V1, V1, M, Elt))) { in matchShuffleAsBlend()
10602 if (M == (Elt + NumElts) || in matchShuffleAsBlend()
10603 (NumElts <= M && in matchShuffleAsBlend()
10604 IsElementEquivalent(NumElts, V2, V2, M - NumElts, Elt))) { in matchShuffleAsBlend()
10606 Mask[Elt] = Elt + NumElts; in matchShuffleAsBlend()
10620 Mask[Elt] = Elt + NumElts; in matchShuffleAsBlend()
10663 unsigned NumElts = VT.getVectorNumElements(); in lowerShuffleAsBlend() local
10723 MVT IntegerType = MVT::getIntegerVT(std::max<unsigned>(NumElts, 8)); in lowerShuffleAsBlend()
10792 MVT IntegerType = MVT::getIntegerVT(std::max<unsigned>(NumElts, 8)); in lowerShuffleAsBlend()
10849 int NumElts = Mask.size(); in lowerShuffleAsUNPCKAndPermute() local
10851 int NumLaneElts = NumElts / NumLanes; in lowerShuffleAsUNPCKAndPermute()
10858 for (int Elt = 0; Elt != NumElts; ++Elt) { in lowerShuffleAsUNPCKAndPermute()
10866 if (M < NumElts && (Op.isUndef() || Op == V1)) in lowerShuffleAsUNPCKAndPermute()
10868 else if (NumElts <= M && (Op.isUndef() || Op == V2)) { in lowerShuffleAsUNPCKAndPermute()
10870 NormM -= NumElts; in lowerShuffleAsUNPCKAndPermute()
10875 for (int Lane = 0; Lane != NumElts; Lane += NumLaneElts) { in lowerShuffleAsUNPCKAndPermute()
10895 SmallVector<int, 32> PermuteMask(NumElts, -1); in lowerShuffleAsUNPCKAndPermute()
10896 for (int Elt = 0; Elt != NumElts; ++Elt) { in lowerShuffleAsUNPCKAndPermute()
10901 if (NumElts <= M) in lowerShuffleAsUNPCKAndPermute()
10902 NormM -= NumElts; in lowerShuffleAsUNPCKAndPermute()
10903 bool IsFirstOp = M < NumElts; in lowerShuffleAsUNPCKAndPermute()
11053 int NumElts = VT.getVectorNumElements(); in lowerShuffleAsByteRotateAndPermute() local
11054 int NumEltsPerLane = NumElts / NumLanes; in lowerShuffleAsByteRotateAndPermute()
11061 for (int Lane = 0; Lane != NumElts; Lane += NumEltsPerLane) { in lowerShuffleAsByteRotateAndPermute()
11066 if (M < NumElts) { in lowerShuffleAsByteRotateAndPermute()
11073 M -= NumElts; in lowerShuffleAsByteRotateAndPermute()
11100 SmallVector<int, 64> PermMask(NumElts, SM_SentinelUndef); in lowerShuffleAsByteRotateAndPermute()
11101 for (int Lane = 0; Lane != NumElts; Lane += NumEltsPerLane) { in lowerShuffleAsByteRotateAndPermute()
11106 if (M < NumElts) in lowerShuffleAsByteRotateAndPermute()
11119 return RotateAndPermute(V2, V1, Range2.first, NumElts); in lowerShuffleAsByteRotateAndPermute()
11159 int NumElts = Mask.size(); in lowerShuffleAsDecomposedShuffleMerge() local
11161 int NumEltsPerLane = NumElts / NumLanes; in lowerShuffleAsDecomposedShuffleMerge()
11166 SmallVector<int, 32> V1Mask(NumElts, -1); in lowerShuffleAsDecomposedShuffleMerge()
11167 SmallVector<int, 32> V2Mask(NumElts, -1); in lowerShuffleAsDecomposedShuffleMerge()
11168 SmallVector<int, 32> FinalMask(NumElts, -1); in lowerShuffleAsDecomposedShuffleMerge()
11169 for (int i = 0; i < NumElts; ++i) { in lowerShuffleAsDecomposedShuffleMerge()
11171 if (M >= 0 && M < NumElts) { in lowerShuffleAsDecomposedShuffleMerge()
11175 } else if (M >= NumElts) { in lowerShuffleAsDecomposedShuffleMerge()
11176 V2Mask[i] = M - NumElts; in lowerShuffleAsDecomposedShuffleMerge()
11177 FinalMask[i] = i + NumElts; in lowerShuffleAsDecomposedShuffleMerge()
11253 V1Mask.assign(NumElts, -1); in lowerShuffleAsDecomposedShuffleMerge()
11254 V2Mask.assign(NumElts, -1); in lowerShuffleAsDecomposedShuffleMerge()
11255 FinalMask.assign(NumElts, -1); in lowerShuffleAsDecomposedShuffleMerge()
11256 for (int i = 0; i != NumElts; i += NumEltsPerLane) in lowerShuffleAsDecomposedShuffleMerge()
11259 if (M >= 0 && M < NumElts) { in lowerShuffleAsDecomposedShuffleMerge()
11262 } else if (M >= NumElts) { in lowerShuffleAsDecomposedShuffleMerge()
11263 V2Mask[i + (j / 2)] = M - NumElts; in lowerShuffleAsDecomposedShuffleMerge()
11264 FinalMask[i + j] = i + (j / 2) + NumElts; in lowerShuffleAsDecomposedShuffleMerge()
11287 unsigned NumElts = Mask.size(); in matchShuffleAsBitRotate() local
11289 RotateVT = MVT::getVectorVT(RotateSVT, NumElts / NumSubElts); in matchShuffleAsBitRotate()
11340 int NumElts = Mask.size(); in matchShuffleAsElementRotate() local
11351 for (int i = 0; i < NumElts; ++i) { in matchShuffleAsElementRotate()
11353 assert((M == SM_SentinelUndef || (0 <= M && M < (2*NumElts))) && in matchShuffleAsElementRotate()
11359 int StartIdx = i - (M % NumElts); in matchShuffleAsElementRotate()
11367 int CandidateRotation = StartIdx < 0 ? -StartIdx : NumElts - StartIdx; in matchShuffleAsElementRotate()
11376 SDValue MaskV = M < NumElts ? V1 : V2; in matchShuffleAsElementRotate()
11440 int NumElts = RepeatedMask.size(); in matchShuffleAsByteRotate() local
11441 int Scale = 16 / NumElts; in matchShuffleAsByteRotate()
11524 unsigned NumElts = Mask.size(); in lowerShuffleAsVALIGN() local
11527 assert((ZeroLo + ZeroHi) < NumElts && "Zeroable shuffle detected"); in lowerShuffleAsVALIGN()
11532 SDValue Src = Mask[ZeroLo] < (int)NumElts ? V1 : V2; in lowerShuffleAsVALIGN()
11533 int Low = Mask[ZeroLo] < (int)NumElts ? 0 : NumElts; in lowerShuffleAsVALIGN()
11534 if (isSequentialOrUndefInRange(Mask, ZeroLo, NumElts - ZeroLo, Low)) in lowerShuffleAsVALIGN()
11537 DAG.getTargetConstant(NumElts - ZeroLo, DL, MVT::i8)); in lowerShuffleAsVALIGN()
11541 SDValue Src = Mask[0] < (int)NumElts ? V1 : V2; in lowerShuffleAsVALIGN()
11542 int Low = Mask[0] < (int)NumElts ? 0 : NumElts; in lowerShuffleAsVALIGN()
11543 if (isSequentialOrUndefInRange(Mask, 0, NumElts - ZeroHi, Low + ZeroHi)) in lowerShuffleAsVALIGN()
11568 unsigned NumElts = Mask.size(); in lowerShuffleAsByteShiftMask() local
11569 unsigned Len = NumElts - (ZeroLo + ZeroHi); in lowerShuffleAsByteShiftMask()
11575 if (!isUndefOrInRange(StubMask, 0, NumElts) && in lowerShuffleAsByteShiftMask()
11576 !isUndefOrInRange(StubMask, NumElts, 2 * NumElts)) in lowerShuffleAsByteShiftMask()
11579 SDValue Res = Mask[ZeroLo] < (int)NumElts ? V1 : V2; in lowerShuffleAsByteShiftMask()
11588 unsigned Shift = (NumElts - 1) - (Mask[ZeroLo + Len - 1] % NumElts); in lowerShuffleAsByteShiftMask()
11594 unsigned Shift = Mask[ZeroLo] % NumElts; in lowerShuffleAsByteShiftMask()
11603 unsigned Shift = (NumElts - 1) - (Mask[ZeroLo + Len - 1] % NumElts); in lowerShuffleAsByteShiftMask()
11606 Shift += Mask[ZeroLo] % NumElts; in lowerShuffleAsByteShiftMask()
12222 unsigned NumElts = VT.getVectorNumElements(); in lowerShuffleAsElementInsertion() local
12271 SmallVector<APInt> Bits(NumElts, APInt::getAllOnes(EltBits)); in lowerShuffleAsElementInsertion()
12323 if (VT.isFloatingPoint() || NumElts <= 4) { in lowerShuffleAsElementInsertion()
12453 unsigned NumElts = VT.getVectorNumElements(); in lowerShuffleOfExtractsAsVperm() local
12457 if (ExtIndex1 == 0 && ExtIndex0 == NumElts) in lowerShuffleOfExtractsAsVperm()
12459 else if (ExtIndex0 != 0 || ExtIndex1 != NumElts) in lowerShuffleOfExtractsAsVperm()
12465 if (NumElts == 4 && in lowerShuffleOfExtractsAsVperm()
12470 NewMask.append(NumElts, -1); in lowerShuffleOfExtractsAsVperm()
14116 int NumElts = VT.getVectorNumElements(); in lowerShuffleWithPERMV() local
14120 if (NumElts <= M) in lowerShuffleWithPERMV()
14121 M += (Scale - 1) * NumElts; in lowerShuffleWithPERMV()
14761 int NumElts = VT.getVectorNumElements(); in lowerShuffleAsLanePermuteAndPermute() local
14763 int NumEltsPerLane = NumElts / NumLanes; in lowerShuffleAsLanePermuteAndPermute()
14773 int NumEltsPerSublane = NumElts / NumSublanes; in lowerShuffleAsLanePermuteAndPermute()
14776 SmallVector<int, 16> InLaneMask(NumElts, SM_SentinelUndef); in lowerShuffleAsLanePermuteAndPermute()
14780 for (int i = 0; i != NumElts; ++i) { in lowerShuffleAsLanePermuteAndPermute()
15068 int NumElts = Mask.size(); in lowerShuffleAsLanePermuteAndRepeatedMask() local
15097 InLaneMask[i] = (M % NumLaneElts) + Src * NumElts; in lowerShuffleAsLanePermuteAndRepeatedMask()
15162 if (RepeatMask[i] < NumElts) { in lowerShuffleAsLanePermuteAndRepeatedMask()
15167 if (RepeatMask[i] != ((M % NumLaneElts) + NumElts)) in lowerShuffleAsLanePermuteAndRepeatedMask()
15177 SmallVector<int, 16> NewMask(NumElts, -1); in lowerShuffleAsLanePermuteAndRepeatedMask()
15212 for (int i = 0; i != NumElts; ++i) { in lowerShuffleAsLanePermuteAndRepeatedMask()
15438 int NumElts = VT.getVectorNumElements(); in lowerShuffleAsRepeatedMaskAndLanePermute() local
15440 int NumLaneElts = NumElts / NumLanes; in lowerShuffleAsRepeatedMaskAndLanePermute()
15454 for (int i = 0; i != NumElts; i += NumBroadcastElts) in lowerShuffleAsRepeatedMaskAndLanePermute()
15460 if (0 != ((M % NumElts) / NumLaneElts)) in lowerShuffleAsRepeatedMaskAndLanePermute()
15469 SmallVector<int, 8> RepeatMask((unsigned)NumElts, -1); in lowerShuffleAsRepeatedMaskAndLanePermute()
15477 SmallVector<int, 8> BroadcastMask((unsigned)NumElts, -1); in lowerShuffleAsRepeatedMaskAndLanePermute()
15478 for (int i = 0; i != NumElts; i += NumBroadcastElts) in lowerShuffleAsRepeatedMaskAndLanePermute()
15524 int Lane = (M % NumElts) / NumLaneElts; in lowerShuffleAsRepeatedMaskAndLanePermute()
15528 int LocalM = (M % NumLaneElts) + (M < NumElts ? 0 : NumElts); in lowerShuffleAsRepeatedMaskAndLanePermute()
15578 SmallVector<int, 8> RepeatedMask((unsigned)NumElts, -1); in lowerShuffleAsRepeatedMaskAndLanePermute()
15592 SmallVector<int, 8> SubLaneMask((unsigned)NumElts, -1); in lowerShuffleAsRepeatedMaskAndLanePermute()
15593 for (int i = 0; i != NumElts; i += NumSubLaneElts) { in lowerShuffleAsRepeatedMaskAndLanePermute()
15638 int NumElts = VT.getVectorNumElements(); in matchShuffleWithSHUFPD() local
15640 (NumElts == 2 || NumElts == 4 || NumElts == 8) && in matchShuffleWithSHUFPD()
15642 assert(isUndefOrZeroOrInRange(Mask, 0, 2 * NumElts) && in matchShuffleWithSHUFPD()
15646 for (int i = 0; i < NumElts; ++i) in matchShuffleWithSHUFPD()
15654 for (int i = 0; i < NumElts; ++i) { in matchShuffleWithSHUFPD()
15659 int Val = (i & 6) + NumElts * (i & 1); in matchShuffleWithSHUFPD()
15660 int CommutVal = (i & 0xe) + NumElts * ((i & 1) ^ 1); in matchShuffleWithSHUFPD()
15774 int NumElts = VT.getVectorNumElements(); in lowerShufflePairAsUNPCKAndPermute() local
15775 size_t FirstQtr = NumElts / 2; in lowerShufflePairAsUNPCKAndPermute()
15776 size_t ThirdQtr = NumElts + NumElts / 2; in lowerShufflePairAsUNPCKAndPermute()
15777 bool IsFirstHalf = IsInterleavingPattern(Mask, 0, NumElts); in lowerShufflePairAsUNPCKAndPermute()
15796 if (IsInterleavingPattern(SVN1->getMask(), 0, NumElts) && in lowerShufflePairAsUNPCKAndPermute()
15801 IsInterleavingPattern(SVN2->getMask(), 0, NumElts)) { in lowerShufflePairAsUNPCKAndPermute()
16575 int NumElts = VT.getVectorNumElements(); in lower256BitShuffle() local
16576 int NumV2Elements = count_if(Mask, [NumElts](int M) { return M >= NumElts; }); in lower256BitShuffle()
16578 if (NumV2Elements == 1 && Mask[0] >= NumElts) in lower256BitShuffle()
16661 unsigned NumElts = ((Zeroable & 0x0c) == 0x0c) ? 2 : 4; in lowerV4X128Shuffle() local
16662 MVT SubVT = MVT::getVectorVT(VT.getVectorElementType(), NumElts); in lowerV4X128Shuffle()
17210 int NumElts = Mask.size(); in lower512BitShuffle() local
17211 int NumV2Elements = count_if(Mask, [NumElts](int M) { return M >= NumElts; }); in lower512BitShuffle()
17213 if (NumV2Elements == 1 && Mask[0] >= NumElts) in lower512BitShuffle()
17283 int NumElts = Mask.size(); in lower1BitShuffleAsKSHIFTR() local
17284 for (int i = 0; i != NumElts; ++i) { in lower1BitShuffleAsKSHIFTR()
17286 assert((M == SM_SentinelUndef || (0 <= M && M < NumElts)) && in lower1BitShuffleAsKSHIFTR()
17357 int NumElts = Mask.size(); in lower1BitShuffle() local
17358 int NumV2Elements = count_if(Mask, [NumElts](int M) { return M >= NumElts; }); in lower1BitShuffle()
17363 for (int i = 0; i != NumElts; ++i) { in lower1BitShuffle()
17368 Src = Mask[i] / NumElts; in lower1BitShuffle()
17369 if (Src != (Mask[i] / NumElts) || (Mask[i] % NumElts) != i) in lower1BitShuffle()
17375 assert(SubvecElts != NumElts && "Identity shuffle?"); in lower1BitShuffle()
17382 if ((int)Zeroable.countl_one() >= (NumElts - SubvecElts)) { in lower1BitShuffle()
17411 DAG.getTargetConstant(WideElts - NumElts, DL, MVT::i8)); in lower1BitShuffle()
17413 ShiftAmt += WideElts - NumElts; in lower1BitShuffle()
17421 Offset += NumElts; // Increment for next iteration. in lower1BitShuffle()
17815 unsigned NumElts = VT.getVectorNumElements(); in LowerVSELECT() local
17826 MVT MaskVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerVSELECT()
17841 MVT NewCondVT = MVT::getVectorVT(NewCondSVT, NumElts); in LowerVSELECT()
17880 MVT CastVT = MVT::getVectorVT(MVT::i8, NumElts * 2); in LowerVSELECT()
17956 unsigned NumElts = VecVT.getVectorNumElements(); in ExtractBitFromMaskVector() local
17959 if (NumElts == 1) { in ExtractBitFromMaskVector()
17964 MVT ExtEltVT = (NumElts <= 8) ? MVT::getIntegerVT(128 / NumElts) : MVT::i8; in ExtractBitFromMaskVector()
17965 MVT ExtVecVT = MVT::getVectorVT(ExtEltVT, NumElts); in ExtractBitFromMaskVector()
17989 unsigned NumElts = VT.getVectorNumElements(); in getExtractedDemandedElts() local
17990 APInt DemandedElts = APInt::getZero(NumElts); in getExtractedDemandedElts()
18009 DemandedElts |= APIntOps::ScaleBitMask(DemandedSrcElts, NumElts); in getExtractedDemandedElts()
18188 unsigned NumElts = VecVT.getVectorNumElements(); in InsertBitToMaskVector() local
18189 MVT ExtEltVT = (NumElts <= 8) ? MVT::getIntegerVT(128 / NumElts) : MVT::i8; in InsertBitToMaskVector()
18190 MVT ExtVecVT = MVT::getVectorVT(ExtEltVT, NumElts); in InsertBitToMaskVector()
18206 unsigned NumElts = VT.getVectorNumElements(); in LowerINSERT_VECTOR_ELT() local
18236 MVT IdxVT = MVT::getVectorVT(IdxSVT, NumElts); in LowerINSERT_VECTOR_ELT()
18245 for (unsigned I = 0; I != NumElts; ++I) in LowerINSERT_VECTOR_ELT()
18254 if (N2C->getAPIntValue().uge(NumElts)) in LowerINSERT_VECTOR_ELT()
18269 SmallVector<SDValue, 8> CstVectorElts(NumElts, ZeroCst); in LowerINSERT_VECTOR_ELT()
18279 for (unsigned i = 0; i != NumElts; ++i) in LowerINSERT_VECTOR_ELT()
18280 BlendMask.push_back(i == IdxVal ? i + NumElts : i); in LowerINSERT_VECTOR_ELT()
18317 for (unsigned i = 0; i != NumElts; ++i) in LowerINSERT_VECTOR_ELT()
18318 BlendMask.push_back(i == IdxVal ? i + NumElts : i); in LowerINSERT_VECTOR_ELT()
19040 unsigned NumElts = Subtarget.hasVLX() ? 4 : 8; in LowerI64IntToFP_AVX512DQ() local
19041 MVT VecInVT = MVT::getVectorVT(MVT::i64, NumElts); in LowerI64IntToFP_AVX512DQ()
19042 MVT VecVT = MVT::getVectorVT(VT, NumElts); in LowerI64IntToFP_AVX512DQ()
20232 unsigned NumElts = VT.getVectorNumElements(); in LowerZERO_EXTEND_Mask() local
20246 if (NumElts == 16 && !Subtarget.canExtendTo512DQ()) in LowerZERO_EXTEND_Mask()
20249 ExtVT = MVT::getVectorVT(MVT::i32, NumElts); in LowerZERO_EXTEND_Mask()
20255 NumElts *= 512 / ExtVT.getSizeInBits(); in LowerZERO_EXTEND_Mask()
20256 InVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerZERO_EXTEND_Mask()
20260 NumElts); in LowerZERO_EXTEND_Mask()
20270 WideVT = MVT::getVectorVT(MVT::i8, NumElts); in LowerZERO_EXTEND_Mask()
20645 unsigned NumElts = InVT.getVectorNumElements(); in LowerTruncateVecI1() local
20646 assert((NumElts == 8 || NumElts == 16) && "Unexpected number of elements"); in LowerTruncateVecI1()
20656 if (NumElts == 16 && !Subtarget.canExtendTo512DQ()) { in LowerTruncateVecI1()
20678 MVT EltVT = Subtarget.hasVLX() ? MVT::i32 : MVT::getIntegerVT(512/NumElts); in LowerTruncateVecI1()
20679 MVT ExtVT = MVT::getVectorVT(EltVT, NumElts); in LowerTruncateVecI1()
22260 unsigned NumElts = VT.getVectorNumElements(); in matchScalarReduction() local
22261 APInt EltCount = APInt::getZero(NumElts); in matchScalarReduction()
23165 unsigned NumElts = VT.getVectorNumElements(); in incDecVectorConstant() local
23168 for (unsigned i = 0; i < NumElts; ++i) { in incDecVectorConstant()
24360 unsigned NumElts = VT.getVectorNumElements(); in LowerSIGN_EXTEND_Mask() local
24366 if (NumElts == 16 && !Subtarget.canExtendTo512DQ()) in LowerSIGN_EXTEND_Mask()
24369 ExtVT = MVT::getVectorVT(MVT::i32, NumElts); in LowerSIGN_EXTEND_Mask()
24375 NumElts *= 512 / ExtVT.getSizeInBits(); in LowerSIGN_EXTEND_Mask()
24376 InVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerSIGN_EXTEND_Mask()
24379 WideVT = MVT::getVectorVT(ExtVT.getVectorElementType(), NumElts); in LowerSIGN_EXTEND_Mask()
24395 WideVT = MVT::getVectorVT(VTElt, NumElts); in LowerSIGN_EXTEND_Mask()
24446 unsigned NumElts = VT.getVectorNumElements(); in LowerEXTEND_VECTOR_INREG() local
24453 int InSize = InSVT.getSizeInBits() * NumElts; in LowerEXTEND_VECTOR_INREG()
24464 if (InVT.getVectorNumElements() != NumElts) in LowerEXTEND_VECTOR_INREG()
24499 APInt DemandedElts = APInt::getLowBitsSet(InNumElts, NumElts); in LowerEXTEND_VECTOR_INREG()
24501 unsigned Scale = InNumElts / NumElts; in LowerEXTEND_VECTOR_INREG()
24503 for (unsigned I = 0; I != NumElts; ++I) in LowerEXTEND_VECTOR_INREG()
24677 unsigned NumElts = StoredVal.getValueType().getVectorNumElements(); in LowerStore() local
24678 assert(NumElts <= 8 && "Unexpected VT"); in LowerStore()
24690 if (NumElts < 8) in LowerStore()
24692 StoredVal, dl, EVT::getIntegerVT(*DAG.getContext(), NumElts)); in LowerStore()
27954 int NumElts = VT.getVectorNumElements(); in LowerVectorCTLZInRegLUT() local
27955 int NumBytes = NumElts * (VT.getScalarSizeInBits() / 8); in LowerVectorCTLZInRegLUT()
28474 unsigned NumElts = VT.getVectorNumElements(); in LowerMUL() local
28476 unsigned NumEltsPerLane = NumElts / NumLanes; in LowerMUL()
28488 MVT ExVT = MVT::getVectorVT(MVT::i16, NumElts / 2); in LowerMUL()
28529 for (unsigned i = 0; i != NumElts; i += 16) { in LowerMUL()
28633 unsigned NumElts = VT.getVectorNumElements(); in LowervXi8MulWithUNPCK() local
28647 MVT ExVT = MVT::getVectorVT(MVT::i16, NumElts / 2); in LowervXi8MulWithUNPCK()
28663 for (unsigned i = 0; i != NumElts; i += 16) { in LowervXi8MulWithUNPCK()
28712 unsigned NumElts = VT.getVectorNumElements(); in LowerMULH() local
28744 DAG.getVectorShuffle(VT, dl, A, A, ArrayRef(&Mask[0], NumElts)); in LowerMULH()
28747 DAG.getVectorShuffle(VT, dl, B, B, ArrayRef(&Mask[0], NumElts)); in LowerMULH()
28751 MVT MulVT = MVT::getVectorVT(MVT::i64, NumElts / 2); in LowerMULH()
28766 SmallVector<int, 16> ShufMask(NumElts); in LowerMULH()
28767 for (int i = 0; i != (int)NumElts; ++i) in LowerMULH()
28768 ShufMask[i] = (i / 2) * 2 + ((i % 2) * NumElts) + 1; in LowerMULH()
28801 MVT ExVT = MVT::getVectorVT(MVT::i16, NumElts); in LowerMULH()
28861 unsigned NumElts = VT.getVectorNumElements(); in LowerMULO() local
28862 MVT ExVT = MVT::getVectorVT(MVT::i16, NumElts); in LowerMULO()
29276 unsigned NumElts = VT.getVectorNumElements(); in LowerShiftByScalarImmediate() local
29277 MVT ShiftVT = MVT::getVectorVT(MVT::i16, NumElts / 2); in LowerShiftByScalarImmediate()
29364 unsigned NumElts = VT.getVectorNumElements(); in LowerShiftByScalarVariable() local
29365 MVT ExtVT = MVT::getVectorVT(MVT::i16, NumElts / 2); in LowerShiftByScalarVariable()
29380 SmallVector<int, 64>(NumElts, 0)); in LowerShiftByScalarVariable()
29538 unsigned NumElts = VT.getVectorNumElements(); in LowerShift() local
29540 for (unsigned i = 0; i != NumElts; ++i) { in LowerShift()
29552 ShuffleMask.push_back(i + NumElts); in LowerShift()
29560 if (ShuffleMask.size() == NumElts && Amt1 && Amt2 && in LowerShift()
29704 int NumElts = VT.getVectorNumElements(); in LowerShift() local
29709 MVT ExVT = MVT::getVectorVT(MVT::i16, NumElts); in LowerShift()
29725 for (int i = 0; i != NumElts; i += 16) { in LowerShift()
29732 MVT VT16 = MVT::getVectorVT(MVT::i16, NumElts / 2); in LowerShift()
29964 unsigned NumElts = VT.getVectorNumElements(); in LowerFunnelShift() local
29994 MVT WideVT = MVT::getVectorVT(MVT::i16, NumElts / 2); in LowerFunnelShift()
30035 MVT ExtVT = MVT::getVectorVT(ExtSVT, NumElts / 2); in LowerFunnelShift()
30068 MVT WideVT = MVT::getVectorVT(WideSVT, NumElts); in LowerFunnelShift()
30160 int NumElts = VT.getVectorNumElements(); in LowerRotate() local
30264 MVT ExtVT = MVT::getVectorVT(ExtSVT, NumElts / 2); in LowerRotate()
30314 MVT::getVectorVT(Subtarget.hasBWI() ? MVT::i16 : MVT::i32, NumElts); in LowerRotate()
31277 int NumElts = VT.getVectorNumElements(); in LowerVectorCTPOPInRegLUT() local
31297 for (int i = 0; i < NumElts; ++i) in LowerVectorCTPOPInRegLUT()
31465 int NumElts = VT.getVectorNumElements(); in LowerBITREVERSE_XOP() local
31480 for (int i = 0; i != NumElts; ++i) { in LowerBITREVERSE_XOP()
31542 unsigned NumElts = VT.getVectorNumElements(); in LowerBITREVERSE() local
31570 for (unsigned i = 0; i < NumElts; ++i) { in LowerBITREVERSE()
32003 unsigned NumElts = VT.getVectorNumElements() * Factor; in LowerMSCATTER() local
32005 VT = MVT::getVectorVT(VT.getVectorElementType(), NumElts); in LowerMSCATTER()
32006 IndexVT = MVT::getVectorVT(IndexVT.getVectorElementType(), NumElts); in LowerMSCATTER()
32007 MVT MaskVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerMSCATTER()
32156 unsigned NumElts = VT.getVectorNumElements() * Factor; in LowerMGATHER() local
32158 VT = MVT::getVectorVT(VT.getVectorElementType(), NumElts); in LowerMGATHER()
32159 IndexVT = MVT::getVectorVT(IndexVT.getVectorElementType(), NumElts); in LowerMGATHER()
32160 MVT MaskVT = MVT::getVectorVT(MVT::i1, NumElts); in LowerMGATHER()
32875 unsigned NumElts = InVT.getVectorNumElements(); in ReplaceNodeResults() local
32876 unsigned HalfNumElts = NumElts / 2; in ReplaceNodeResults()
32877 SmallVector<int, 16> ShufMask(NumElts, SM_SentinelUndef); in ReplaceNodeResults()
33084 unsigned NumElts = Subtarget.hasVLX() ? 2 : 8; in ReplaceNodeResults() local
33087 std::max(NumElts, 128U / (unsigned)SrcVT.getSizeInBits()); in ReplaceNodeResults()
33088 MVT VecVT = MVT::getVectorVT(MVT::i64, NumElts); in ReplaceNodeResults()
33091 if (NumElts != SrcElts) { in ReplaceNodeResults()
37203 unsigned NumElts = DemandedElts.getBitWidth(); in computeKnownBitsForTargetNode() local
37478 if (NumElts > NumSrcElts && DemandedElts.countr_zero() >= NumSrcElts) in computeKnownBitsForTargetNode()
37493 if (NumElts > NumSrcElts && DemandedElts.countr_zero() >= NumSrcElts) in computeKnownBitsForTargetNode()
37500 if (DemandedElts.countr_zero() >= (NumElts / 2)) in computeKnownBitsForTargetNode()
37512 for (unsigned I = 0; I != NumElts; ++I) { in computeKnownBitsForTargetNode()
37587 unsigned NumElts = VT.getVectorNumElements(); in computeKnownBitsForTargetNode() local
37588 if (Mask.size() == NumElts) { in computeKnownBitsForTargetNode()
37589 SmallVector<APInt, 2> DemandedOps(NumOps, APInt(NumElts, 0)); in computeKnownBitsForTargetNode()
37591 for (unsigned i = 0; i != NumElts; ++i) { in computeKnownBitsForTargetNode()
37605 assert(0 <= M && (unsigned)M < (NumOps * NumElts) && in computeKnownBitsForTargetNode()
37608 unsigned OpIdx = (unsigned)M / NumElts; in computeKnownBitsForTargetNode()
37609 unsigned EltIdx = (unsigned)M % NumElts; in computeKnownBitsForTargetNode()
37756 unsigned NumElts = VT.getVectorNumElements(); in ComputeNumSignBitsForTargetNode() local
37757 if (Mask.size() == NumElts) { in ComputeNumSignBitsForTargetNode()
37758 SmallVector<APInt, 2> DemandedOps(NumOps, APInt(NumElts, 0)); in ComputeNumSignBitsForTargetNode()
37759 for (unsigned i = 0; i != NumElts; ++i) { in ComputeNumSignBitsForTargetNode()
37771 assert(0 <= M && (unsigned)M < (NumOps * NumElts) && in ComputeNumSignBitsForTargetNode()
37774 unsigned OpIdx = (unsigned)M / NumElts; in ComputeNumSignBitsForTargetNode()
37775 unsigned EltIdx = (unsigned)M % NumElts; in ComputeNumSignBitsForTargetNode()
38276 unsigned NumElts = V.getValueType().getVectorNumElements(); in matchBinaryShuffle() local
38277 KnownBits Known(NumElts); in matchBinaryShuffle()
38278 for (unsigned EltIdx = 0; EltIdx != NumElts; ++EltIdx) { in matchBinaryShuffle()
38279 APInt Mask = APInt::getOneBitSet(NumElts, EltIdx); in matchBinaryShuffle()
38577 unsigned NumElts = VT1.getVectorNumElements(); in combineX86ShuffleChain() local
38578 if (Mask.size() <= NumElts && in combineX86ShuffleChain()
38579 scaleShuffleElements(Mask, NumElts, ScaledMask)) { in combineX86ShuffleChain()
38580 for (unsigned i = 0; i != NumElts; ++i) in combineX86ShuffleChain()
39400 int NumElts = VT0.getVectorNumElements(); in canonicalizeShuffleMaskWithHorizOp() local
39402 int NumEltsPerLane = NumElts / NumLanes; in canonicalizeShuffleMaskWithHorizOp()
39502 if (M < NumElts) // BC0 element or UNDEF/Zero sentinel. in canonicalizeShuffleMaskWithHorizOp()
39505 M -= NumElts + (SubLane * NumHalfEltsPerLane); in canonicalizeShuffleMaskWithHorizOp()
39513 for (int i = 0; i != NumElts; ++i) { in canonicalizeShuffleMaskWithHorizOp()
39517 if (M < NumElts && BC0.getOperand(0) == BC0.getOperand(1) && in canonicalizeShuffleMaskWithHorizOp()
39520 if (NumElts <= M && BC1.getOperand(0) == BC1.getOperand(1) && in canonicalizeShuffleMaskWithHorizOp()
39772 unsigned NumElts = VT.getVectorNumElements(); in combineX86ShufflesRecursively() local
39774 OpMask.assign(NumElts, SM_SentinelUndef); in combineX86ShufflesRecursively()
39776 OpZero = OpUndef = APInt::getZero(NumElts); in combineX86ShufflesRecursively()
40384 unsigned NumElts = VT.getVectorNumElements(); in combineBlendOfPermutes() local
40395 !scaleShuffleElements(Mask0, NumElts, ScaledMask0) || in combineBlendOfPermutes()
40396 !scaleShuffleElements(Mask1, NumElts, ScaledMask1)) in combineBlendOfPermutes()
40402 if (!getShuffleDemandedElts(NumElts, BlendMask, DemandedElts, Demanded0, in combineBlendOfPermutes()
40405 !getShuffleDemandedElts(NumElts, ScaledMask0, Demanded0, DemandedLHS0, in combineBlendOfPermutes()
40407 !getShuffleDemandedElts(NumElts, ScaledMask1, Demanded1, DemandedLHS1, in combineBlendOfPermutes()
40419 SmallVector<int, 32> NewBlendMask(NumElts, SM_SentinelUndef); in combineBlendOfPermutes()
40420 SmallVector<int, 32> NewPermuteMask(NumElts, SM_SentinelUndef); in combineBlendOfPermutes()
40421 for (unsigned I = 0; I != NumElts; ++I) { in combineBlendOfPermutes()
40433 assert(isUndefOrEqual(NewBlendMask[M], M + NumElts) && in combineBlendOfPermutes()
40435 NewBlendMask[M] = M + NumElts; in combineBlendOfPermutes()
40441 assert(isUndefOrInRange(NewPermuteMask, 0, NumElts) && "Bad permute"); in combineBlendOfPermutes()
40997 unsigned NumElts = VT.getVectorNumElements(); in combineTargetShuffle() local
40999 SmallVector<Constant *, 32> ConstantVec(NumElts, Zero); in combineTargetShuffle()
41201 unsigned NumElts = Src.getValueType().getVectorNumElements(); in combineTargetShuffle() local
41204 Src.getConstantOperandAPInt(2) == (NumElts / 2)) { in combineTargetShuffle()
41708 int NumElts = VT.getVectorNumElements(); in combineShuffleOfConcatUndef() local
41712 Mask.push_back(Elt < NumElts ? Elt : (Elt - NumElts / 2)); in combineShuffleOfConcatUndef()
41819 unsigned NumElts = DemandedElts.getBitWidth(); in SimplifyDemandedVectorEltsForTargetShuffle() local
41852 if (NumCstElts != NumElts && NumCstElts != (NumElts * 2)) in SimplifyDemandedVectorEltsForTargetShuffle()
41854 unsigned Scale = NumCstElts / NumElts; in SimplifyDemandedVectorEltsForTargetShuffle()
41885 int NumElts = DemandedElts.getBitWidth(); in SimplifyDemandedVectorEltsForTargetNode() local
41913 APInt DemandedSrcElts = APIntOps::ScaleBitMask(DemandedElts, 2 * NumElts); in SimplifyDemandedVectorEltsForTargetNode()
42049 assert(Amt->getAPIntValue().ult(NumElts) && "Out of range shift amount"); in SimplifyDemandedVectorEltsForTargetNode()
42059 if (!DemandedElts.intersects(APInt::getLowBitsSet(NumElts, ShiftAmt))) { in SimplifyDemandedVectorEltsForTargetNode()
42088 assert(Amt->getAPIntValue().ult(NumElts) && "Out of range shift amount"); in SimplifyDemandedVectorEltsForTargetNode()
42098 if (!DemandedElts.intersects(APInt::getHighBitsSet(NumElts, ShiftAmt))) { in SimplifyDemandedVectorEltsForTargetNode()
42132 int NumElts = VT.getVectorNumElements(); in SimplifyDemandedVectorEltsForTargetNode() local
42140 for (int I = 0; I != NumElts; ++I) { in SimplifyDemandedVectorEltsForTargetNode()
42280 KnownZero = SrcZero.zextOrTrunc(NumElts); in SimplifyDemandedVectorEltsForTargetNode()
42281 KnownUndef = SrcUndef.zextOrTrunc(NumElts); in SimplifyDemandedVectorEltsForTargetNode()
42286 DecodeBLENDMask(NumElts, Op.getConstantOperandVal(2), BlendMask); in SimplifyDemandedVectorEltsForTargetNode()
42385 DemandedElts.lshr(NumElts / 2) == 0) { in SimplifyDemandedVectorEltsForTargetNode()
42390 if (VT.is512BitVector() && DemandedElts.lshr(NumElts / 4) == 0) in SimplifyDemandedVectorEltsForTargetNode()
42472 DecodeVPERMMask(NumElts, Op.getConstantOperandVal(1), Mask); in SimplifyDemandedVectorEltsForTargetNode()
42490 unsigned EltIdx = (LoMask & 0x1) * (NumElts / 2); in SimplifyDemandedVectorEltsForTargetNode()
42571 if (OpMask.size() != (unsigned)NumElts || in SimplifyDemandedVectorEltsForTargetNode()
42583 for (int i = 0; i != NumElts; ++i) in SimplifyDemandedVectorEltsForTargetNode()
42587 if (isUndefInRange(OpMask, 0, NumElts)) { in SimplifyDemandedVectorEltsForTargetNode()
42591 if (isUndefOrZeroInRange(OpMask, 0, NumElts)) { in SimplifyDemandedVectorEltsForTargetNode()
42597 if (isSequentialOrUndefInRange(OpMask, 0, NumElts, Src * NumElts)) in SimplifyDemandedVectorEltsForTargetNode()
42606 int Lo = Src * NumElts; in SimplifyDemandedVectorEltsForTargetNode()
42607 APInt SrcElts = APInt::getZero(NumElts); in SimplifyDemandedVectorEltsForTargetNode()
42608 for (int i = 0; i != NumElts; ++i) in SimplifyDemandedVectorEltsForTargetNode()
42611 if (0 <= M && M < NumElts) in SimplifyDemandedVectorEltsForTargetNode()
42632 SmallVector<int, 64> DemandedMask(NumElts, SM_SentinelUndef); in SimplifyDemandedVectorEltsForTargetNode()
42633 for (int i = 0; i != NumElts; ++i) in SimplifyDemandedVectorEltsForTargetNode()
43008 unsigned NumElts = SrcVT.getVectorNumElements(); in SimplifyDemandedBitsForTargetNode() local
43011 if (OriginalDemandedBits.countr_zero() >= NumElts) in SimplifyDemandedBitsForTargetNode()
43016 OriginalDemandedBits.getActiveBits() <= (NumElts / 2)) { in SimplifyDemandedBitsForTargetNode()
43023 APInt DemandedElts = OriginalDemandedBits.zextOrTrunc(NumElts); in SimplifyDemandedBitsForTargetNode()
43029 Known.Zero.setHighBits(BitWidth - NumElts); in SimplifyDemandedBitsForTargetNode()
43039 Known.One.setLowBits(NumElts); in SimplifyDemandedBitsForTargetNode()
43041 Known.Zero.setLowBits(NumElts); in SimplifyDemandedBitsForTargetNode()
43166 int NumElts = DemandedElts.getBitWidth(); in SimplifyMultipleUseDemandedBitsForTargetNode() local
43245 if (ShuffleMask.size() == (unsigned)NumElts && in SimplifyMultipleUseDemandedBitsForTargetNode()
43257 for (int i = 0; i != NumElts; ++i) { in SimplifyMultipleUseDemandedBitsForTargetNode()
43261 int OpIdx = M / NumElts; in SimplifyMultipleUseDemandedBitsForTargetNode()
43262 int EltIdx = M % NumElts; in SimplifyMultipleUseDemandedBitsForTargetNode()
43286 unsigned NumElts = DemandedElts.getBitWidth(); in isGuaranteedNotToBeUndefOrPoisonForTargetNode() local
43295 APInt::getZero(NumElts)); in isGuaranteedNotToBeUndefOrPoisonForTargetNode()
43301 assert(0 <= M.value() && M.value() < (int)(Ops.size() * NumElts) && in isGuaranteedNotToBeUndefOrPoisonForTargetNode()
43303 DemandedSrcElts[M.value() / NumElts].setBit(M.value() % NumElts); in isGuaranteedNotToBeUndefOrPoisonForTargetNode()
43347 unsigned NumElts = DemandedElts.getBitWidth(); in isSplatValueForTargetNode() local
43353 UndefElts = APInt::getZero(NumElts); in isSplatValueForTargetNode()
43695 unsigned NumElts = BV->getNumOperands(); in createMMXBuildVector() local
43729 if (NumElts == 8) in createMMXBuildVector()
43737 unsigned ShufMask = (NumElts > 2 ? 0 : 0x44); in createMMXBuildVector()
43744 Ops.append(NumElts, Splat); in createMMXBuildVector()
43746 for (unsigned i = 0; i != NumElts; ++i) in createMMXBuildVector()
44062 unsigned NumElts = VT.getVectorNumElements(); in combineBitcast() local
44076 if (MovMskElts <= NumElts && in combineBitcast()
44089 unsigned NumConcats = NumElts / MovMskElts; in combineBitcast()
44381 unsigned NumElts = MatchVT.getVectorNumElements(); in combinePredicateReduction() local
44388 if (NumElts > 64 || !isPowerOf2_32(NumElts)) in combinePredicateReduction()
44408 EVT MovmskVT = EVT::getIntegerVT(Ctx, NumElts); in combinePredicateReduction()
44412 while (NumElts > MaxElts) { in combinePredicateReduction()
44416 NumElts /= 2; in combinePredicateReduction()
44418 EVT MovmskVT = EVT::getIntegerVT(Ctx, NumElts); in combinePredicateReduction()
44423 Movmsk = DAG.getZExtOrTrunc(Movmsk, DL, NumElts > 32 ? MVT::i64 : MVT::i32); in combinePredicateReduction()
44459 NumElts = MaskSrcVT.getVectorNumElements(); in combinePredicateReduction()
44461 assert((NumElts <= 32 || NumElts == 64) && in combinePredicateReduction()
44464 MVT CmpVT = NumElts == 64 ? MVT::i64 : MVT::i32; in combinePredicateReduction()
44479 CmpC = DAG.getConstant(APInt::getLowBitsSet(CmpVT.getSizeInBits(), NumElts), in combinePredicateReduction()
45012 unsigned NumElts = VecVT.getVectorNumElements(); in combineArithReduction() local
45035 if (VT != MVT::i8 || NumElts < 4 || !isPowerOf2_32(NumElts)) in combineArithReduction()
45038 EVT WideVT = EVT::getVectorVT(*DAG.getContext(), MVT::i16, NumElts / 2); in combineArithReduction()
45053 if (NumElts >= 8) in combineArithReduction()
45077 if ((VecVT.getSizeInBits() % 128) != 0 || !isPowerOf2_32(NumElts)) in combineArithReduction()
45104 if (Opc == ISD::ADD && NumElts >= 4 && EltSizeInBits >= 16 && in combineArithReduction()
45137 if (NumElts > 8) { in combineArithReduction()
45159 unsigned NumElts = VecVT.getVectorNumElements(); in combineArithReduction() local
45160 SDValue Hi = extract128BitVector(Rdx, NumElts / 2, DAG, DL); in combineArithReduction()
45389 unsigned NumElts = VT.getVectorNumElements(); in combineToExtendBoolVectorInReg() local
45390 assert(NumElts == SclVT.getSizeInBits() && "Unexpected bool vector size"); in combineToExtendBoolVectorInReg()
45393 if (NumElts > EltSizeInBits) { in combineToExtendBoolVectorInReg()
45398 assert((NumElts % EltSizeInBits) == 0 && "Unexpected integer scale"); in combineToExtendBoolVectorInReg()
45399 unsigned Scale = NumElts / EltSizeInBits; in combineToExtendBoolVectorInReg()
45407 } else if (Subtarget.hasAVX2() && NumElts < EltSizeInBits && in combineToExtendBoolVectorInReg()
45413 assert((EltSizeInBits % NumElts) == 0 && "Unexpected integer scale"); in combineToExtendBoolVectorInReg()
45414 unsigned Scale = EltSizeInBits / NumElts; in combineToExtendBoolVectorInReg()
45416 EVT::getVectorVT(*DAG.getContext(), SclVT, NumElts * Scale); in combineToExtendBoolVectorInReg()
45418 ShuffleMask.append(NumElts * Scale, 0); in combineToExtendBoolVectorInReg()
45427 ShuffleMask.append(NumElts, 0); in combineToExtendBoolVectorInReg()
45433 for (unsigned i = 0; i != NumElts; ++i) { in combineToExtendBoolVectorInReg()
45442 EVT CCVT = EVT::getVectorVT(*DAG.getContext(), MVT::i1, NumElts); in combineToExtendBoolVectorInReg()
45910 int NumElts = VT.getVectorNumElements(); in combineSelect() local
45911 for (int i = 0; i != NumElts; ++i) { in combineSelect()
45914 if (CondMask[i] < NumElts) { in combineSelect()
47014 unsigned NumElts = VecVT.getVectorNumElements(); in combineSetCCMOVMSK() local
47019 NumElts <= CmpBits && CmpVal.isMask(NumElts); in combineSetCCMOVMSK()
47037 if (Vec.getOpcode() == ISD::BITCAST && NumElts <= CmpBits) { in combineSetCCMOVMSK()
47057 if (VecVT.is256BitVector() && NumElts <= CmpBits && IsOneUse) { in combineSetCCMOVMSK()
47063 APInt CmpMask = APInt::getLowBitsSet(32, IsAnyOf ? 0 : NumElts / 2); in combineSetCCMOVMSK()
47082 if (BC.getValueType().getVectorNumElements() <= NumElts) { in combineSetCCMOVMSK()
47138 Result.getValueType().getVectorNumElements() <= NumElts) { in combineSetCCMOVMSK()
47176 if (NumElts <= CmpBits && in combineSetCCMOVMSK()
47181 canScaleShuffleElements(ShuffleMask, NumElts)) { in combineSetCCMOVMSK()
47195 if (NumElts <= CmpBits && Subtarget.hasAVX() && in combineSetCCMOVMSK()
47200 MVT FloatVT = MVT::getVectorVT(FloatSVT, NumElts); in combineSetCCMOVMSK()
47575 unsigned NumElts = VT.getVectorNumElements(); in reduceVMULWidth() local
47576 if ((NumElts % 2) != 0) in reduceVMULWidth()
47579 EVT ReducedVT = EVT::getVectorVT(*DAG.getContext(), MVT::i16, NumElts); in reduceVMULWidth()
47593 EVT ResVT = EVT::getVectorVT(*DAG.getContext(), MVT::i32, NumElts / 2); in reduceVMULWidth()
47603 SmallVector<int, 16> ShuffleMask(NumElts); in reduceVMULWidth()
47604 for (unsigned i = 0, e = NumElts / 2; i < e; i++) { in reduceVMULWidth()
47606 ShuffleMask[2 * i + 1] = i + NumElts; in reduceVMULWidth()
47612 for (unsigned i = 0, e = NumElts / 2; i < e; i++) { in reduceVMULWidth()
47613 ShuffleMask[2 * i] = i + NumElts / 2; in reduceVMULWidth()
47614 ShuffleMask[2 * i + 1] = i + NumElts * 3 / 2; in reduceVMULWidth()
47728 unsigned NumElts = VT.getVectorNumElements(); in combineMulToPMADDWD() local
47729 if (NumElts == 1 || !isPowerOf2_32(NumElts)) in combineMulToPMADDWD()
47733 if (32 <= (2 * NumElts) && Subtarget.hasAVX512() && !Subtarget.hasBWI()) in combineMulToPMADDWD()
49249 unsigned NumElts = 128 / N00Type.getSizeInBits(); in convertIntLogicToFPLogic() local
49250 EVT VecVT = EVT::getVectorVT(*DAG.getContext(), N00Type, NumElts); in convertIntLogicToFPLogic()
49251 EVT BoolVecVT = EVT::getVectorVT(*DAG.getContext(), MVT::i1, NumElts); in convertIntLogicToFPLogic()
49887 unsigned NumElts = SrcOps[0].getValueType().getVectorNumElements(); in combineAnd() local
49888 EVT MaskVT = EVT::getIntegerVT(*DAG.getContext(), NumElts); in combineAnd()
49893 assert(SrcPartials[0].getBitWidth() == NumElts && in combineAnd()
50028 int NumElts = VT.getVectorNumElements(); in combineAnd() local
50031 APInt DemandedElts = APInt::getAllOnes(NumElts); in combineAnd()
50036 for (int I = 0; I != NumElts; ++I) { in combineAnd()
50087 unsigned NumElts = SrcVecVT.getVectorNumElements(); in combineAnd() local
50092 SmallVector<int, 16> ShuffleMask(NumElts * Scale, SM_SentinelUndef); in combineAnd()
50706 unsigned NumElts = SrcOps[0].getValueType().getVectorNumElements(); in combineOr() local
50707 EVT MaskVT = EVT::getIntegerVT(*DAG.getContext(), NumElts); in combineOr()
50712 assert(SrcPartials[0].getBitWidth() == NumElts && in combineOr()
50779 unsigned NumElts = VT.getVectorNumElements(); in combineOr() local
50780 unsigned HalfElts = NumElts / 2; in combineOr()
50781 APInt UpperElts = APInt::getHighBitsSet(NumElts, HalfElts); in combineOr()
50782 if (NumElts >= 16 && N1.getOpcode() == X86ISD::KSHIFTL && in combineOr()
50790 if (NumElts >= 16 && N0.getOpcode() == X86ISD::KSHIFTL && in combineOr()
50811 int NumElts = VT.getVectorNumElements(); in combineOr() local
50816 APInt DemandedElts = APInt::getZero(NumElts); in combineOr()
50817 for (int I = 0; I != NumElts; ++I) in combineOr()
51262 unsigned NumElts = RegVT.getVectorNumElements(); in combineLoad() local
51263 EVT IntVT = EVT::getIntegerVT(*DAG.getContext(), NumElts); in combineLoad()
51333 unsigned NumElts = BV->getValueType(0).getVectorNumElements(); in getOneTrueElt() local
51334 for (unsigned i = 0; i < NumElts; ++i) { in getOneTrueElt()
51438 unsigned NumElts = VT.getVectorNumElements(); in combineMaskedLoadConstantMask() local
51441 bool LoadLastElt = !isNullConstant(MaskBV->getOperand(NumElts - 1)); in combineMaskedLoadConstantMask()
51930 unsigned NumElts = VT.getVectorNumElements(); in isHorizontalBinOp() local
51950 scaleShuffleElements(SrcMask, NumElts, ScaledMask)) { in isHorizontalBinOp()
51956 scaleShuffleElements(SrcMask, 2 * NumElts, ScaledMask)) { in isHorizontalBinOp()
51958 ArrayRef<int> Mask = ArrayRef<int>(ScaledMask).slice(0, NumElts); in isHorizontalBinOp()
51986 for (unsigned i = 0; i != NumElts; ++i) in isHorizontalBinOp()
51992 for (unsigned i = 0; i != NumElts; ++i) in isHorizontalBinOp()
51997 if (isUndefOrInRange(LMask, 0, NumElts)) in isHorizontalBinOp()
51999 else if (isUndefOrInRange(LMask, NumElts, NumElts * 2)) in isHorizontalBinOp()
52002 if (isUndefOrInRange(RMask, 0, NumElts)) in isHorizontalBinOp()
52004 else if (isUndefOrInRange(RMask, NumElts, NumElts * 2)) in isHorizontalBinOp()
52018 PostShuffleMask.append(NumElts, SM_SentinelUndef); in isHorizontalBinOp()
52027 unsigned NumEltsPer128BitChunk = NumElts / Num128BitChunks; in isHorizontalBinOp()
52031 for (unsigned j = 0; j != NumElts; j += NumEltsPer128BitChunk) { in isHorizontalBinOp()
52036 (!A.getNode() && (LIdx < (int)NumElts || RIdx < (int)NumElts)) || in isHorizontalBinOp()
52037 (!B.getNode() && (LIdx >= (int)NumElts || RIdx >= (int)NumElts))) in isHorizontalBinOp()
52050 ((Base % NumElts) & ~(NumEltsPer128BitChunk - 1)); in isHorizontalBinOp()
52055 if ((B && Base >= (int)NumElts) || (!B && i >= NumEltsPer64BitChunk)) in isHorizontalBinOp()
52065 isSequentialOrUndefInRange(PostShuffleMask, 0, NumElts, 0); in isHorizontalBinOp()
53145 unsigned NumElts = SrcVT.getVectorNumElements(); in combineBITREVERSE() local
53146 SmallVector<int, 32> ReverseMask(NumElts); in combineBITREVERSE()
53147 for (unsigned I = 0; I != NumElts; ++I) in combineBITREVERSE()
53148 ReverseMask[I] = (NumElts - 1) - I; in combineBITREVERSE()
53467 int NumElts = VT.getVectorNumElements(); in combineAndnp() local
53509 for (int I = 0; I != NumElts; ++I) in combineAndnp()
53540 APInt DemandedElts = APInt::getAllOnes(NumElts); in combineAndnp()
53545 for (int I = 0; I != NumElts; ++I) { in combineAndnp()
54500 unsigned NumElts = SrcVT.getVectorNumElements(); in combineMOVMSK() local
54502 assert(VT == MVT::i32 && NumElts <= NumBits && "Unexpected MOVMSK types"); in combineMOVMSK()
54511 for (unsigned Idx = 0; Idx != NumElts; ++Idx) in combineMOVMSK()
54528 APInt NotMask = APInt::getLowBitsSet(NumBits, NumElts); in combineMOVMSK()
54540 APInt NotMask = APInt::getLowBitsSet(NumBits, NumElts); in combineMOVMSK()
54564 ShiftVT = MVT::getVectorVT(MVT::i16, NumElts / 2); in combineMOVMSK()
54588 for (unsigned Idx = 0; Idx != NumElts; ++Idx) { in combineMOVMSK()
54892 unsigned NumElts = VecWidth / DestWidth; in combineToFPTruncExtElt() local
54893 EVT BitcastVT = EVT::getVectorVT(*DAG.getContext(), TruncVT, NumElts); in combineToFPTruncExtElt()
55675 unsigned NumElts = VT.getVectorNumElements(); in combineAddOfPMADDWD() local
55678 APInt DemandedHiElts = APInt::getSplat(2 * NumElts, APInt(2, 2)); in combineAddOfPMADDWD()
55694 for (int i = 0; i != (int)NumElts; ++i) { in combineAddOfPMADDWD()
55696 Mask.push_back(2 * (i + NumElts)); in combineAddOfPMADDWD()
56016 unsigned NumElts = VT.getVectorNumElements(); in combineVectorCompare() local
56033 SmallVector<APInt> Results(NumElts); in combineVectorCompare()
56034 for (unsigned I = 0; I != NumElts; ++I) { in combineVectorCompare()
57430 unsigned NumElts = VT.getVectorNumElements(); in combineEXTEND_VECTOR_INREG() local
57433 SmallVector<SDValue> Elts(Scale * NumElts, DAG.getConstant(0, DL, EltVT)); in combineEXTEND_VECTOR_INREG()
57434 for (unsigned I = 0; I != NumElts; ++I) in combineEXTEND_VECTOR_INREG()
57534 unsigned NumElts = VT.getVectorNumElements(); in combineFP_EXTEND() local
57535 if (NumElts == 1 || !isPowerOf2_32(NumElts)) in combineFP_EXTEND()
57543 if (NumElts < 8) { in combineFP_EXTEND()
57544 unsigned NumConcats = 8 / NumElts; in combineFP_EXTEND()
57545 SDValue Fill = NumElts == 4 ? DAG.getUNDEF(IntVT) in combineFP_EXTEND()
57554 std::max(4U, NumElts)); in combineFP_EXTEND()
57564 if (NumElts < 4) { in combineFP_EXTEND()
57565 assert(NumElts == 2 && "Unexpected size"); in combineFP_EXTEND()
57640 unsigned NumElts = VT.getVectorNumElements(); in combineFP_ROUND() local
57646 if (NumElts == 8 && Src.getOpcode() == ISD::CONCAT_VECTORS && in combineFP_ROUND()
57679 if (NumElts == 1 || !isPowerOf2_32(NumElts)) in combineFP_ROUND()
57683 if (NumElts < 4) in combineFP_ROUND()
57689 EVT::getVectorVT(*DAG.getContext(), MVT::i16, std::max(8U, NumElts)); in combineFP_ROUND()
57700 if (NumElts < 8) { in combineFP_ROUND()