Lines Matching refs:NumElems

3040   unsigned NumElems = VT.getVectorNumElements();  in getMOVL()  local
3042 Mask.push_back(NumElems); in getMOVL()
3043 for (unsigned i = 1; i != NumElems; ++i) in getMOVL()
4586 unsigned NumElems = OpVT.getVectorNumElements(); in Insert1BitVector() local
4589 assert(IdxVal + SubVecNumElems <= NumElems && in Insert1BitVector()
4609 unsigned ShiftLeft = NumElems - SubVecNumElems; in Insert1BitVector()
4610 unsigned ShiftRight = NumElems - SubVecNumElems - IdxVal; in Insert1BitVector()
4627 if (IdxVal + SubVecNumElems == NumElems) { in Insert1BitVector()
4638 for (unsigned i = 0; i < NumElems; ++i) in Insert1BitVector()
4640 i : i + NumElems); in Insert1BitVector()
4649 unsigned NumElems, SelectionDAG &DAG, in Concat128BitVectors() argument
4652 return Insert128BitVector(V, V2, NumElems/2, DAG, dl); in Concat128BitVectors()
4656 unsigned NumElems, SelectionDAG &DAG, in Concat256BitVectors() argument
4659 return Insert256BitVector(V, V2, NumElems/2, DAG, dl); in Concat256BitVectors()
4695 unsigned NumElems = VT.getVectorNumElements(); in getUnpackl() local
4697 for (unsigned i = 0, e = NumElems/2; i != e; ++i) { in getUnpackl()
4699 Mask.push_back(i + NumElems); in getUnpackl()
4707 unsigned NumElems = VT.getVectorNumElements(); in getUnpackh() local
4709 for (unsigned i = 0, Half = NumElems/2; i != Half; ++i) { in getUnpackh()
4711 Mask.push_back(i + NumElems + Half); in getUnpackh()
4727 unsigned NumElems = VT.getVectorNumElements(); in getShuffleVectorZeroOrUndef() local
4729 for (unsigned i = 0; i != NumElems; ++i) in getShuffleVectorZeroOrUndef()
4731 MaskVec.push_back(i == Idx ? NumElems : i); in getShuffleVectorZeroOrUndef()
4743 unsigned NumElems = VT.getVectorNumElements(); in getTargetShuffleMask() local
4767 DecodeMOVHLPSMask(NumElems, Mask); in getTargetShuffleMask()
4771 DecodeMOVLHPSMask(NumElems, Mask); in getTargetShuffleMask()
5040 unsigned NumElems = VT.getVectorNumElements(); in getShuffleScalarElt() local
5041 SDValue NewV = (Elt < (int)NumElems) ? SV->getOperand(0) in getShuffleScalarElt()
5043 return getShuffleScalarElt(NewV.getNode(), Elt % NumElems, DAG, Depth+1); in getShuffleScalarElt()
5049 unsigned NumElems = ShufVT.getVectorNumElements(); in getShuffleScalarElt() local
5060 SDValue NewV = (Elt < (int)NumElems) ? N->getOperand(0) in getShuffleScalarElt()
5062 return getShuffleScalarElt(NewV.getNode(), Elt % NumElems, DAG, in getShuffleScalarElt()
5070 unsigned NumElems = VT.getVectorNumElements(); in getShuffleScalarElt() local
5072 if (!SrcVT.isVector() || SrcVT.getVectorNumElements() != NumElems) in getShuffleScalarElt()
5366 unsigned NumElems = VT.getVectorNumElements(); in LowerAsSplatVectorLoad() local
5368 EVT NVT = EVT::getVectorVT(*DAG.getContext(), PVT, NumElems); in LowerAsSplatVectorLoad()
5373 SmallVector<int, 8> Mask(NumElems, EltNo); in LowerAsSplatVectorLoad()
5393 unsigned NumElems = Elts.size(); in EltsFromConsecutiveLoads() local
5401 for (unsigned i = 0; i < NumElems; ++i) { in EltsFromConsecutiveLoads()
5423 if (LdVT.getSizeInBits() != VT.getSizeInBits() / NumElems) in EltsFromConsecutiveLoads()
5433 if (LastLoadedElt == NumElems - 1) { in EltsFromConsecutiveLoads()
5438 if (VT.getSizeInBits() != EltVT.getSizeInBits() * NumElems) in EltsFromConsecutiveLoads()
5467 if (NumElems == 4 && LastLoadedElt == 1 && (EltVT.getSizeInBits() == 32) && in EltsFromConsecutiveLoads()
5700 unsigned NumElems = Op.getNumOperands(); in buildFromShuffleMostly() local
5705 SmallVector<int, 8> Mask(NumElems, -1); in buildFromShuffleMostly()
5707 for (unsigned i = 0; i != NumElems; ++i) { in buildFromShuffleMostly()
5746 Mask[i] = Idx + NumElems; in buildFromShuffleMostly()
6276 unsigned NumElems = Op.getNumOperands(); in LowerBUILD_VECTOR() local
6318 for (unsigned i = 0; i < NumElems; ++i) { in LowerBUILD_VECTOR()
6412 if (NumElems == 2 && Idx == 1 && in LowerBUILD_VECTOR()
6460 SmallVector<SDValue, 64> V(Op->op_begin(), Op->op_begin() + NumElems); in LowerBUILD_VECTOR()
6466 EVT HVT = EVT::getVectorVT(*DAG.getContext(), ExtVT, NumElems/2); in LowerBUILD_VECTOR()
6470 makeArrayRef(&V[0], NumElems/2)); in LowerBUILD_VECTOR()
6472 makeArrayRef(&V[NumElems / 2], NumElems/2)); in LowerBUILD_VECTOR()
6476 return Concat128BitVectors(Lower, Upper, VT, NumElems, DAG, dl); in LowerBUILD_VECTOR()
6477 return Concat256BitVectors(Lower, Upper, VT, NumElems, DAG, dl); in LowerBUILD_VECTOR()
6493 if (EVTBits == 8 && NumElems == 16) in LowerBUILD_VECTOR()
6498 if (EVTBits == 16 && NumElems == 8) in LowerBUILD_VECTOR()
6504 if (EVTBits == 32 && NumElems == 4) in LowerBUILD_VECTOR()
6509 SmallVector<SDValue, 8> V(NumElems); in LowerBUILD_VECTOR()
6510 if (NumElems == 4 && NumZero > 0) { in LowerBUILD_VECTOR()
6542 static_cast<int>(Reverse2 ? NumElems+1 : NumElems), in LowerBUILD_VECTOR()
6543 static_cast<int>(Reverse2 ? NumElems : NumElems+1) in LowerBUILD_VECTOR()
6550 for (unsigned i = 0; i < NumElems; ++i) in LowerBUILD_VECTOR()
6569 for (unsigned i = 1; i < NumElems; ++i) { in LowerBUILD_VECTOR()
6580 for (unsigned i = 0; i < NumElems; ++i) { in LowerBUILD_VECTOR()
6591 unsigned EltStride = NumElems >> 1; in LowerBUILD_VECTOR()
6600 EltStride == NumElems/2) in LowerBUILD_VECTOR()
6623 unsigned NumElems = ResVT.getVectorNumElements(); in LowerAVXCONCAT_VECTORS() local
6625 return Concat128BitVectors(V1, V2, ResVT, NumElems, DAG, dl); in LowerAVXCONCAT_VECTORS()
6632 return Concat256BitVectors(Concat128BitVectors(V1, V2, HalfVT, NumElems/2, DAG, dl), in LowerAVXCONCAT_VECTORS()
6633 Concat128BitVectors(V3, V4, HalfVT, NumElems/2, DAG, dl), ResVT, NumElems, DAG, dl); in LowerAVXCONCAT_VECTORS()
6635 return Concat256BitVectors(V1, V2, ResVT, NumElems, DAG, dl); in LowerAVXCONCAT_VECTORS()
6684 unsigned NumElems = ResVT.getVectorNumElements(); in LowerCONCAT_VECTORSvXi1() local
6686 V1.getValueType().getVectorNumElements() == NumElems/2 && in LowerCONCAT_VECTORSvXi1()
6704 SDValue IdxVal = DAG.getIntPtrConstant(NumElems/2, dl); in LowerCONCAT_VECTORSvXi1()
11376 unsigned NumElems = BuildVector->getNumOperands(); in BUILD_VECTORtoBlendMask() local
11380 unsigned NumLanes = (NumElems - 1) / 8 + 1; in BUILD_VECTORtoBlendMask()
11384 unsigned NumElemsInLane = NumElems / NumLanes; in BUILD_VECTORtoBlendMask()
13403 unsigned NumElems = VT.getVectorNumElements(); in LowerTRUNCATE() local
13404 MVT NVT = MVT::getVectorVT(VT.getVectorElementType(), NumElems * 2); in LowerTRUNCATE()
13406 SmallVector<int, 16> MaskVec(NumElems * 2, -1); in LowerTRUNCATE()
13408 for (unsigned i = 0; i != NumElems; ++i) in LowerTRUNCATE()
14250 unsigned NumElems = VT.getVectorNumElements(); in Lower256IntVSETCC() local
14257 SDValue LHS2 = Extract128BitVector(LHS, NumElems/2, DAG, dl); in Lower256IntVSETCC()
14262 SDValue RHS2 = Extract128BitVector(RHS, NumElems/2, DAG, dl); in Lower256IntVSETCC()
14266 MVT NewVT = MVT::getVectorVT(EltVT, NumElems/2); in Lower256IntVSETCC()
15221 unsigned NumElems = InVT.getVectorNumElements(); in LowerSIGN_EXTEND() local
15224 SmallVector<int,8> ShufMask1(NumElems, -1); in LowerSIGN_EXTEND()
15225 for (unsigned i = 0; i != NumElems/2; ++i) in LowerSIGN_EXTEND()
15230 SmallVector<int,8> ShufMask2(NumElems, -1); in LowerSIGN_EXTEND()
15231 for (unsigned i = 0; i != NumElems/2; ++i) in LowerSIGN_EXTEND()
15232 ShufMask2[i] = i + NumElems/2; in LowerSIGN_EXTEND()
15275 unsigned NumElems = RegVT.getVectorNumElements(); in LowerExtendedLoad() local
15306 EVT HalfVecVT = EVT::getVectorVT(*DAG.getContext(), HalfEltVT, NumElems); in LowerExtendedLoad()
15323 assert(isPowerOf2_32(RegSz * MemSz * NumElems) && in LowerExtendedLoad()
15419 SmallVector<int, 16> ShuffleVec(NumElems * SizeRatio, -1); in LowerExtendedLoad()
15420 for (unsigned i = 0; i != NumElems; ++i) in LowerExtendedLoad()
17760 unsigned NumElems = VT.getVectorNumElements(); in LowerVectorCTLZ_AVX512() local
17781 if (16 < NumElems) { in LowerVectorCTLZ_AVX512()
17785 MVT OutVT = MVT::getVectorVT(EltVT, NumElems/2); in LowerVectorCTLZ_AVX512()
17793 MVT NewVT = MVT::getVectorVT(MVT::i32, NumElems); in LowerVectorCTLZ_AVX512()
17930 unsigned NumElems = VT.getVectorNumElements(); in Lower256IntArith() local
17936 SDValue LHS2 = Extract128BitVector(LHS, NumElems/2, DAG, dl); in Lower256IntArith()
17941 SDValue RHS2 = Extract128BitVector(RHS, NumElems/2, DAG, dl); in Lower256IntArith()
17944 MVT NewVT = MVT::getVectorVT(EltVT, NumElems/2); in Lower256IntArith()
18627 unsigned NumElems = VT.getVectorNumElements(); in LowerShift() local
18629 for (unsigned i=0; i !=NumElems; ++i) { in LowerShift()
18982 unsigned NumElems = VT.getVectorNumElements(); in LowerShift() local
18984 MVT NewVT = MVT::getVectorVT(EltVT, NumElems/2); in LowerShift()
18988 SDValue V2 = Extract128BitVector(R, NumElems/2, DAG, dl); in LowerShift()
18994 SmallVector<SDValue, 8> Ops(Amt->op_begin(), Amt->op_begin() + NumElems); in LowerShift()
18995 ArrayRef<SDValue> Amt1Csts = makeArrayRef(Ops).slice(0, NumElems / 2); in LowerShift()
18996 ArrayRef<SDValue> Amt2Csts = makeArrayRef(Ops).slice(NumElems / 2); in LowerShift()
19003 Amt2 = Extract128BitVector(Amt, NumElems/2, DAG, dl); in LowerShift()
19605 unsigned NumElems = VT.getVectorNumElements(); in LowerVectorCTPOP() local
19609 SDValue RHS = Extract128BitVector(Op0, NumElems/2, DAG, DL); in LowerVectorCTPOP()
22618 unsigned NumElems = VT.getVectorNumElements(); in isShuffleHigh128VectorInsertLow() local
22621 for (unsigned i = 0, j = NumElems/2; i != NumElems/2; ++i, ++j) in isShuffleHigh128VectorInsertLow()
22634 unsigned NumElems = VT.getVectorNumElements(); in isShuffleLow128VectorInsertHigh() local
22637 for (unsigned i = NumElems/2, j = 0; i != NumElems; ++i, ++j) in isShuffleLow128VectorInsertHigh()
22654 unsigned NumElems = VT.getVectorNumElements(); in PerformShuffleCombine256() local
22679 for (unsigned i = 0; i != NumElems/2; ++i) in PerformShuffleCombine256()
22681 !isUndefOrEqual(SVOp->getMaskElt(i+NumElems/2), NumElems)) in PerformShuffleCombine256()
22725 SDValue V = Extract128BitVector(V1, NumElems/2, DAG, dl); in PerformShuffleCombine256()
22733 SDValue InsV = Insert128BitVector(DAG.getUNDEF(VT), V, NumElems/2, DAG, dl); in PerformShuffleCombine256()
23667 unsigned NumElems = CurrentVT.getVectorNumElements(); in XFormVExtractWithShuffleIntoLoad() local
23669 int Idx = (Elt > (int)NumElems) ? -1 : ShuffleMask[Elt]; in XFormVExtractWithShuffleIntoLoad()
23670 SDValue LdNode = (Idx < (int)NumElems) ? InVec.getOperand(0) in XFormVExtractWithShuffleIntoLoad()
23942 unsigned NumElems = VT.getVectorNumElements(); in transformVSELECTtoBlendVECTOR_SHUFFLE() local
23943 SmallVector<int, 8> ShuffleMask(NumElems, -1); in transformVSELECTtoBlendVECTOR_SHUFFLE()
23944 for (unsigned i = 0; i < NumElems; ++i) { in transformVSELECTtoBlendVECTOR_SHUFFLE()
23949 ShuffleMask[i] = i + NumElems * ((MaskValue >> i) & 1); in transformVSELECTtoBlendVECTOR_SHUFFLE()
25407 unsigned NumElems = SrcType.getVectorNumElements(); in VectorZextCombine() local
25408 for (unsigned i = 0; i < NumElems; ++i) in VectorZextCombine()
25410 Mask.push_back(NumElems); in VectorZextCombine()
25788 unsigned NumElems = VT.getVectorNumElements(); in detectAVGPattern() local
25792 isPowerOf2_32(NumElems))) in detectAVGPattern()
25865 SmallVector<SDValue, 8>(NumElems, One)); in detectAVGPattern()
25920 unsigned NumElems = RegVT.getVectorNumElements(); in PerformLOADCombine() local
25921 if (NumElems < 2) in PerformLOADCombine()
25929 NumElems/2); in PerformLOADCombine()
25945 NewVec = Insert128BitVector(NewVec, Load2, NumElems/2, DAG, dl); in PerformLOADCombine()
25961 unsigned NumElems = VT.getVectorNumElements(); in PerformMLOADCombine() local
25969 assert (isPowerOf2_32(NumElems * FromSz * ToSz) && in PerformMLOADCombine()
25973 assert(SizeRatio * NumElems * FromSz == VT.getSizeInBits()); in PerformMLOADCombine()
25977 LdVT.getScalarType(), NumElems*SizeRatio); in PerformMLOADCombine()
25983 SmallVector<int, 16> ShuffleVec(NumElems * SizeRatio, -1); in PerformMLOADCombine()
25984 for (unsigned i = 0; i != NumElems; ++i) in PerformMLOADCombine()
25999 SmallVector<int, 16> ShuffleVec(NumElems * SizeRatio, -1); in PerformMLOADCombine()
26000 for (unsigned i = 0; i != NumElems; ++i) in PerformMLOADCombine()
26002 for (unsigned i = NumElems; i != NumElems * SizeRatio; ++i) in PerformMLOADCombine()
26003 ShuffleVec[i] = NumElems * SizeRatio; in PerformMLOADCombine()
26010 unsigned WidenNumElts = NumElems*SizeRatio; in PerformMLOADCombine()
26040 unsigned NumElems = VT.getVectorNumElements(); in PerformMSTORECombine() local
26058 assert (isPowerOf2_32(NumElems * FromSz * ToSz) && in PerformMSTORECombine()
26062 assert (((NumElems * FromSz) % ToSz) == 0 && in PerformMSTORECombine()
26066 assert(SizeRatio * NumElems * ToSz == VT.getSizeInBits()); in PerformMSTORECombine()
26070 StVT.getScalarType(), NumElems*SizeRatio); in PerformMSTORECombine()
26075 SmallVector<int, 16> ShuffleVec(NumElems * SizeRatio, -1); in PerformMSTORECombine()
26076 for (unsigned i = 0; i != NumElems; ++i) in PerformMSTORECombine()
26092 for (unsigned i = 0; i != NumElems; ++i) in PerformMSTORECombine()
26094 for (unsigned i = NumElems; i != NumElems*SizeRatio; ++i) in PerformMSTORECombine()
26095 ShuffleVec[i] = NumElems*SizeRatio; in PerformMSTORECombine()
26102 unsigned WidenNumElts = NumElems*SizeRatio; in PerformMSTORECombine()
26139 unsigned NumElems = VT.getVectorNumElements(); in PerformSTORECombine() local
26140 if (NumElems < 2) in PerformSTORECombine()
26144 SDValue Value1 = Extract128BitVector(StoredVal, NumElems/2, DAG, dl); in PerformSTORECombine()
26176 unsigned NumElems = VT.getVectorNumElements(); in PerformSTORECombine() local
26189 if (!isPowerOf2_32(NumElems * FromSz * ToSz)) return SDValue(); in PerformSTORECombine()
26192 if (0 != (NumElems * FromSz) % ToSz) return SDValue(); in PerformSTORECombine()
26196 assert(SizeRatio * NumElems * ToSz == VT.getSizeInBits()); in PerformSTORECombine()
26200 StVT.getScalarType(), NumElems*SizeRatio); in PerformSTORECombine()
26205 SmallVector<int, 8> ShuffleVec(NumElems * SizeRatio, -1); in PerformSTORECombine()
26206 for (unsigned i = 0; i != NumElems; ++i) in PerformSTORECombine()
26222 if (TLI.isTypeLegal(Tp) && Tp.getSizeInBits() <= NumElems * ToSz) in PerformSTORECombine()
26228 (64 <= NumElems * ToSz)) in PerformSTORECombine()
26242 for (unsigned i=0, e=(ToSz*NumElems)/StoreType.getSizeInBits(); i!=e; ++i) { in PerformSTORECombine()
26642 unsigned NumElems = OutVT.getVectorNumElements(); in combineVectorTruncation() local
26653 (OutSVT == MVT::i8 || OutSVT == MVT::i16) && isPowerOf2_32(NumElems) && in combineVectorTruncation()
26654 NumElems >= 8)) in combineVectorTruncation()
26658 if (Subtarget->hasSSSE3() && NumElems == 8 && in combineVectorTruncation()