Lines Matching refs:NumParts

189                                       const SDValue *Parts, unsigned NumParts,
199 const SDValue *Parts, unsigned NumParts, in getCopyFromParts() argument
204 return getCopyFromPartsVector(DAG, DL, Parts, NumParts, PartVT, ValueVT, V, in getCopyFromParts()
207 assert(NumParts > 0 && "No parts to assemble!"); in getCopyFromParts()
211 if (NumParts > 1) { in getCopyFromParts()
218 unsigned RoundParts = NumParts & (NumParts - 1) ? in getCopyFromParts()
219 1 << Log2_32(NumParts) : NumParts; in getCopyFromParts()
242 if (RoundParts < NumParts) { in getCopyFromParts()
244 unsigned OddParts = NumParts - RoundParts; in getCopyFromParts()
253 EVT TotalVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyFromParts()
277 Val = getCopyFromParts(DAG, DL, Parts, NumParts, PartVT, IntVT, V, CC); in getCopyFromParts()
348 const SDValue *Parts, unsigned NumParts, in getCopyFromPartsVector() argument
352 assert(NumParts > 0 && "No parts to assemble!"); in getCopyFromPartsVector()
359 if (NumParts > 1) { in getCopyFromPartsVector()
375 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!"); in getCopyFromPartsVector()
376 NumParts = NumRegs; // Silence a compiler warning. in getCopyFromPartsVector()
384 if (NumIntermediates == NumParts) { in getCopyFromPartsVector()
387 for (unsigned i = 0; i != NumParts; ++i) in getCopyFromPartsVector()
390 } else if (NumParts > 0) { in getCopyFromPartsVector()
393 assert(NumParts % NumIntermediates == 0 && in getCopyFromPartsVector()
395 unsigned Factor = NumParts / NumIntermediates; in getCopyFromPartsVector()
406 ? IntermediateVT.getVectorNumElements() * NumParts in getCopyFromPartsVector()
481 SDValue Val, SDValue *Parts, unsigned NumParts,
489 SDValue *Parts, unsigned NumParts, MVT PartVT, in getCopyToParts() argument
497 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V, in getCopyToParts()
501 unsigned OrigNumParts = NumParts; in getCopyToParts()
505 if (NumParts == 0) in getCopyToParts()
511 assert(NumParts == 1 && "No-op copy with multiple parts!"); in getCopyToParts()
516 if (NumParts * PartBits > ValueVT.getSizeInBits()) { in getCopyToParts()
519 assert(NumParts == 1 && "Do not know what to promote to!"); in getCopyToParts()
531 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
538 assert(NumParts == 1 && PartEVT != ValueVT); in getCopyToParts()
540 } else if (NumParts * PartBits < ValueVT.getSizeInBits()) { in getCopyToParts()
545 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
553 assert(NumParts * PartBits == ValueVT.getSizeInBits() && in getCopyToParts()
556 if (NumParts == 1) { in getCopyToParts()
568 if (NumParts & (NumParts - 1)) { in getCopyToParts()
572 unsigned RoundParts = 1 << Log2_32(NumParts); in getCopyToParts()
574 unsigned OddParts = NumParts - RoundParts; in getCopyToParts()
582 std::reverse(Parts + RoundParts, Parts + NumParts); in getCopyToParts()
584 NumParts = RoundParts; in getCopyToParts()
585 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
596 for (unsigned StepSize = NumParts; StepSize > 1; StepSize /= 2) { in getCopyToParts()
597 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()
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()
1638 unsigned NumParts = TLI.getNumRegistersForCallingConv(Context, CC, VT); in visitRet() local
1640 SmallVector<SDValue, 4> Parts(NumParts); in visitRet()
1643 &Parts[0], NumParts, PartVT, &I, CC, ExtendKind); in visitRet()
1656 for (unsigned i = 0; i < NumParts; ++i) { in visitRet()
8610 unsigned NumParts = getNumRegistersForCallingConv(CLI.RetTy->getContext(), in LowerCallTo() local
8612 SmallVector<SDValue, 4> Parts(NumParts); in LowerCallTo()
8636 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) || in LowerCallTo()
8642 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, in LowerCallTo()
8645 for (unsigned j = 0; j != NumParts; ++j) { in LowerCallTo()
8650 if (NumParts > 1 && j == 0) in LowerCallTo()
8654 if (j == NumParts - 1) in LowerCallTo()
9214 unsigned NumParts = TLI->getNumRegistersForCallingConv( in LowerArguments() local
9227 ArgValues.push_back(getCopyFromParts(DAG, dl, &InVals[i], NumParts, in LowerArguments()
9232 i += NumParts; in LowerArguments()