Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:NumParts

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