Lines Matching defs:NumElems

131                                    unsigned NumElems, SelectionDAG &DAG,
134 return Insert128BitVector(V, V2, NumElems/2, DAG, dl);
3355 unsigned NumElems) {
3356 for (unsigned i = 0; i != NumElems; ++i) {
3360 else if (idx < (int)NumElems)
3361 Mask[i] = idx + NumElems;
3363 Mask[i] = idx - NumElems;
3376 unsigned NumElems = VT.getVectorNumElements();
3378 unsigned NumLaneElems = NumElems/NumLanes;
3403 for (unsigned l = 0; l != NumElems; l += NumLaneElems) {
3406 unsigned RngStart = l + ((Commuted == (i<HalfLaneElems)) ? NumElems : 0);
3412 if (NumElems != 8 || l == 0 || Mask[i] < 0)
3428 unsigned NumElems = VT.getVectorNumElements();
3430 if (NumElems != 4)
3447 unsigned NumElems = VT.getVectorNumElements();
3449 if (NumElems != 4)
3464 unsigned NumElems = VT.getVectorNumElements();
3466 if (NumElems != 2 && NumElems != 4)
3469 for (unsigned i = 0, e = NumElems/2; i != e; ++i)
3470 if (!isUndefOrEqual(Mask[i], i + NumElems))
3473 for (unsigned i = NumElems/2, e = NumElems; i != e; ++i)
3486 unsigned NumElems = VT.getVectorNumElements();
3488 if (NumElems != 2 && NumElems != 4)
3491 for (unsigned i = 0, e = NumElems/2; i != e; ++i)
3495 for (unsigned i = 0, e = NumElems/2; i != e; ++i)
3496 if (!isUndefOrEqual(Mask[i + e], i + NumElems))
3847 unsigned NumElems = VT.getVectorNumElements();
3849 if ((VT.getSizeInBits() == 128 && NumElems != 4) ||
3850 (VT.getSizeInBits() == 256 && NumElems != 8))
3854 for (unsigned i = 0; i != NumElems; i += 2)
3870 unsigned NumElems = VT.getVectorNumElements();
3872 if ((VT.getSizeInBits() == 128 && NumElems != 4) ||
3873 (VT.getSizeInBits() == 256 && NumElems != 8))
3877 for (unsigned i = 0; i != NumElems; i += 2)
4132 unsigned NumElems = VT.getVectorNumElements();
4135 for (unsigned i = 0; i != NumElems; ++i) {
4138 if (Idx < (int)NumElems)
4139 Idx += NumElems;
4141 Idx -= NumElems;
4221 unsigned NumElems = VT.getVectorNumElements();
4223 if (NumElems != 2 && NumElems != 4)
4225 for (unsigned i = 0, e = NumElems/2; i != e; ++i)
4228 for (unsigned i = NumElems/2, e = NumElems; i != e; ++i)
4229 if (!isUndefOrEqual(Mask[i], i+NumElems))
4253 unsigned NumElems = N->getValueType(0).getVectorNumElements();
4254 for (unsigned i = 0; i != NumElems; ++i) {
4256 if (Idx >= (int)NumElems) {
4261 !X86::isZeroNode(V2.getOperand(Idx-NumElems)))
4340 static void NormalizeMask(SmallVectorImpl<int> &Mask, unsigned NumElems) {
4341 for (unsigned i = 0; i != NumElems; ++i) {
4342 if (Mask[i] > (int)NumElems) {
4343 Mask[i] = NumElems;
4352 unsigned NumElems = VT.getVectorNumElements();
4354 Mask.push_back(NumElems);
4355 for (unsigned i = 1; i != NumElems; ++i)
4363 unsigned NumElems = VT.getVectorNumElements();
4365 for (unsigned i = 0, e = NumElems/2; i != e; ++i) {
4367 Mask.push_back(i + NumElems);
4375 unsigned NumElems = VT.getVectorNumElements();
4377 for (unsigned i = 0, Half = NumElems/2; i != Half; ++i) {
4379 Mask.push_back(i + NumElems + Half);
4390 int NumElems = VT.getVectorNumElements();
4393 while (NumElems > 4) {
4394 if (EltNo < NumElems/2) {
4398 EltNo -= NumElems/2;
4400 NumElems >>= 1;
4439 int NumElems = SrcVT.getVectorNumElements();
4442 assert(((Size == 128 && NumElems > 4) || Size == 256) &&
4449 if (EltNo >= NumElems/2)
4450 EltNo -= NumElems/2;
4482 unsigned NumElems = VT.getVectorNumElements();
4484 for (unsigned i = 0; i != NumElems; ++i)
4486 MaskVec.push_back(i == Idx ? NumElems : i);
4495 unsigned NumElems = VT.getVectorNumElements();
4511 DecodeMOVHLPSMask(NumElems, Mask);
4514 DecodeMOVLHPSMask(NumElems, Mask);
4542 Mask.push_back(NumElems);
4543 for (unsigned i = 1; i != NumElems; ++i) {
4586 unsigned NumElems = VT.getVectorNumElements();
4587 SDValue NewV = (Elt < (int)NumElems) ? SV->getOperand(0)
4589 return getShuffleScalarElt(NewV.getNode(), Elt % NumElems, DAG, Depth+1);
4595 unsigned NumElems = ShufVT.getVectorNumElements();
4607 SDValue NewV = (Elt < (int)NumElems) ? N->getOperand(0)
4609 return getShuffleScalarElt(NewV.getNode(), Elt % NumElems, DAG,
4617 unsigned NumElems = VT.getVectorNumElements();
4619 if (!SrcVT.isVector() || SrcVT.getVectorNumElements() != NumElems)
4637 unsigned getNumOfConsecutiveZeros(ShuffleVectorSDNode *SVOp, unsigned NumElems,
4640 for (i = 0; i != NumElems; ++i) {
4641 unsigned Index = ZerosFromLeft ? i : NumElems-i-1;
4657 unsigned NumElems, unsigned &OpNum) {
4667 if (Idx < (int)NumElems)
4673 if ((Idx % NumElems != OpIdx) || (SeenV1 && SeenV2))
4685 unsigned NumElems = SVOp->getValueType(0).getVectorNumElements();
4686 unsigned NumZeros = getNumOfConsecutiveZeros(SVOp, NumElems,
4702 NumElems-NumZeros, // Mask End Index(exclusive)
4704 NumElems, // Number of elements in vector
4718 unsigned NumElems = SVOp->getValueType(0).getVectorNumElements();
4719 unsigned NumZeros = getNumOfConsecutiveZeros(SVOp, NumElems,
4735 NumElems, // Mask End Index(exclusive)
4737 NumElems, // Number of elements in vector
4916 unsigned NumElems = VT.getVectorNumElements();
4918 EVT NVT = EVT::getVectorVT(*DAG.getContext(), PVT, NumElems);
4924 for (unsigned i = 0; i != NumElems; ++i)
4945 unsigned NumElems = Elts.size();
4953 for (unsigned i = 0; i < NumElems; ++i) {
4978 if (LastLoadedElt == NumElems - 1) {
4989 if (NumElems == 4 && LastLoadedElt == 1 &&
5234 unsigned NumElems = Op.getNumOperands();
5271 for (unsigned i = 0; i < NumElems; ++i) {
5365 if (NumElems == 2 && Idx == 1 &&
5389 for (unsigned i = 0; i != NumElems; ++i)
5419 for (unsigned i = 0; i != NumElems; ++i)
5422 EVT HVT = EVT::getVectorVT(*DAG.getContext(), ExtVT, NumElems/2);
5425 SDValue Lower = DAG.getNode(ISD::BUILD_VECTOR, dl, HVT, &V[0], NumElems/2);
5426 SDValue Upper = DAG.getNode(ISD::BUILD_VECTOR, dl, HVT, &V[NumElems / 2],
5427 NumElems/2);
5430 return Concat128BitVectors(Lower, Upper, VT, NumElems, DAG, dl);
5446 if (EVTBits == 8 && NumElems == 16) {
5452 if (EVTBits == 16 && NumElems == 8) {
5459 SmallVector<SDValue, 8> V(NumElems);
5460 if (NumElems == 4 && NumZero > 0) {
5492 static_cast<int>(Reverse2 ? NumElems+1 : NumElems),
5493 static_cast<int>(Reverse2 ? NumElems : NumElems+1)
5500 for (unsigned i = 0; i < NumElems; ++i)
5516 for (unsigned i = 1; i < NumElems; ++i) {
5527 for (unsigned i = 0; i < NumElems; ++i) {
5538 unsigned EltStride = NumElems >> 1;
5547 EltStride == NumElems/2)
5569 unsigned NumElems = ResVT.getVectorNumElements();
5571 return Concat128BitVectors(V1, V2, ResVT, NumElems, DAG, dl);
5591 unsigned NumElems = VT.getVectorNumElements();
5634 for (unsigned i = 0; i != NumElems; ++i) {
5638 else if (EltIdx == (int)(i + NumElems))
6082 unsigned NumElems = VT.getVectorNumElements();
6096 for (unsigned i = 0; i != NumElems; i += Scale) {
6161 unsigned NumElems = VT.getVectorNumElements();
6162 unsigned NumLaneElems = NumElems / 2;
6228 int Input = Idx / NumElems;
6231 Idx -= Input * NumElems;
6488 unsigned NumElems = VT.getVectorNumElements();
6510 if (HasSSE2 && NumElems == 2)
6513 if (NumElems == 4)
6528 if (NumElems == 2 || !isMOVLMask(SVOp->getMask(), VT))
6610 unsigned NumElems = VT.getVectorNumElements();
6749 CommuteVectorShuffleMask(M, NumElems);
6776 NormalizeMask(NewMask, NumElems);
6786 CommuteVectorShuffleMask(M, NumElems);
6907 if (NumElems == 4 && VT.is128BitVector())
6995 unsigned NumElems = VecVT.getVectorNumElements();
7002 if (IdxVal >= NumElems/2)
7003 IdxVal -= NumElems/2;
7145 unsigned NumElems = VT.getVectorNumElements();
7150 bool Upper = IdxVal >= NumElems/2;
7152 DAG.getConstant(Upper ? IdxVal-NumElems/2 : IdxVal, MVT::i32));
8732 unsigned NumElems = VT.getVectorNumElements();
8739 SDValue LHS2 = Extract128BitVector(LHS, NumElems/2, DAG, dl);
8744 SDValue RHS2 = Extract128BitVector(RHS, NumElems/2, DAG, dl);
8748 EVT NewVT = MVT::getVectorVT(EltVT, NumElems/2);
10602 unsigned NumElems = VT.getVectorNumElements();
10608 SDValue LHS2 = Extract128BitVector(LHS, NumElems/2, DAG, dl);
10613 SDValue RHS2 = Extract128BitVector(RHS, NumElems/2, DAG, dl);
10616 EVT NewVT = MVT::getVectorVT(EltVT, NumElems/2);
10872 unsigned NumElems = VT.getVectorNumElements();
10874 EVT NewVT = MVT::getVectorVT(EltVT, NumElems/2);
10878 SDValue V2 = Extract128BitVector(R, NumElems/2, DAG, dl);
10886 for (unsigned i = 0; i != NumElems/2; ++i)
10888 for (unsigned i = NumElems/2; i != NumElems; ++i)
10892 &Amt1Csts[0], NumElems/2);
10894 &Amt2Csts[0], NumElems/2);
10898 Amt2 = Extract128BitVector(Amt, NumElems/2, DAG, dl);
11008 unsigned NumElems = VT.getVectorNumElements();
11013 SDValue LHS2 = Extract128BitVector(LHS, NumElems/2, DAG, dl);
11016 EVT NewVT = MVT::getVectorVT(EltVT, NumElems/2);
13359 unsigned NumElems = VT.getVectorNumElements();
13362 for (unsigned i = 0, j = NumElems/2; i != NumElems/2; ++i, ++j)
13375 unsigned NumElems = VT.getVectorNumElements();
13378 for (unsigned i = NumElems/2, j = 0; i != NumElems; ++i, ++j)
13395 unsigned NumElems = VT.getVectorNumElements();
13420 for (unsigned i = 0; i != NumElems/2; ++i)
13422 !isUndefOrEqual(SVOp->getMaskElt(i+NumElems/2), NumElems))
13454 SDValue V = Extract128BitVector(V1, NumElems/2, DAG, dl);
13462 SDValue InsV = Insert128BitVector(DAG.getUNDEF(VT), V, NumElems/2, DAG, dl);
13667 unsigned NumElems = VT.getVectorNumElements();
13669 int Idx = (Elt > (int)NumElems) ? -1 : ShuffleMask[Elt];
13670 SDValue LdNode = (Idx < (int)NumElems) ? InVec.getOperand(0)
15090 unsigned NumElems = RegVT.getVectorNumElements();
15096 if (!isPowerOf2_32(RegSz * MemSz * NumElems))
15169 SmallVector<int, 8> ShuffleVec(NumElems * SizeRatio, -1);
15170 for (unsigned i = 0; i != NumElems; ++i)
15225 unsigned NumElems = VT.getVectorNumElements();
15231 if (!isPowerOf2_32(NumElems * FromSz * ToSz)) return SDValue();
15234 if (0 != (NumElems * FromSz) % ToSz) return SDValue();
15238 assert(SizeRatio * NumElems * ToSz == VT.getSizeInBits());
15242 StVT.getScalarType(), NumElems*SizeRatio);
15247 SmallVector<int, 8> ShuffleVec(NumElems * SizeRatio, -1);
15248 for (unsigned i = 0; i != NumElems; ++i)
15266 if (TLI.isTypeLegal(Tp) && Tp.getSizeInBits() <= NumElems * ToSz)
15272 (64 <= NumElems * ToSz))
15286 for (unsigned i=0, e=(ToSz*NumElems)/StoreType.getSizeInBits(); i!=e; ++i) {
15681 unsigned NumElems = OpVT.getVectorNumElements();
15684 SmallVector<int,8> ShufMask1(NumElems, -1);
15685 for (unsigned i = 0; i != NumElems/2; ++i)
15690 SmallVector<int,8> ShufMask2(NumElems, -1);
15691 for (unsigned i = 0; i != NumElems/2; ++i)
15692 ShufMask2[i] = i + NumElems/2;