Lines Matching refs:NumParts
99 const SDValue *Parts, unsigned NumParts,
109 unsigned NumParts, MVT PartVT, EVT ValueVT, in getCopyFromParts() argument
113 return getCopyFromPartsVector(DAG, DL, Parts, NumParts, in getCopyFromParts()
116 assert(NumParts > 0 && "No parts to assemble!"); in getCopyFromParts()
120 if (NumParts > 1) { in getCopyFromParts()
127 unsigned RoundParts = NumParts & (NumParts - 1) ? in getCopyFromParts()
128 1 << Log2_32(NumParts) : NumParts; in getCopyFromParts()
151 if (RoundParts < NumParts) { in getCopyFromParts()
153 unsigned OddParts = NumParts - RoundParts; in getCopyFromParts()
162 EVT TotalVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyFromParts()
185 Val = getCopyFromParts(DAG, DL, Parts, NumParts, PartVT, IntVT, V); in getCopyFromParts()
243 const SDValue *Parts, unsigned NumParts, in getCopyFromPartsVector() argument
246 assert(NumParts > 0 && "No parts to assemble!"); in getCopyFromPartsVector()
251 if (NumParts > 1) { in getCopyFromPartsVector()
258 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!"); in getCopyFromPartsVector()
259 NumParts = NumRegs; // Silence a compiler warning. in getCopyFromPartsVector()
266 if (NumIntermediates == NumParts) { in getCopyFromPartsVector()
269 for (unsigned i = 0; i != NumParts; ++i) in getCopyFromPartsVector()
272 } else if (NumParts > 0) { in getCopyFromPartsVector()
275 assert(NumParts % NumIntermediates == 0 && in getCopyFromPartsVector()
277 unsigned Factor = NumParts / NumIntermediates; in getCopyFromPartsVector()
345 SDValue Val, SDValue *Parts, unsigned NumParts,
352 SDValue Val, SDValue *Parts, unsigned NumParts, in getCopyToParts() argument
359 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V); in getCopyToParts()
363 unsigned OrigNumParts = NumParts; in getCopyToParts()
366 if (NumParts == 0) in getCopyToParts()
372 assert(NumParts == 1 && "No-op copy with multiple parts!"); in getCopyToParts()
377 if (NumParts * PartBits > ValueVT.getSizeInBits()) { in getCopyToParts()
380 assert(NumParts == 1 && "Do not know what to promote to!"); in getCopyToParts()
386 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
393 assert(NumParts == 1 && PartEVT != ValueVT); in getCopyToParts()
395 } else if (NumParts * PartBits < ValueVT.getSizeInBits()) { in getCopyToParts()
400 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
408 assert(NumParts * PartBits == ValueVT.getSizeInBits() && in getCopyToParts()
411 if (NumParts == 1) { in getCopyToParts()
421 if (NumParts & (NumParts - 1)) { in getCopyToParts()
425 unsigned RoundParts = 1 << Log2_32(NumParts); in getCopyToParts()
427 unsigned OddParts = NumParts - RoundParts; in getCopyToParts()
434 std::reverse(Parts + RoundParts, Parts + NumParts); in getCopyToParts()
436 NumParts = RoundParts; in getCopyToParts()
437 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
448 for (unsigned StepSize = NumParts; StepSize > 1; StepSize /= 2) { in getCopyToParts()
449 for (unsigned i = 0; i < NumParts; i += StepSize) { in getCopyToParts()
475 SDValue Val, SDValue *Parts, unsigned NumParts, in getCopyToPartsVector() argument
481 if (NumParts == 1) { in getCopyToPartsVector()
544 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!"); in getCopyToPartsVector()
545 NumParts = NumRegs; // Silence a compiler warning. in getCopyToPartsVector()
563 if (NumParts == NumIntermediates) { in getCopyToPartsVector()
566 for (unsigned i = 0; i != NumParts; ++i) in getCopyToPartsVector()
568 } else if (NumParts > 0) { in getCopyToPartsVector()
572 assert(NumParts % NumIntermediates == 0 && in getCopyToPartsVector()
574 unsigned Factor = NumParts / NumIntermediates; in getCopyToPartsVector()
782 unsigned NumParts = TLI.getNumRegisters(*DAG.getContext(), ValueVT); in getCopyToRegs() local
789 &Parts[Part], NumParts, RegisterVT, V, ExtendKind); in getCopyToRegs()
790 Part += NumParts; in getCopyToRegs()
1278 unsigned NumParts = TLI.getNumRegisters(Context, VT); in visitRet() local
1280 SmallVector<SDValue, 4> Parts(NumParts); in visitRet()
1283 &Parts[0], NumParts, PartVT, &I, ExtendKind); in visitRet()
1296 for (unsigned i = 0; i < NumParts; ++i) { in visitRet()
7280 unsigned NumParts = getNumRegisters(CLI.RetTy->getContext(), VT); in LowerCallTo() local
7281 SmallVector<SDValue, 4> Parts(NumParts); in LowerCallTo()
7303 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) || in LowerCallTo()
7309 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, in LowerCallTo()
7312 for (unsigned j = 0; j != NumParts; ++j) { in LowerCallTo()
7317 if (NumParts > 1 && j == 0) in LowerCallTo()
7635 unsigned NumParts = TLI->getNumRegisters(*CurDAG->getContext(), VT); in LowerArguments() local
7645 NumParts, PartVT, VT, in LowerArguments()
7649 i += NumParts; in LowerArguments()