Lines Matching refs:NumParts

49   unsigned NumParts = Size / NarrowSize;  in getNarrowTypeBreakDown()  local
50 unsigned LeftoverSize = Size - NumParts * NarrowSize; in getNarrowTypeBreakDown()
54 return {NumParts, 0}; in getNarrowTypeBreakDown()
66 return std::make_pair(NumParts, NumLeftover); in getNarrowTypeBreakDown()
147 void LegalizerHelper::extractParts(Register Reg, LLT Ty, int NumParts, in extractParts() argument
149 for (int i = 0; i < NumParts; ++i) in extractParts()
162 unsigned NumParts = RegSize / MainSize; in extractParts() local
163 unsigned LeftoverSize = RegSize - NumParts * MainSize; in extractParts()
167 for (unsigned I = 0; I < NumParts; ++I) in extractParts()
183 for (unsigned I = 0; I != NumParts; ++I) { in extractParts()
189 for (unsigned Offset = MainSize * NumParts; Offset < RegSize; in extractParts()
283 int NumParts = LCMTy.getSizeInBits() / NarrowTy.getSizeInBits(); in buildLCMMergePieces() local
291 if (NumOrigSrc < NumParts * NumSubParts) { in buildLCMMergePieces()
307 SmallVector<Register, 4> Remerge(NumParts); in buildLCMMergePieces()
318 for (int I = 0; I != NumParts; ++I) { in buildLCMMergePieces()
811 int NumParts = SizeOp0 / NarrowSize; in narrowScalar() local
814 for (int i = 0; i < NumParts; ++i) in narrowScalar()
829 int NumParts = TotalSize / NarrowSize; in narrowScalar() local
832 for (int I = 0; I != NumParts; ++I) { in narrowScalar()
840 unsigned LeftoverBits = TotalSize - NumParts * NarrowSize; in narrowScalar()
846 Val.lshr(NumParts * NarrowSize).trunc(LeftoverBits)); in narrowScalar()
948 int NumParts = SizeOp0 / NarrowSize; in narrowScalar() local
949 unsigned HandledSize = NumParts * NarrowTy.getSizeInBits(); in narrowScalar()
1030 unsigned NumParts = SizeOp0 / NarrowSize; in narrowScalar() local
1031 SmallVector<Register, 2> DstRegs(NumParts); in narrowScalar()
1037 extractParts(MI.getOperand(i).getReg(), NarrowTy, NumParts, in narrowScalar()
1042 for (unsigned i = 0; i < NumParts; ++i) { in narrowScalar()
1133 int NumParts = SizeOp0 / NarrowSize; in narrowScalar() local
1141 for (int i = 0; i < NumParts; ++i) { in narrowScalar()
1157 for (int i = 0; i < NumParts; ++i) { in narrowScalar()
1195 unsigned NumParts = SizeOp0 / NarrowSize; in narrowScalar() local
1196 extractParts(MI.getOperand(1).getReg(), NarrowTy, NumParts, SrcRegs); in narrowScalar()
1198 for (unsigned i = 0; i < NumParts; ++i) { in narrowScalar()
1200 {SrcRegs[NumParts - 1 - i]}); in narrowScalar()
1301 unsigned NumParts = NewElts / OldElts; in moreElementsVectorSrc() local
1304 if (NumParts * OldElts == NewElts) { in moreElementsVectorSrc()
1309 for (unsigned I = 1; I != NumParts; ++I) in moreElementsVectorSrc()
3291 unsigned NumParts = LCMTy.getSizeInBits() / NarrowTy.getSizeInBits(); in fewerElementsVectorImplicitDef() local
3294 SmallVector<Register, 8> Parts(NumParts, NewUndef.getReg(0)); in fewerElementsVectorImplicitDef()
3330 int NumParts = getNarrowTypeBreakDown(DstTy, NarrowTy0, LeftoverTy0).first; in fewerElementsVectorMultiEltType() local
3331 if (NumParts < 0) in fewerElementsVectorMultiEltType()
3409 unsigned NumParts; in fewerElementsVectorCasts() local
3413 NumParts = DstTy.getNumElements() / NarrowTy.getNumElements(); in fewerElementsVectorCasts()
3414 if (NumParts * NarrowTy.getNumElements() != DstTy.getNumElements()) in fewerElementsVectorCasts()
3419 NumParts = DstTy.getNumElements(); in fewerElementsVectorCasts()
3424 extractParts(SrcReg, NarrowTy1, NumParts, SrcRegs); in fewerElementsVectorCasts()
3426 for (unsigned I = 0; I < NumParts; ++I) { in fewerElementsVectorCasts()
3452 unsigned NumParts; in fewerElementsVectorCmp() local
3460 NumParts = NarrowTy.isVector() ? (OldElts / NewElts) : DstTy.getNumElements(); in fewerElementsVectorCmp()
3469 NumParts = NarrowTy.isVector() ? (OldElts / NewElts) : in fewerElementsVectorCmp()
3479 NarrowTy1.getNumElements() * NumParts != DstTy.getNumElements()) in fewerElementsVectorCmp()
3486 extractParts(MI.getOperand(2).getReg(), NarrowTy1, NumParts, Src1Regs); in fewerElementsVectorCmp()
3487 extractParts(MI.getOperand(3).getReg(), NarrowTy1, NumParts, Src2Regs); in fewerElementsVectorCmp()
3489 for (unsigned I = 0; I < NumParts; ++I) { in fewerElementsVectorCmp()
3517 unsigned NumParts = 0; in fewerElementsVectorSelect() local
3536 NumParts = Size / NarrowSize; in fewerElementsVectorSelect()
3540 if (CondTy.getNumElements() == NumParts) in fewerElementsVectorSelect()
3543 NarrowTy1 = LLT::vector(CondTy.getNumElements() / NumParts, in fewerElementsVectorSelect()
3547 NumParts = CondTy.getNumElements(); in fewerElementsVectorSelect()
3550 if (NumParts * NarrowTy.getNumElements() != CondTy.getNumElements()) in fewerElementsVectorSelect()
3562 extractParts(MI.getOperand(1).getReg(), NarrowTy1, NumParts, Src0Regs); in fewerElementsVectorSelect()
3564 extractParts(MI.getOperand(2).getReg(), NarrowTy0, NumParts, Src1Regs); in fewerElementsVectorSelect()
3565 extractParts(MI.getOperand(3).getReg(), NarrowTy0, NumParts, Src2Regs); in fewerElementsVectorSelect()
3567 for (unsigned i = 0; i < NumParts; ++i) { in fewerElementsVectorSelect()
3593 int NumParts, NumLeftover; in fewerElementsVectorPhi() local
3594 std::tie(NumParts, NumLeftover) in fewerElementsVectorPhi()
3596 if (NumParts < 0) in fewerElementsVectorPhi()
3602 const int TotalNumParts = NumParts + NumLeftover; in fewerElementsVectorPhi()
3606 LLT Ty = I < NumParts ? NarrowTy : LeftoverTy; in fewerElementsVectorPhi()
3610 if (I < NumParts) in fewerElementsVectorPhi()
3641 MIB.addUse(J < NumParts ? PartRegs[J] : LeftoverRegs[J - NumParts]); in fewerElementsVectorPhi()
3877 int NumParts = -1; in reduceLoadStoreWidth() local
3882 std::tie(NumParts, NumLeftover) = getNarrowTypeBreakDown(ValTy, NarrowTy, LeftoverTy); in reduceLoadStoreWidth()
3886 NumParts = NarrowRegs.size(); in reduceLoadStoreWidth()
3891 if (NumParts == -1) in reduceLoadStoreWidth()
3907 for (unsigned Idx = 0, E = NumParts; Idx != E && Offset < TotalSize; in reduceLoadStoreWidth()
4010 int NumParts = ExtractedRegs[0].size(); in reduceOperationWidth() local
4046 int NumUndefParts = NumParts - NumRealParts; in reduceOperationWidth()
4243 const unsigned NumParts = SrcTy.getNumElements() / NarrowTy.getNumElements(); in fewerElementsVectorReductions() local
4244 extractParts(SrcReg, NarrowTy, NumParts, SplitSrcs); in fewerElementsVectorReductions()
4246 for (unsigned Part = 0; Part < NumParts; ++Part) { in fewerElementsVectorReductions()
4305 for (unsigned Part = 1; Part < NumParts; ++Part) { in fewerElementsVectorReductions()
4306 if (Part == NumParts - 1) { in fewerElementsVectorReductions()
4746 int NumParts = SizeOp0 / NarrowTy.getSizeInBits(); in narrowScalarAddSub() local
4789 extractParts(Src1, NarrowTy, NumParts, Src1Regs); in narrowScalarAddSub()
4790 extractParts(Src2, NarrowTy, NumParts, Src2Regs); in narrowScalarAddSub()
4792 for (int i = 0; i < NumParts; ++i) { in narrowScalarAddSub()
4796 if (i == NumParts - 1 && CarryDst) in narrowScalarAddSub()
4802 } else if (i == NumParts - 1) { in narrowScalarAddSub()
4891 int NumParts = SizeOp1 / NarrowSize; in narrowScalarExtract() local
4895 extractParts(MI.getOperand(1).getReg(), NarrowTy, NumParts, SrcRegs); in narrowScalarExtract()
4900 for (int i = 0; i < NumParts; ++i) { in narrowScalarExtract()
4960 int NumParts = SizeOp0 / NarrowSize; in narrowScalarInsert() local
4964 extractParts(MI.getOperand(1).getReg(), NarrowTy, NumParts, SrcRegs); in narrowScalarInsert()
4969 for (int i = 0; i < NumParts; ++i) { in narrowScalarInsert()
5010 assert(DstRegs.size() == (unsigned)NumParts && "not all parts covered"); in narrowScalarInsert()