Lines Matching refs:NumParts
155 const SDValue *Parts, unsigned NumParts,
165 const SDValue *Parts, unsigned NumParts, in getCopyFromParts() argument
171 if (SDValue Val = TLI.joinRegisterPartsIntoValue(DAG, DL, Parts, NumParts, in getCopyFromParts()
176 return getCopyFromPartsVector(DAG, DL, Parts, NumParts, PartVT, ValueVT, V, in getCopyFromParts()
179 assert(NumParts > 0 && "No parts to assemble!"); in getCopyFromParts()
182 if (NumParts > 1) { in getCopyFromParts()
190 (NumParts & (NumParts - 1)) ? 1 << Log2_32(NumParts) : NumParts; in getCopyFromParts()
213 if (RoundParts < NumParts) { in getCopyFromParts()
215 unsigned OddParts = NumParts - RoundParts; in getCopyFromParts()
224 EVT TotalVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyFromParts()
248 Val = getCopyFromParts(DAG, DL, Parts, NumParts, PartVT, IntVT, V, CC); in getCopyFromParts()
327 const SDValue *Parts, unsigned NumParts, in getCopyFromPartsVector() argument
331 assert(NumParts > 0 && "No parts to assemble!"); in getCopyFromPartsVector()
338 if (NumParts > 1) { in getCopyFromPartsVector()
354 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!"); in getCopyFromPartsVector()
355 NumParts = NumRegs; // Silence a compiler warning. in getCopyFromPartsVector()
363 if (NumIntermediates == NumParts) { in getCopyFromPartsVector()
366 for (unsigned i = 0; i != NumParts; ++i) in getCopyFromPartsVector()
369 } else if (NumParts > 0) { in getCopyFromPartsVector()
372 assert(NumParts % NumIntermediates == 0 && in getCopyFromPartsVector()
374 unsigned Factor = NumParts / NumIntermediates; in getCopyFromPartsVector()
386 IntermediateVT.getVectorElementCount() * NumParts) in getCopyFromPartsVector()
466 SDValue Val, SDValue *Parts, unsigned NumParts,
474 SDValue *Parts, unsigned NumParts, MVT PartVT, in getCopyToParts() argument
480 if (TLI.splitValueIntoRegisterParts(DAG, DL, Val, Parts, NumParts, PartVT, in getCopyToParts()
487 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V, in getCopyToParts()
491 unsigned OrigNumParts = NumParts; in getCopyToParts()
495 if (NumParts == 0) in getCopyToParts()
501 assert(NumParts == 1 && "No-op copy with multiple parts!"); in getCopyToParts()
506 if (NumParts * PartBits > ValueVT.getSizeInBits()) { in getCopyToParts()
509 assert(NumParts == 1 && "Do not know what to promote to!"); in getCopyToParts()
521 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
528 assert(NumParts == 1 && PartEVT != ValueVT); in getCopyToParts()
530 } else if (NumParts * PartBits < ValueVT.getSizeInBits()) { in getCopyToParts()
535 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
543 assert(NumParts * PartBits == ValueVT.getSizeInBits() && in getCopyToParts()
546 if (NumParts == 1) { in getCopyToParts()
558 if (NumParts & (NumParts - 1)) { in getCopyToParts()
562 unsigned RoundParts = 1 << Log2_32(NumParts); in getCopyToParts()
564 unsigned OddParts = NumParts - RoundParts; in getCopyToParts()
573 std::reverse(Parts + RoundParts, Parts + NumParts); in getCopyToParts()
575 NumParts = RoundParts; in getCopyToParts()
576 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
587 for (unsigned StepSize = NumParts; StepSize > 1; StepSize /= 2) { in getCopyToParts()
588 for (unsigned i = 0; i < NumParts; i += StepSize) { in getCopyToParts()
648 SDValue Val, SDValue *Parts, unsigned NumParts, in getCopyToPartsVector() argument
656 if (NumParts == 1) { in getCopyToPartsVector()
707 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!"); in getCopyToPartsVector()
708 NumParts = NumRegs; // Silence a compiler warning. in getCopyToPartsVector()
759 if (NumParts == NumIntermediates) { in getCopyToPartsVector()
762 for (unsigned i = 0; i != NumParts; ++i) in getCopyToPartsVector()
764 } else if (NumParts > 0) { in getCopyToPartsVector()
768 assert(NumParts % NumIntermediates == 0 && in getCopyToPartsVector()
770 unsigned Factor = NumParts / NumIntermediates; in getCopyToPartsVector()
904 unsigned NumParts = RegCount[Value]; in getCopyToRegs() local
915 NumParts, RegisterVT, V, CallConv, ExtendKind); in getCopyToRegs()
916 Part += NumParts; in getCopyToRegs()
1967 unsigned NumParts = TLI.getNumRegistersForCallingConv(Context, CC, VT); in visitRet() local
1969 SmallVector<SDValue, 4> Parts(NumParts); in visitRet()
1972 &Parts[0], NumParts, PartVT, &I, CC, ExtendKind); in visitRet()
1997 for (unsigned i = 0; i < NumParts; ++i) { in visitRet()
9634 unsigned NumParts = getNumRegistersForCallingConv(CLI.RetTy->getContext(), in LowerCallTo() local
9636 SmallVector<SDValue, 4> Parts(NumParts); in LowerCallTo()
9663 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) || in LowerCallTo()
9669 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, CLI.CB, in LowerCallTo()
9672 for (unsigned j = 0; j != NumParts; ++j) { in LowerCallTo()
9679 if (NumParts > 1 && j == 0) in LowerCallTo()
9683 if (j == NumParts - 1) in LowerCallTo()
10310 unsigned NumParts = TLI->getNumRegistersForCallingConv( in LowerArguments() local
10323 ArgValues.push_back(getCopyFromParts(DAG, dl, &InVals[i], NumParts, in LowerArguments()
10328 i += NumParts; in LowerArguments()