Lines Matching defs:PartVT
159 MVT PartVT, EVT ValueVT, const Value *V,
170 unsigned NumParts, MVT PartVT, EVT ValueVT, const Value *V,
177 PartVT, ValueVT, CC))
181 return getCopyFromPartsVector(DAG, DL, Parts, NumParts, PartVT, ValueVT, V,
190 unsigned PartBits = PartVT.getSizeInBits();
203 Lo = getCopyFromParts(DAG, DL, Parts, RoundParts / 2, PartVT, HalfVT, V,
206 PartVT, HalfVT, V, InChain);
221 Hi = getCopyFromParts(DAG, DL, Parts + RoundParts, OddParts, PartVT,
237 } else if (PartVT.isFloatingPoint()) {
239 assert(ValueVT == EVT(MVT::ppcf128) && PartVT == MVT::f64 &&
249 assert(ValueVT.isFloatingPoint() && PartVT.isInteger() &&
250 !PartVT.isVector() && "Unexpected split");
252 Val = getCopyFromParts(DAG, DL, Parts, NumParts, PartVT, IntVT, V,
343 MVT PartVT, EVT ValueVT, const Value *V,
372 assert(RegisterVT == PartVT && "Part type doesn't match vector breakdown!");
383 Ops[i] = getCopyFromParts(DAG, DL, &Parts[i], 1, PartVT, IntermediateVT,
392 Ops[i] = getCopyFromParts(DAG, DL, &Parts[i * Factor], Factor, PartVT,
500 MVT PartVT, const Value *V,
508 unsigned NumParts, MVT PartVT, const Value *V,
513 if (TLI.splitValueIntoRegisterParts(DAG, DL, Val, Parts, NumParts, PartVT,
520 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V,
524 assert(DAG.getTargetLoweringInfo().isTypeLegal(PartVT) &&
531 EVT PartEVT = PartVT;
538 unsigned PartBits = PartVT.getSizeInBits();
541 if (PartVT.isFloatingPoint() && ValueVT.isFloatingPoint()) {
543 Val = DAG.getNode(ISD::FP_EXTEND, DL, PartVT, Val);
551 assert((PartVT.isInteger() || PartVT == MVT::x86mmx) &&
556 if (PartVT == MVT::x86mmx)
557 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val);
562 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val);
565 assert((PartVT.isInteger() || PartVT == MVT::x86mmx) &&
570 if (PartVT == MVT::x86mmx)
571 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val);
577 "Failed to tile the value with PartVT!");
583 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val);
593 assert(PartVT.isInteger() && ValueVT.isInteger() &&
601 getCopyToParts(DAG, DL, OddVal, Parts + RoundParts, OddParts, PartVT, V,
632 if (ThisBits == PartBits && ThisVT != PartVT) {
633 Part0 = DAG.getNode(ISD::BITCAST, DL, PartVT, Part0);
634 Part1 = DAG.getNode(ISD::BITCAST, DL, PartVT, Part1);
644 const SDLoc &DL, EVT PartVT) {
645 if (!PartVT.isVector())
649 EVT PartEVT = PartVT.getVectorElementType();
651 ElementCount PartNumElts = PartVT.getVectorElementCount();
663 assert(DAG.getTargetLoweringInfo().isTypeLegal(PartVT) &&
674 return DAG.getNode(ISD::INSERT_SUBVECTOR, DL, PartVT, DAG.getUNDEF(PartVT),
685 return DAG.getBuildVector(PartVT, DL, Ops);
692 MVT PartVT, const Value *V,
700 EVT PartEVT = PartVT;
703 } else if (PartVT.getSizeInBits() == ValueVT.getSizeInBits()) {
705 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val);
706 } else if (SDValue Widened = widenVectorToPartType(DAG, Val, DL, PartVT)) {
708 } else if (PartVT.isVector() &&
715 Val = DAG.getAnyExtOrTrunc(Val, DL, PartVT);
724 PartVT.getVectorElementCount());
726 Val = DAG.getAnyExtOrTrunc(Widened, DL, PartVT);
732 (!ValueVT.isFloatingPoint() || !PartVT.isInteger())) {
733 // If we reach this condition and PartVT is FP, this means that
738 if (PartVT.isFloatingPoint()) {
740 Val = DAG.getNode(ISD::FP_EXTEND, DL, PartVT, Val);
742 Val = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, PartVT, Val,
746 assert(PartVT.getFixedSizeInBits() > ValueSize &&
750 Val = DAG.getAnyExtOrTrunc(Val, DL, PartVT);
754 assert(Val.getValueType() == PartVT && "Unexpected vector part value type");
776 assert(RegisterVT == PartVT && "Part type doesn't match vector breakdown!");
834 getCopyToParts(DAG, DL, Ops[i], &Parts[i], 1, PartVT, V, CallConv);
843 getCopyToParts(DAG, DL, Ops[i], &Parts[i * Factor], Factor, PartVT, V,
2262 MVT PartVT = TLI.getRegisterTypeForCallingConv(Context, CC, VT);
2266 &Parts[0], NumParts, PartVT, &I, CC, ExtendKind);
11023 MVT PartVT = getRegisterTypeForCallingConv(CLI.RetTy->getContext(),
11054 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) ||
11060 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, CLI.CB,
11711 MVT PartVT = TLI->getRegisterTypeForCallingConv(*CurDAG->getContext(),
11727 PartVT, VT, nullptr, NewRoot,