Lines Matching refs:NumElems

4316   unsigned NumElems = VT.getVectorNumElements();  in getMOVL()  local
4318 Mask.push_back(NumElems); in getMOVL()
4319 for (unsigned i = 1; i != NumElems; ++i) in getMOVL()
6544 unsigned NumElems = VT.getVectorNumElements(); in splitVector() local
6546 assert((NumElems % 2) == 0 && (SizeInBits % 2) == 0 && in splitVector()
6555 SDValue Hi = extractSubVector(Op, NumElems / 2, DAG, dl, SizeInBits / 2); in splitVector()
6743 unsigned NumElems = OpVT.getVectorNumElements(); in insert1BitVector() local
6748 if ((!Subtarget.hasDQI() && NumElems == 8) || NumElems < 8) in insert1BitVector()
6763 assert(IdxVal + SubVecNumElems <= NumElems && in insert1BitVector()
6802 NumElems = WideOpVT.getVectorNumElements(); in insert1BitVector()
6803 unsigned ShiftLeft = NumElems - SubVecNumElems; in insert1BitVector()
6804 unsigned ShiftRight = NumElems - SubVecNumElems - IdxVal; in insert1BitVector()
6815 if (IdxVal + SubVecNumElems == NumElems) { in insert1BitVector()
6818 if (SubVecNumElems * 2 == NumElems) { in insert1BitVector()
6829 NumElems = WideOpVT.getVectorNumElements(); in insert1BitVector()
6830 SDValue ShiftBits = DAG.getTargetConstant(NumElems - IdxVal, dl, MVT::i8); in insert1BitVector()
6840 NumElems = WideOpVT.getVectorNumElements(); in insert1BitVector()
6845 unsigned ShiftLeft = NumElems - SubVecNumElems; in insert1BitVector()
6846 unsigned ShiftRight = NumElems - SubVecNumElems - IdxVal; in insert1BitVector()
6850 APInt Mask0 = APInt::getBitsSet(NumElems, IdxVal, IdxVal + SubVecNumElems); in insert1BitVector()
6852 SDValue CMask0 = DAG.getConstant(Mask0, dl, MVT::getIntegerVT(NumElems)); in insert1BitVector()
6872 unsigned LowShift = NumElems - IdxVal; in insert1BitVector()
7148 int NumElems = VT.getVectorNumElements(); in getShuffleVectorZeroOrUndef() local
7149 SmallVector<int, 16> MaskVec(NumElems); in getShuffleVectorZeroOrUndef()
7150 for (int i = 0; i != NumElems; ++i) in getShuffleVectorZeroOrUndef()
7152 MaskVec[i] = (i == Idx) ? NumElems : i; in getShuffleVectorZeroOrUndef()
7627 unsigned NumElems = VT.getVectorNumElements(); in getTargetShuffleMask() local
7643 DecodeBLENDMask(NumElems, ImmN, Mask); in getTargetShuffleMask()
7650 DecodeSHUFPMask(NumElems, MaskEltSize, ImmN, Mask); in getTargetShuffleMask()
7666 DecodeEXTRQIMask(NumElems, MaskEltSize, BitLen, BitIdx, Mask); in getTargetShuffleMask()
7677 DecodeINSERTQIMask(NumElems, MaskEltSize, BitLen, BitIdx, Mask); in getTargetShuffleMask()
7684 DecodeUNPCKHMask(NumElems, MaskEltSize, Mask); in getTargetShuffleMask()
7690 DecodeUNPCKLMask(NumElems, MaskEltSize, Mask); in getTargetShuffleMask()
7696 DecodeMOVHLPSMask(NumElems, Mask); in getTargetShuffleMask()
7702 DecodeMOVLHPSMask(NumElems, Mask); in getTargetShuffleMask()
7711 DecodeVALIGNMask(NumElems, ImmN, Mask); in getTargetShuffleMask()
7721 DecodePALIGNRMask(NumElems, ImmN, Mask); in getTargetShuffleMask()
7730 DecodePSLLDQMask(NumElems, ImmN, Mask); in getTargetShuffleMask()
7737 DecodePSRLDQMask(NumElems, ImmN, Mask); in getTargetShuffleMask()
7744 DecodePSHUFMask(NumElems, MaskEltSize, ImmN, Mask); in getTargetShuffleMask()
7750 DecodePSHUFHWMask(NumElems, ImmN, Mask); in getTargetShuffleMask()
7756 DecodePSHUFLWMask(NumElems, ImmN, Mask); in getTargetShuffleMask()
7761 DecodeZeroMoveLowMask(NumElems, Mask); in getTargetShuffleMask()
7769 DecodeVectorBroadcast(NumElems, Mask); in getTargetShuffleMask()
7780 DecodeVPERMILPMask(NumElems, MaskEltSize, RawMask, RawUndefs, Mask); in getTargetShuffleMask()
7800 DecodeVPERMMask(NumElems, ImmN, Mask); in getTargetShuffleMask()
7808 DecodeScalarMoveMask(NumElems, /* IsLoad */ false, Mask); in getTargetShuffleMask()
7814 DecodeVPERM2X128Mask(NumElems, ImmN, Mask); in getTargetShuffleMask()
7821 decodeVSHUF64x2FamilyMask(NumElems, MaskEltSize, ImmN, Mask); in getTargetShuffleMask()
7826 DecodeMOVSLDUPMask(NumElems, Mask); in getTargetShuffleMask()
7831 DecodeMOVSHDUPMask(NumElems, Mask); in getTargetShuffleMask()
7836 DecodeMOVDDUPMask(NumElems, Mask); in getTargetShuffleMask()
7849 DecodeVPERMIL2PMask(NumElems, MaskEltSize, CtrlImm, RawMask, RawUndefs, in getTargetShuffleMask()
8720 unsigned NumElems = VT.getVectorNumElements(); in getShuffleScalarElt() local
8729 SDValue Src = (Elt < (int)NumElems) ? SV->getOperand(0) : SV->getOperand(1); in getShuffleScalarElt()
8730 return getShuffleScalarElt(Src, Elt % NumElems, DAG, Depth + 1); in getShuffleScalarElt()
8737 int NumElems = (int)ShufVT.getVectorNumElements(); in getShuffleScalarElt() local
8751 assert(0 <= Elt && Elt < (2 * NumElems) && "Shuffle index out of range"); in getShuffleScalarElt()
8752 SDValue Src = (Elt < NumElems) ? ShuffleOps[0] : ShuffleOps[1]; in getShuffleScalarElt()
8753 return getShuffleScalarElt(Src, Elt % NumElems, DAG, Depth + 1); in getShuffleScalarElt()
8788 if (SrcVT.isVector() && SrcVT.getVectorNumElements() == NumElems) in getShuffleScalarElt()
9135 unsigned NumElems = VT.getVectorNumElements(); in LowerAsSplatVectorLoad() local
9137 EVT NVT = EVT::getVectorVT(*DAG.getContext(), PVT, NumElems); in LowerAsSplatVectorLoad()
9141 SmallVector<int, 8> Mask(NumElems, EltNo); in LowerAsSplatVectorLoad()
9204 unsigned NumElems = Elts.size(); in EltsFromConsecutiveLoads() local
9207 APInt LoadMask = APInt::getZero(NumElems); in EltsFromConsecutiveLoads()
9208 APInt ZeroMask = APInt::getZero(NumElems); in EltsFromConsecutiveLoads()
9209 APInt UndefMask = APInt::getZero(NumElems); in EltsFromConsecutiveLoads()
9211 SmallVector<LoadSDNode*, 8> Loads(NumElems, nullptr); in EltsFromConsecutiveLoads()
9212 SmallVector<int64_t, 8> ByteOffsets(NumElems, 0); in EltsFromConsecutiveLoads()
9216 for (unsigned i = 0; i < NumElems; ++i) { in EltsFromConsecutiveLoads()
9232 if ((NumElems * EltSizeInBits) != VT.getSizeInBits()) in EltsFromConsecutiveLoads()
9245 LoadMask.countPopulation()) == NumElems && in EltsFromConsecutiveLoads()
9249 if (UndefMask.countPopulation() == NumElems) in EltsFromConsecutiveLoads()
9251 if ((ZeroMask.countPopulation() + UndefMask.countPopulation()) == NumElems) in EltsFromConsecutiveLoads()
9280 return (0 <= BaseIdx && BaseIdx < (int)NumElems && LoadMask[BaseIdx] && in EltsFromConsecutiveLoads()
9328 (NumLoadedElts == (int)NumElems || IsDereferenceable) && in EltsFromConsecutiveLoads()
9339 if (NumElems == 1) in EltsFromConsecutiveLoads()
9349 if ((NumMaskElts % NumElems) == 0) { in EltsFromConsecutiveLoads()
9350 unsigned Scale = NumMaskElts / NumElems; in EltsFromConsecutiveLoads()
9352 for (unsigned i = 0; i < NumElems; ++i) { in EltsFromConsecutiveLoads()
9369 unsigned HalfNumElems = NumElems / 2; in EltsFromConsecutiveLoads()
9409 if (ZeroMask.isZero() && isPowerOf2_32(NumElems) && Subtarget.hasAVX() && in EltsFromConsecutiveLoads()
9411 for (unsigned SubElems = 1; SubElems < NumElems; SubElems *= 2) { in EltsFromConsecutiveLoads()
9424 for (unsigned i = 0; i != NumElems && Match; ++i) { in EltsFromConsecutiveLoads()
9837 unsigned NumElems = Op.getNumOperands(); in buildFromShuffleMostly() local
9842 SmallVector<int, 8> Mask(NumElems, -1); in buildFromShuffleMostly()
9844 for (unsigned i = 0; i != NumElems; ++i) { in buildFromShuffleMostly()
9884 Mask[i] = Idx + NumElems; in buildFromShuffleMostly()
10631 unsigned NumElems = VT.getVectorNumElements(); in lowerBuildVectorToBitOp() local
10637 for (unsigned i = 1; i < NumElems; ++i) in lowerBuildVectorToBitOp()
11048 unsigned NumElems = Op.getNumOperands(); in LowerBUILD_VECTOR() local
11058 APInt UndefMask = APInt::getZero(NumElems); in LowerBUILD_VECTOR()
11059 APInt ZeroMask = APInt::getZero(NumElems); in LowerBUILD_VECTOR()
11060 APInt NonZeroMask = APInt::getZero(NumElems); in LowerBUILD_VECTOR()
11063 unsigned NumConstants = NumElems; in LowerBUILD_VECTOR()
11064 for (unsigned i = 0; i < NumElems; ++i) { in LowerBUILD_VECTOR()
11094 unsigned UpperElems = NumElems / 2; in LowerBUILD_VECTOR()
11099 NumUpperUndefsOrZeros >= (NumElems - (NumElems / 4))) in LowerBUILD_VECTOR()
11100 UpperElems = NumElems - (NumElems / 4); in LowerBUILD_VECTOR()
11102 MVT LowerVT = MVT::getVectorVT(EltVT, NumElems - UpperElems); in LowerBUILD_VECTOR()
11127 if (NumConstants == NumElems - 1 && NumNonZero != 1 && in LowerBUILD_VECTOR()
11135 SmallVector<Constant *, 16> ConstVecOps(NumElems, UndefValue::get(EltType)); in LowerBUILD_VECTOR()
11138 for (unsigned i = 0; i != NumElems; ++i) { in LowerBUILD_VECTOR()
11218 if (NumElems == 2 && Idx == 1 && in LowerBUILD_VECTOR()
11267 SmallVector<SDValue, 64> Ops(Op->op_begin(), Op->op_begin() + NumElems); in LowerBUILD_VECTOR()
11279 auto CanSplat = [](SDValue Op, unsigned NumElems, ArrayRef<SDValue> Ops) { in LowerBUILD_VECTOR() argument
11281 for (unsigned i = 2; i != NumElems; ++i) in LowerBUILD_VECTOR()
11286 if (CanSplat(Op, NumElems, Ops)) { in LowerBUILD_VECTOR()
11293 MVT BcastVT = MVT::getVectorVT(WideEltVT, NumElems / 2); in LowerBUILD_VECTOR()
11302 MVT HVT = MVT::getVectorVT(EltVT, NumElems / 2); in LowerBUILD_VECTOR()
11306 DAG.getBuildVector(HVT, dl, Op->ops().slice(0, NumElems / 2)); in LowerBUILD_VECTOR()
11308 HVT, dl, Op->ops().slice(NumElems / 2, NumElems /2)); in LowerBUILD_VECTOR()
11327 if (EVTBits == 8 && NumElems == 16) in LowerBUILD_VECTOR()
11332 if (EltVT == MVT::i16 && NumElems == 8) in LowerBUILD_VECTOR()
11338 if (EVTBits == 32 && NumElems == 4) in LowerBUILD_VECTOR()
11343 if (NumElems == 4 && NumZero > 0) { in LowerBUILD_VECTOR()
11344 SmallVector<SDValue, 8> Ops(NumElems); in LowerBUILD_VECTOR()
11376 static_cast<int>(Reverse2 ? NumElems+1 : NumElems), in LowerBUILD_VECTOR()
11377 static_cast<int>(Reverse2 ? NumElems : NumElems+1) in LowerBUILD_VECTOR()
11396 for (unsigned i = 1; i < NumElems; ++i) { in LowerBUILD_VECTOR()
11407 SmallVector<SDValue, 8> Ops(NumElems); in LowerBUILD_VECTOR()
11408 for (unsigned i = 0; i < NumElems; ++i) { in LowerBUILD_VECTOR()
11419 for (unsigned Scale = 1; Scale < NumElems; Scale *= 2) { in LowerBUILD_VECTOR()
11425 Mask.push_back(NumElems+i); in LowerBUILD_VECTOR()
11426 Mask.append(NumElems - Mask.size(), SM_SentinelUndef); in LowerBUILD_VECTOR()
11428 for (unsigned i = 0, e = NumElems / (2 * Scale); i != e; ++i) in LowerBUILD_VECTOR()
11518 unsigned NumElems = ResVT.getVectorNumElements(); in LowerCONCAT_VECTORSvXi1() local
11526 if ((!Subtarget.hasDQI() && NumElems == 8) || NumElems < 8) in LowerCONCAT_VECTORSvXi1()
11571 DAG.getIntPtrConstant(NumElems/2, dl)); in LowerCONCAT_VECTORSvXi1()
19280 int NumElems = VT.getVectorNumElements(); in lower1BitShuffle() local
19281 if ((Subtarget.hasBWI() && (NumElems >= 32)) || in lower1BitShuffle()
19282 (Subtarget.hasDQI() && (NumElems < 32))) in lower1BitShuffle()
19703 unsigned NumElems = VecVT.getVectorNumElements(); in ExtractBitFromMaskVector() local
19705 if ((!Subtarget.hasDQI() && NumElems == 8) || NumElems < 8) { in ExtractBitFromMaskVector()
20159 unsigned NumElems = VecVT.getVectorNumElements(); in LowerEXTRACT_SUBVECTOR() local
20163 if ((!Subtarget.hasDQI() && NumElems == 8) || NumElems < 8) { in LowerEXTRACT_SUBVECTOR()
21967 unsigned NumElems = SrcVT.getVectorNumElements(); in truncateVectorWithPACK() local
21968 if (!isPowerOf2_32(NumElems)) in truncateVectorWithPACK()
21972 assert(DstVT.getVectorNumElements() == NumElems && "Illegal truncation"); in truncateVectorWithPACK()
22031 EVT PackedVT = EVT::getVectorVT(Ctx, PackedSVT, NumElems); in truncateVectorWithPACK()
22038 EVT PackedVT = EVT::getVectorVT(Ctx, PackedSVT, NumElems / 2); in truncateVectorWithPACK()
22042 PackedVT = EVT::getVectorVT(Ctx, PackedSVT, NumElems); in truncateVectorWithPACK()
25571 unsigned NumElems = InVT.getVectorNumElements(); in LowerSIGN_EXTEND() local
25572 SmallVector<int,8> ShufMask(NumElems, -1); in LowerSIGN_EXTEND()
25573 for (unsigned i = 0; i != NumElems/2; ++i) in LowerSIGN_EXTEND()
25574 ShufMask[i] = i + NumElems/2; in LowerSIGN_EXTEND()
25631 unsigned NumElems = StoreVT.getVectorNumElements(); in scalarizeVectorStore() local
25636 for (unsigned i = 0; i != NumElems; ++i) { in scalarizeVectorStore()
28670 unsigned NumElems = VT.getVectorNumElements(); in LowerVectorCTLZ_AVX512CDI() local
28676 if (NumElems > 16 || in LowerVectorCTLZ_AVX512CDI()
28677 (NumElems == 16 && !Subtarget.canExtendTo512DQ())) in LowerVectorCTLZ_AVX512CDI()
28680 MVT NewVT = MVT::getVectorVT(MVT::i32, NumElems); in LowerVectorCTLZ_AVX512CDI()
29860 unsigned NumElems = VT.getVectorNumElements(); in convertShiftLeftToScale() local
29866 SmallVector<SDValue> Elts(NumElems, DAG.getUNDEF(SVT)); in convertShiftLeftToScale()
29867 for (unsigned I = 0; I != NumElems; ++I) { in convertShiftLeftToScale()
31416 unsigned NumElems = VT.getVectorNumElements(); in LowerVectorCTPOP() local
31419 if (NumElems < 16 || (NumElems == 16 && Subtarget.canExtendTo512DQ())) { in LowerVectorCTPOP()
31420 MVT NewVT = MVT::getVectorVT(MVT::i32, NumElems); in LowerVectorCTPOP()
48818 unsigned NumElems = VT.getVectorNumElements(); in detectAVGPattern() local
48821 if (!((ScalarVT == MVT::i8 || ScalarVT == MVT::i16) && NumElems >= 2)) in detectAVGPattern()
48882 unsigned NumElemsPow2 = PowerOf2Ceil(NumElems); in detectAVGPattern()
48884 if (NumElemsPow2 != NumElems) { in detectAVGPattern()
48887 for (unsigned i = 0; i != NumElems; ++i) { in detectAVGPattern()
48896 if (NumElemsPow2 == NumElems) in detectAVGPattern()
48981 unsigned NumElems = RegVT.getVectorNumElements(); in combineLoad() local
48982 if (NumElems < 2) in combineLoad()
48990 NumElems / 2); in combineLoad()
49436 unsigned NumElems = VT.getVectorNumElements(); in combineStore() local
49437 if (NumElems < 2) in combineStore()
49449 unsigned NumElems = VT.getVectorNumElements(); in combineStore() local
49450 if (NumElems < 2) in combineStore()
50192 unsigned NumElems = OutVT.getVectorNumElements(); in combineVectorTruncation() local
50201 (OutSVT == MVT::i8 || OutSVT == MVT::i16) && isPowerOf2_32(NumElems) && in combineVectorTruncation()
50202 NumElems >= 8)) in combineVectorTruncation()
50206 if (Subtarget.hasSSSE3() && NumElems == 8) { in combineVectorTruncation()
50411 unsigned NumElems = VT.getVectorNumElements(); in detectPMADDUBSW() local
50413 if (ScalarVT != MVT::i16 || NumElems < 8 || !isPowerOf2_32(NumElems)) in detectPMADDUBSW()
50476 for (unsigned i = 0; i != NumElems; ++i) { in detectPMADDUBSW()