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()
469 SDValue Val, SDValue *Parts, unsigned NumParts,
477 SDValue *Parts, unsigned NumParts, MVT PartVT, in getCopyToParts() argument
483 if (TLI.splitValueIntoRegisterParts(DAG, DL, Val, Parts, NumParts, PartVT, in getCopyToParts()
490 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V, in getCopyToParts()
494 unsigned OrigNumParts = NumParts; in getCopyToParts()
498 if (NumParts == 0) in getCopyToParts()
504 assert(NumParts == 1 && "No-op copy with multiple parts!"); in getCopyToParts()
509 if (NumParts * PartBits > ValueVT.getSizeInBits()) { in getCopyToParts()
512 assert(NumParts == 1 && "Do not know what to promote to!"); in getCopyToParts()
524 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
531 assert(NumParts == 1 && PartEVT != ValueVT); in getCopyToParts()
533 } else if (NumParts * PartBits < ValueVT.getSizeInBits()) { in getCopyToParts()
538 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
546 assert(NumParts * PartBits == ValueVT.getSizeInBits() && in getCopyToParts()
549 if (NumParts == 1) { in getCopyToParts()
561 if (NumParts & (NumParts - 1)) { in getCopyToParts()
565 unsigned RoundParts = 1 << Log2_32(NumParts); in getCopyToParts()
567 unsigned OddParts = NumParts - RoundParts; in getCopyToParts()
576 std::reverse(Parts + RoundParts, Parts + NumParts); in getCopyToParts()
578 NumParts = RoundParts; in getCopyToParts()
579 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
590 for (unsigned StepSize = NumParts; StepSize > 1; StepSize /= 2) { in getCopyToParts()
591 for (unsigned i = 0; i < NumParts; i += StepSize) { in getCopyToParts()
642 SDValue Val, SDValue *Parts, unsigned NumParts, in getCopyToPartsVector() argument
650 if (NumParts == 1) { in getCopyToPartsVector()
701 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!"); in getCopyToPartsVector()
702 NumParts = NumRegs; // Silence a compiler warning. in getCopyToPartsVector()
741 if (NumParts == NumIntermediates) { in getCopyToPartsVector()
744 for (unsigned i = 0; i != NumParts; ++i) in getCopyToPartsVector()
746 } else if (NumParts > 0) { in getCopyToPartsVector()
750 assert(NumParts % NumIntermediates == 0 && in getCopyToPartsVector()
752 unsigned Factor = NumParts / NumIntermediates; in getCopyToPartsVector()
886 unsigned NumParts = RegCount[Value]; in getCopyToRegs() local
897 NumParts, RegisterVT, V, CallConv, ExtendKind); in getCopyToRegs()
898 Part += NumParts; in getCopyToRegs()
1854 unsigned NumParts = TLI.getNumRegistersForCallingConv(Context, CC, VT); in visitRet() local
1856 SmallVector<SDValue, 4> Parts(NumParts); in visitRet()
1859 &Parts[0], NumParts, PartVT, &I, CC, ExtendKind); in visitRet()
1884 for (unsigned i = 0; i < NumParts; ++i) { in visitRet()
9334 unsigned NumParts = getNumRegistersForCallingConv(CLI.RetTy->getContext(), in LowerCallTo() local
9336 SmallVector<SDValue, 4> Parts(NumParts); in LowerCallTo()
9363 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) || in LowerCallTo()
9369 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, CLI.CB, in LowerCallTo()
9372 for (unsigned j = 0; j != NumParts; ++j) { in LowerCallTo()
9379 if (NumParts > 1 && j == 0) in LowerCallTo()
9383 if (j == NumParts - 1) in LowerCallTo()
10005 unsigned NumParts = TLI->getNumRegistersForCallingConv( in LowerArguments() local
10018 ArgValues.push_back(getCopyFromParts(DAG, dl, &InVals[i], NumParts, in LowerArguments()
10023 i += NumParts; in LowerArguments()