Lines Matching refs:NumParts

120                                       const SDValue *Parts, unsigned NumParts,
129 const SDValue *Parts, unsigned NumParts, in getCopyFromParts() argument
133 return getCopyFromPartsVector(DAG, DL, Parts, NumParts, in getCopyFromParts()
136 assert(NumParts > 0 && "No parts to assemble!"); in getCopyFromParts()
140 if (NumParts > 1) { in getCopyFromParts()
147 unsigned RoundParts = NumParts & (NumParts - 1) ? in getCopyFromParts()
148 1 << Log2_32(NumParts) : NumParts; in getCopyFromParts()
171 if (RoundParts < NumParts) { in getCopyFromParts()
173 unsigned OddParts = NumParts - RoundParts; in getCopyFromParts()
182 EVT TotalVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyFromParts()
206 Val = getCopyFromParts(DAG, DL, Parts, NumParts, PartVT, IntVT, V); in getCopyFromParts()
277 const SDValue *Parts, unsigned NumParts, in getCopyFromPartsVector() argument
280 assert(NumParts > 0 && "No parts to assemble!"); in getCopyFromPartsVector()
285 if (NumParts > 1) { in getCopyFromPartsVector()
292 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!"); in getCopyFromPartsVector()
293 NumParts = NumRegs; // Silence a compiler warning. in getCopyFromPartsVector()
301 if (NumIntermediates == NumParts) { in getCopyFromPartsVector()
304 for (unsigned i = 0; i != NumParts; ++i) in getCopyFromPartsVector()
307 } else if (NumParts > 0) { in getCopyFromPartsVector()
310 assert(NumParts % NumIntermediates == 0 && in getCopyFromPartsVector()
312 unsigned Factor = NumParts / NumIntermediates; in getCopyFromPartsVector()
376 SDValue Val, SDValue *Parts, unsigned NumParts,
383 SDValue *Parts, unsigned NumParts, MVT PartVT, in getCopyToParts() argument
390 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V); in getCopyToParts()
393 unsigned OrigNumParts = NumParts; in getCopyToParts()
397 if (NumParts == 0) in getCopyToParts()
403 assert(NumParts == 1 && "No-op copy with multiple parts!"); in getCopyToParts()
408 if (NumParts * PartBits > ValueVT.getSizeInBits()) { in getCopyToParts()
411 assert(NumParts == 1 && "Do not know what to promote to!"); in getCopyToParts()
423 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
430 assert(NumParts == 1 && PartEVT != ValueVT); in getCopyToParts()
432 } else if (NumParts * PartBits < ValueVT.getSizeInBits()) { in getCopyToParts()
437 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
445 assert(NumParts * PartBits == ValueVT.getSizeInBits() && in getCopyToParts()
448 if (NumParts == 1) { in getCopyToParts()
460 if (NumParts & (NumParts - 1)) { in getCopyToParts()
464 unsigned RoundParts = 1 << Log2_32(NumParts); in getCopyToParts()
466 unsigned OddParts = NumParts - RoundParts; in getCopyToParts()
473 std::reverse(Parts + RoundParts, Parts + NumParts); in getCopyToParts()
475 NumParts = RoundParts; in getCopyToParts()
476 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
487 for (unsigned StepSize = NumParts; StepSize > 1; StepSize /= 2) { in getCopyToParts()
488 for (unsigned i = 0; i < NumParts; i += StepSize) { in getCopyToParts()
514 SDValue Val, SDValue *Parts, unsigned NumParts, in getCopyToPartsVector() argument
520 if (NumParts == 1) { in getCopyToPartsVector()
580 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!"); in getCopyToPartsVector()
581 NumParts = NumRegs; // Silence a compiler warning. in getCopyToPartsVector()
599 if (NumParts == NumIntermediates) { in getCopyToPartsVector()
602 for (unsigned i = 0; i != NumParts; ++i) in getCopyToPartsVector()
604 } else if (NumParts > 0) { in getCopyToPartsVector()
608 assert(NumParts % NumIntermediates == 0 && in getCopyToPartsVector()
610 unsigned Factor = NumParts / NumIntermediates; in getCopyToPartsVector()
757 unsigned NumParts = TLI.getNumRegisters(*DAG.getContext(), ValueVT); in getCopyToRegs() local
764 &Parts[Part], NumParts, RegisterVT, V, ExtendKind); in getCopyToRegs()
765 Part += NumParts; in getCopyToRegs()
1462 unsigned NumParts = TLI.getNumRegisters(Context, VT); in visitRet() local
1464 SmallVector<SDValue, 4> Parts(NumParts); in visitRet()
1467 &Parts[0], NumParts, PartVT, &I, ExtendKind); in visitRet()
1480 for (unsigned i = 0; i < NumParts; ++i) { in visitRet()
7628 unsigned NumParts = getNumRegisters(CLI.RetTy->getContext(), VT); in LowerCallTo() local
7629 SmallVector<SDValue, 4> Parts(NumParts); in LowerCallTo()
7651 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) || in LowerCallTo()
7657 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, in LowerCallTo()
7660 for (unsigned j = 0; j != NumParts; ++j) { in LowerCallTo()
7665 if (NumParts > 1 && j == 0) in LowerCallTo()
7669 if (j == NumParts - 1) in LowerCallTo()
8011 unsigned NumParts = TLI->getNumRegisters(*CurDAG->getContext(), VT); in LowerArguments() local
8021 NumParts, PartVT, VT, in LowerArguments()
8025 i += NumParts; in LowerArguments()