Lines Matching refs:NumParts

149                                       const SDValue *Parts, unsigned NumParts,
159 const SDValue *Parts, unsigned NumParts, in getCopyFromParts() argument
165 if (SDValue Val = TLI.joinRegisterPartsIntoValue(DAG, DL, Parts, NumParts, in getCopyFromParts()
170 return getCopyFromPartsVector(DAG, DL, Parts, NumParts, PartVT, ValueVT, V, in getCopyFromParts()
173 assert(NumParts > 0 && "No parts to assemble!"); in getCopyFromParts()
176 if (NumParts > 1) { in getCopyFromParts()
184 (NumParts & (NumParts - 1)) ? 1 << Log2_32(NumParts) : NumParts; in getCopyFromParts()
207 if (RoundParts < NumParts) { in getCopyFromParts()
209 unsigned OddParts = NumParts - RoundParts; in getCopyFromParts()
218 EVT TotalVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyFromParts()
242 Val = getCopyFromParts(DAG, DL, Parts, NumParts, PartVT, IntVT, V, CC); in getCopyFromParts()
321 const SDValue *Parts, unsigned NumParts, in getCopyFromPartsVector() argument
325 assert(NumParts > 0 && "No parts to assemble!"); in getCopyFromPartsVector()
332 if (NumParts > 1) { in getCopyFromPartsVector()
348 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!"); in getCopyFromPartsVector()
349 NumParts = NumRegs; // Silence a compiler warning. in getCopyFromPartsVector()
357 if (NumIntermediates == NumParts) { in getCopyFromPartsVector()
360 for (unsigned i = 0; i != NumParts; ++i) in getCopyFromPartsVector()
363 } else if (NumParts > 0) { in getCopyFromPartsVector()
366 assert(NumParts % NumIntermediates == 0 && in getCopyFromPartsVector()
368 unsigned Factor = NumParts / NumIntermediates; in getCopyFromPartsVector()
380 IntermediateVT.getVectorElementCount() * NumParts) in getCopyFromPartsVector()
462 SDValue Val, SDValue *Parts, unsigned NumParts,
470 SDValue *Parts, unsigned NumParts, MVT PartVT, in getCopyToParts() argument
476 if (TLI.splitValueIntoRegisterParts(DAG, DL, Val, Parts, NumParts, PartVT, in getCopyToParts()
483 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V, in getCopyToParts()
487 unsigned OrigNumParts = NumParts; in getCopyToParts()
491 if (NumParts == 0) in getCopyToParts()
497 assert(NumParts == 1 && "No-op copy with multiple parts!"); in getCopyToParts()
502 if (NumParts * PartBits > ValueVT.getSizeInBits()) { in getCopyToParts()
505 assert(NumParts == 1 && "Do not know what to promote to!"); in getCopyToParts()
517 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
524 assert(NumParts == 1 && PartEVT != ValueVT); in getCopyToParts()
526 } else if (NumParts * PartBits < ValueVT.getSizeInBits()) { in getCopyToParts()
531 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
539 assert(NumParts * PartBits == ValueVT.getSizeInBits() && in getCopyToParts()
542 if (NumParts == 1) { in getCopyToParts()
554 if (NumParts & (NumParts - 1)) { in getCopyToParts()
558 unsigned RoundParts = 1 << Log2_32(NumParts); in getCopyToParts()
560 unsigned OddParts = NumParts - RoundParts; in getCopyToParts()
569 std::reverse(Parts + RoundParts, Parts + NumParts); in getCopyToParts()
571 NumParts = RoundParts; in getCopyToParts()
572 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
583 for (unsigned StepSize = NumParts; StepSize > 1; StepSize /= 2) { in getCopyToParts()
584 for (unsigned i = 0; i < NumParts; i += StepSize) { in getCopyToParts()
644 SDValue Val, SDValue *Parts, unsigned NumParts, in getCopyToPartsVector() argument
652 if (NumParts == 1) { in getCopyToPartsVector()
714 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!"); in getCopyToPartsVector()
715 NumParts = NumRegs; // Silence a compiler warning. in getCopyToPartsVector()
770 if (NumParts == NumIntermediates) { in getCopyToPartsVector()
773 for (unsigned i = 0; i != NumParts; ++i) in getCopyToPartsVector()
775 } else if (NumParts > 0) { in getCopyToPartsVector()
779 assert(NumParts % NumIntermediates == 0 && in getCopyToPartsVector()
781 unsigned Factor = NumParts / NumIntermediates; in getCopyToPartsVector()
915 unsigned NumParts = RegCount[Value]; in getCopyToRegs() local
926 NumParts, RegisterVT, V, CallConv, ExtendKind); in getCopyToRegs()
927 Part += NumParts; in getCopyToRegs()
1987 unsigned NumParts = TLI.getNumRegistersForCallingConv(Context, CC, VT); in visitRet() local
1989 SmallVector<SDValue, 4> Parts(NumParts); in visitRet()
1992 &Parts[0], NumParts, PartVT, &I, CC, ExtendKind); in visitRet()
2017 for (unsigned i = 0; i < NumParts; ++i) { in visitRet()
9856 unsigned NumParts = getNumRegistersForCallingConv(CLI.RetTy->getContext(), in LowerCallTo() local
9858 SmallVector<SDValue, 4> Parts(NumParts); in LowerCallTo()
9885 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) || in LowerCallTo()
9891 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, CLI.CB, in LowerCallTo()
9894 for (unsigned j = 0; j != NumParts; ++j) { in LowerCallTo()
9902 if (NumParts > 1 && j == 0) in LowerCallTo()
9906 if (j == NumParts - 1) in LowerCallTo()
10535 unsigned NumParts = TLI->getNumRegistersForCallingConv( in LowerArguments() local
10548 ArgValues.push_back(getCopyFromParts(DAG, dl, &InVals[i], NumParts, in LowerArguments()
10553 i += NumParts; in LowerArguments()