• Home
  • Raw
  • Download

Lines Matching refs:NumElems

2951   unsigned NumElems = VT.getVectorNumElements();  in getMOVL()  local
2953 Mask.push_back(NumElems); in getMOVL()
2954 for (unsigned i = 1; i != NumElems; ++i) in getMOVL()
4571 unsigned NumElems = OpVT.getVectorNumElements(); in insert1BitVector() local
4574 assert(IdxVal + SubVecNumElems <= NumElems && in insert1BitVector()
4611 NumElems = WideOpVT.getVectorNumElements(); in insert1BitVector()
4612 unsigned ShiftLeft = NumElems - SubVecNumElems; in insert1BitVector()
4613 unsigned ShiftRight = NumElems - SubVecNumElems - IdxVal; in insert1BitVector()
4636 if (IdxVal + SubVecNumElems == NumElems) { in insert1BitVector()
4651 for (unsigned i = 0; i < NumElems; ++i) in insert1BitVector()
4653 i : i + NumElems); in insert1BitVector()
4662 unsigned NumElems, SelectionDAG &DAG, in concat128BitVectors() argument
4665 return insert128BitVector(V, V2, NumElems / 2, DAG, dl); in concat128BitVectors()
4669 unsigned NumElems, SelectionDAG &DAG, in concat256BitVectors() argument
4672 return insert256BitVector(V, V2, NumElems / 2, DAG, dl); in concat256BitVectors()
4700 unsigned NumElems = VT.getVectorNumElements(); in getUnpackl() local
4701 SmallVector<int, 8> Mask(NumElems); in getUnpackl()
4702 for (unsigned i = 0, e = NumElems/2; i != e; ++i) { in getUnpackl()
4704 Mask[i * 2 + 1] = i + NumElems; in getUnpackl()
4713 unsigned NumElems = VT.getVectorNumElements(); in getUnpackh() local
4714 SmallVector<int, 8> Mask(NumElems); in getUnpackh()
4715 for (unsigned i = 0, Half = NumElems/2; i != Half; ++i) { in getUnpackh()
4717 Mask[i * 2 + 1] = i + NumElems + Half; in getUnpackh()
4733 int NumElems = VT.getVectorNumElements(); in getShuffleVectorZeroOrUndef() local
4734 SmallVector<int, 16> MaskVec(NumElems); in getShuffleVectorZeroOrUndef()
4735 for (int i = 0; i != NumElems; ++i) in getShuffleVectorZeroOrUndef()
4737 MaskVec[i] = (i == Idx) ? NumElems : i; in getShuffleVectorZeroOrUndef()
4855 unsigned NumElems = VT.getVectorNumElements(); in getTargetShuffleMask() local
4887 DecodeMOVHLPSMask(NumElems, Mask); in getTargetShuffleMask()
4891 DecodeMOVLHPSMask(NumElems, Mask); in getTargetShuffleMask()
5211 unsigned NumElems = VT.getVectorNumElements(); in getShuffleScalarElt() local
5212 SDValue NewV = (Elt < (int)NumElems) ? SV->getOperand(0) in getShuffleScalarElt()
5214 return getShuffleScalarElt(NewV.getNode(), Elt % NumElems, DAG, Depth+1); in getShuffleScalarElt()
5221 int NumElems = (int)ShufVT.getVectorNumElements(); in getShuffleScalarElt() local
5236 assert(0 <= Elt && Elt < (2*NumElems) && "Shuffle index out of range"); in getShuffleScalarElt()
5237 SDValue NewV = (Elt < NumElems) ? ShuffleOps[0] : ShuffleOps[1]; in getShuffleScalarElt()
5238 return getShuffleScalarElt(NewV.getNode(), Elt % NumElems, DAG, in getShuffleScalarElt()
5246 unsigned NumElems = VT.getVectorNumElements(); in getShuffleScalarElt() local
5248 if (!SrcVT.isVector() || SrcVT.getVectorNumElements() != NumElems) in getShuffleScalarElt()
5542 unsigned NumElems = VT.getVectorNumElements(); in LowerAsSplatVectorLoad() local
5544 EVT NVT = EVT::getVectorVT(*DAG.getContext(), PVT, NumElems); in LowerAsSplatVectorLoad()
5549 SmallVector<int, 8> Mask(NumElems, EltNo); in LowerAsSplatVectorLoad()
5565 unsigned NumElems = Elts.size(); in EltsFromConsecutiveLoads() local
5568 SmallBitVector LoadMask(NumElems, false); in EltsFromConsecutiveLoads()
5569 SmallBitVector ZeroMask(NumElems, false); in EltsFromConsecutiveLoads()
5570 SmallBitVector UndefMask(NumElems, false); in EltsFromConsecutiveLoads()
5574 for (unsigned i = 0; i < NumElems; ++i) { in EltsFromConsecutiveLoads()
5588 if ((NumElems * Elt.getValueSizeInBits()) != VT.getSizeInBits()) in EltsFromConsecutiveLoads()
5593 assert((ZeroMask | UndefMask | LoadMask).count() == NumElems && in EltsFromConsecutiveLoads()
5597 if (UndefMask.count() == NumElems) in EltsFromConsecutiveLoads()
5601 if ((ZeroMask | UndefMask).count() == NumElems) in EltsFromConsecutiveLoads()
5654 if (FirstLoadedElt == 0 && LastLoadedElt == (int)(NumElems - 1) && in EltsFromConsecutiveLoads()
5660 if (VT.getSizeInBits() != EltVT.getSizeInBits() * NumElems) in EltsFromConsecutiveLoads()
5671 if (!isAfterLegalize && NumElems == VT.getVectorNumElements()) { in EltsFromConsecutiveLoads()
5672 SmallVector<int, 4> ClearMask(NumElems, -1); in EltsFromConsecutiveLoads()
5673 for (unsigned i = 0; i < NumElems; ++i) { in EltsFromConsecutiveLoads()
5675 ClearMask[i] = i + NumElems; in EltsFromConsecutiveLoads()
5943 unsigned NumElems = Op.getNumOperands(); in buildFromShuffleMostly() local
5948 SmallVector<int, 8> Mask(NumElems, -1); in buildFromShuffleMostly()
5950 for (unsigned i = 0; i != NumElems; ++i) { in buildFromShuffleMostly()
5989 Mask[i] = Idx + NumElems; in buildFromShuffleMostly()
6505 unsigned NumElems = VT.getVectorNumElements(); in lowerBuildVectorToBitOp() local
6511 for (unsigned i = 1; i < NumElems; ++i) in lowerBuildVectorToBitOp()
6582 unsigned NumElems = Op.getNumOperands(); in LowerBUILD_VECTOR() local
6608 for (unsigned i = 0; i < NumElems; ++i) { in LowerBUILD_VECTOR()
6703 if (NumElems == 2 && Idx == 1 && in LowerBUILD_VECTOR()
6749 SmallVector<SDValue, 64> Ops(Op->op_begin(), Op->op_begin() + NumElems); in LowerBUILD_VECTOR()
6757 SmallVector<SDValue, 64> Ops(Op->op_begin(), Op->op_begin() + NumElems); in LowerBUILD_VECTOR()
6759 EVT HVT = EVT::getVectorVT(*DAG.getContext(), ExtVT, NumElems/2); in LowerBUILD_VECTOR()
6763 DAG.getBuildVector(HVT, dl, makeArrayRef(&Ops[0], NumElems / 2)); in LowerBUILD_VECTOR()
6765 HVT, dl, makeArrayRef(&Ops[NumElems / 2], NumElems / 2)); in LowerBUILD_VECTOR()
6769 return concat128BitVectors(Lower, Upper, VT, NumElems, DAG, dl); in LowerBUILD_VECTOR()
6770 return concat256BitVectors(Lower, Upper, VT, NumElems, DAG, dl); in LowerBUILD_VECTOR()
6786 if (EVTBits == 8 && NumElems == 16) in LowerBUILD_VECTOR()
6791 if (EVTBits == 16 && NumElems == 8) in LowerBUILD_VECTOR()
6797 if (EVTBits == 32 && NumElems == 4) in LowerBUILD_VECTOR()
6802 if (NumElems == 4 && NumZero > 0) { in LowerBUILD_VECTOR()
6803 SmallVector<SDValue, 8> Ops(NumElems); in LowerBUILD_VECTOR()
6835 static_cast<int>(Reverse2 ? NumElems+1 : NumElems), in LowerBUILD_VECTOR()
6836 static_cast<int>(Reverse2 ? NumElems : NumElems+1) in LowerBUILD_VECTOR()
6854 for (unsigned i = 1; i < NumElems; ++i) { in LowerBUILD_VECTOR()
6865 SmallVector<SDValue, 8> Ops(NumElems); in LowerBUILD_VECTOR()
6866 for (unsigned i = 0; i < NumElems; ++i) { in LowerBUILD_VECTOR()
6877 unsigned EltStride = NumElems >> 1; in LowerBUILD_VECTOR()
6886 EltStride == NumElems/2) in LowerBUILD_VECTOR()
6909 unsigned NumElems = ResVT.getVectorNumElements(); in LowerAVXCONCAT_VECTORS() local
6911 return concat128BitVectors(V1, V2, ResVT, NumElems, DAG, dl); in LowerAVXCONCAT_VECTORS()
6919 concat128BitVectors(V1, V2, HalfVT, NumElems / 2, DAG, dl), in LowerAVXCONCAT_VECTORS()
6920 concat128BitVectors(V3, V4, HalfVT, NumElems / 2, DAG, dl), ResVT, in LowerAVXCONCAT_VECTORS()
6921 NumElems, DAG, dl); in LowerAVXCONCAT_VECTORS()
6923 return concat256BitVectors(V1, V2, ResVT, NumElems, DAG, dl); in LowerAVXCONCAT_VECTORS()
6972 unsigned NumElems = ResVT.getVectorNumElements(); in LowerCONCAT_VECTORSvXi1() local
6974 V1.getValueType().getVectorNumElements() == NumElems/2 && in LowerCONCAT_VECTORSvXi1()
6992 SDValue IdxVal = DAG.getIntPtrConstant(NumElems/2, dl); in LowerCONCAT_VECTORSvXi1()
14231 unsigned NumElems = VT.getVectorNumElements(); in LowerTRUNCATE() local
14232 MVT NVT = MVT::getVectorVT(VT.getVectorElementType(), NumElems * 2); in LowerTRUNCATE()
14234 SmallVector<int, 16> MaskVec(NumElems * 2, -1); in LowerTRUNCATE()
14236 for (unsigned i = 0; i != NumElems; ++i) in LowerTRUNCATE()
15112 unsigned NumElems = VT.getVectorNumElements(); in Lower256IntVSETCC() local
15119 SDValue LHS2 = extract128BitVector(LHS, NumElems / 2, DAG, dl); in Lower256IntVSETCC()
15124 SDValue RHS2 = extract128BitVector(RHS, NumElems / 2, DAG, dl); in Lower256IntVSETCC()
15128 MVT NewVT = MVT::getVectorVT(EltVT, NumElems/2); in Lower256IntVSETCC()
16143 unsigned NumElems = InVT.getVectorNumElements(); in LowerSIGN_EXTEND() local
16146 SmallVector<int,8> ShufMask1(NumElems, -1); in LowerSIGN_EXTEND()
16147 for (unsigned i = 0; i != NumElems/2; ++i) in LowerSIGN_EXTEND()
16152 SmallVector<int,8> ShufMask2(NumElems, -1); in LowerSIGN_EXTEND()
16153 for (unsigned i = 0; i != NumElems/2; ++i) in LowerSIGN_EXTEND()
16154 ShufMask2[i] = i + NumElems/2; in LowerSIGN_EXTEND()
16351 unsigned NumElems = RegVT.getVectorNumElements(); in LowerExtendedLoad() local
16382 EVT HalfVecVT = EVT::getVectorVT(*DAG.getContext(), HalfEltVT, NumElems); in LowerExtendedLoad()
16399 assert(isPowerOf2_32(RegSz * MemSz * NumElems) && in LowerExtendedLoad()
16495 SmallVector<int, 16> ShuffleVec(NumElems * SizeRatio, -1); in LowerExtendedLoad()
16496 for (unsigned i = 0; i != NumElems; ++i) in LowerExtendedLoad()
18981 unsigned NumElems = VT.getVectorNumElements(); in LowerVectorCTLZ_AVX512() local
19002 if (16 < NumElems) { in LowerVectorCTLZ_AVX512()
19006 MVT OutVT = MVT::getVectorVT(EltVT, NumElems/2); in LowerVectorCTLZ_AVX512()
19014 MVT NewVT = MVT::getVectorVT(MVT::i32, NumElems); in LowerVectorCTLZ_AVX512()
19109 unsigned NumElems = VT.getVectorNumElements(); in LowerVectorCTLZ() local
19113 SDValue RHS = extract128BitVector(Op0, NumElems / 2, DAG, DL); in LowerVectorCTLZ()
19217 unsigned NumElems = VT.getVectorNumElements(); in Lower256IntArith() local
19223 SDValue LHS2 = extract128BitVector(LHS, NumElems / 2, DAG, dl); in Lower256IntArith()
19228 SDValue RHS2 = extract128BitVector(RHS, NumElems / 2, DAG, dl); in Lower256IntArith()
19231 MVT NewVT = MVT::getVectorVT(EltVT, NumElems/2); in Lower256IntArith()
19246 unsigned NumElems = VT.getVectorNumElements(); in Lower512IntArith() local
19252 SDValue LHS2 = extract256BitVector(LHS, NumElems / 2, DAG, dl); in Lower512IntArith()
19257 SDValue RHS2 = extract256BitVector(RHS, NumElems / 2, DAG, dl); in Lower512IntArith()
19260 MVT NewVT = MVT::getVectorVT(EltVT, NumElems/2); in Lower512IntArith()
19621 unsigned NumElems = VT.getVectorNumElements(); in LowerMUL_LOHI() local
19622 MVT HalfVT = MVT::getVectorVT(VT.getScalarType(), NumElems / 2); in LowerMUL_LOHI()
19625 SDValue Hi0 = extract128BitVector(Op0, NumElems / 2, DAG, dl); in LowerMUL_LOHI()
19626 SDValue Hi1 = extract128BitVector(Op1, NumElems / 2, DAG, dl); in LowerMUL_LOHI()
20076 unsigned NumElems = VT.getVectorNumElements(); in LowerShift() local
20078 for (unsigned i=0; i !=NumElems; ++i) { in LowerShift()
21032 unsigned NumElems = VT.getVectorNumElements(); in LowerVectorCTPOP() local
21036 SDValue RHS = extract128BitVector(Op0, NumElems / 2, DAG, DL); in LowerVectorCTPOP()
21044 unsigned NumElems = VT.getVectorNumElements(); in LowerVectorCTPOP() local
21048 SDValue RHS = extract256BitVector(Op0, NumElems / 2, DAG, DL); in LowerVectorCTPOP()
24680 unsigned NumElems = VT.getVectorNumElements(); in combineShuffle256() local
24704 for (unsigned i = 0; i != NumElems/2; ++i) in combineShuffle256()
24706 !isUndefOrEqual(SVOp->getMaskElt(i+NumElems/2), NumElems)) in combineShuffle256()
26193 unsigned NumElems = CurrentVT.getVectorNumElements(); in XFormVExtractWithShuffleIntoLoad() local
26195 int Idx = (Elt > (int)NumElems) ? SM_SentinelUndef : ShuffleMask[Elt]; in XFormVExtractWithShuffleIntoLoad()
26203 assert(0 <= Idx && Idx < (int)(2 * NumElems) && "Shuffle index out of range"); in XFormVExtractWithShuffleIntoLoad()
26204 SDValue LdNode = (Idx < (int)NumElems) ? ShuffleOps[0] in XFormVExtractWithShuffleIntoLoad()
28107 unsigned NumElems = SrcType.getVectorNumElements(); in combineVectorZext() local
28131 for (unsigned i = 0; i != NumElems; ++i) { in combineVectorZext()
28154 for (unsigned i = 0; i != NumElems; ++i) in combineVectorZext()
28156 Mask.push_back(NumElems); in combineVectorZext()
28667 unsigned NumElems = VT.getVectorNumElements(); in detectAVGPattern() local
28671 isPowerOf2_32(NumElems))) in detectAVGPattern()
28798 unsigned NumElems = RegVT.getVectorNumElements(); in combineLoad() local
28799 if (NumElems < 2) in combineLoad()
28805 NumElems/2); in combineLoad()
28822 NewVec = insert128BitVector(NewVec, Load2, NumElems / 2, DAG, dl); in combineLoad()
28980 unsigned NumElems = VT.getVectorNumElements(); in combineMaskedLoad() local
28988 assert (isPowerOf2_32(NumElems * FromSz * ToSz) && in combineMaskedLoad()
28992 assert(SizeRatio * NumElems * FromSz == VT.getSizeInBits()); in combineMaskedLoad()
28996 LdVT.getScalarType(), NumElems*SizeRatio); in combineMaskedLoad()
29002 SmallVector<int, 16> ShuffleVec(NumElems * SizeRatio, -1); in combineMaskedLoad()
29003 for (unsigned i = 0; i != NumElems; ++i) in combineMaskedLoad()
29018 SmallVector<int, 16> ShuffleVec(NumElems * SizeRatio, -1); in combineMaskedLoad()
29019 for (unsigned i = 0; i != NumElems; ++i) in combineMaskedLoad()
29021 for (unsigned i = NumElems; i != NumElems * SizeRatio; ++i) in combineMaskedLoad()
29022 ShuffleVec[i] = NumElems * SizeRatio; in combineMaskedLoad()
29028 unsigned WidenNumElts = NumElems*SizeRatio; in combineMaskedLoad()
29086 unsigned NumElems = VT.getVectorNumElements(); in combineMaskedStore() local
29104 assert (isPowerOf2_32(NumElems * FromSz * ToSz) && in combineMaskedStore()
29108 assert (((NumElems * FromSz) % ToSz) == 0 && in combineMaskedStore()
29112 assert(SizeRatio * NumElems * ToSz == VT.getSizeInBits()); in combineMaskedStore()
29116 StVT.getScalarType(), NumElems*SizeRatio); in combineMaskedStore()
29121 SmallVector<int, 16> ShuffleVec(NumElems * SizeRatio, -1); in combineMaskedStore()
29122 for (unsigned i = 0; i != NumElems; ++i) in combineMaskedStore()
29138 for (unsigned i = 0; i != NumElems; ++i) in combineMaskedStore()
29140 for (unsigned i = NumElems; i != NumElems*SizeRatio; ++i) in combineMaskedStore()
29141 ShuffleVec[i] = NumElems*SizeRatio; in combineMaskedStore()
29147 unsigned WidenNumElts = NumElems*SizeRatio; in combineMaskedStore()
29185 unsigned NumElems = VT.getVectorNumElements(); in combineStore() local
29186 if (NumElems < 2) in combineStore()
29190 SDValue Value1 = extract128BitVector(StoredVal, NumElems / 2, DAG, dl); in combineStore()
29219 unsigned NumElems = VT.getVectorNumElements(); in combineStore() local
29232 if (!isPowerOf2_32(NumElems * FromSz * ToSz)) return SDValue(); in combineStore()
29235 if (0 != (NumElems * FromSz) % ToSz) return SDValue(); in combineStore()
29239 assert(SizeRatio * NumElems * ToSz == VT.getSizeInBits()); in combineStore()
29243 StVT.getScalarType(), NumElems*SizeRatio); in combineStore()
29248 SmallVector<int, 8> ShuffleVec(NumElems * SizeRatio, -1); in combineStore()
29249 for (unsigned i = 0; i != NumElems; ++i) in combineStore()
29265 if (TLI.isTypeLegal(Tp) && Tp.getSizeInBits() <= NumElems * ToSz) in combineStore()
29271 (64 <= NumElems * ToSz)) in combineStore()
29283 for (unsigned i=0, e=(ToSz*NumElems)/StoreType.getSizeInBits(); i!=e; ++i) { in combineStore()
29668 unsigned NumElems = OutVT.getVectorNumElements(); in combineVectorTruncation() local
29679 (OutSVT == MVT::i8 || OutSVT == MVT::i16) && isPowerOf2_32(NumElems) && in combineVectorTruncation()
29680 NumElems >= 8)) in combineVectorTruncation()
29684 if (Subtarget.hasSSSE3() && NumElems == 8 && in combineVectorTruncation()