Lines Matching defs:PartVT

156                                       MVT PartVT, EVT ValueVT, const Value *V,
167 unsigned NumParts, MVT PartVT, EVT ValueVT, const Value *V,
174 PartVT, ValueVT, CC))
178 return getCopyFromPartsVector(DAG, DL, Parts, NumParts, PartVT, ValueVT, V,
187 unsigned PartBits = PartVT.getSizeInBits();
200 Lo = getCopyFromParts(DAG, DL, Parts, RoundParts / 2, PartVT, HalfVT, V,
203 PartVT, HalfVT, V, InChain);
218 Hi = getCopyFromParts(DAG, DL, Parts + RoundParts, OddParts, PartVT,
234 } else if (PartVT.isFloatingPoint()) {
236 assert(ValueVT == EVT(MVT::ppcf128) && PartVT == MVT::f64 &&
246 assert(ValueVT.isFloatingPoint() && PartVT.isInteger() &&
247 !PartVT.isVector() && "Unexpected split");
249 Val = getCopyFromParts(DAG, DL, Parts, NumParts, PartVT, IntVT, V,
341 MVT PartVT, EVT ValueVT, const Value *V,
370 assert(RegisterVT == PartVT && "Part type doesn't match vector breakdown!");
381 Ops[i] = getCopyFromParts(DAG, DL, &Parts[i], 1, PartVT, IntermediateVT,
390 Ops[i] = getCopyFromParts(DAG, DL, &Parts[i * Factor], Factor, PartVT,
498 MVT PartVT, const Value *V,
506 unsigned NumParts, MVT PartVT, const Value *V,
511 if (TLI.splitValueIntoRegisterParts(DAG, DL, Val, Parts, NumParts, PartVT,
518 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V,
522 assert(DAG.getTargetLoweringInfo().isTypeLegal(PartVT) &&
529 EVT PartEVT = PartVT;
536 unsigned PartBits = PartVT.getSizeInBits();
539 if (PartVT.isFloatingPoint() && ValueVT.isFloatingPoint()) {
541 Val = DAG.getNode(ISD::FP_EXTEND, DL, PartVT, Val);
549 assert((PartVT.isInteger() || PartVT == MVT::x86mmx) &&
554 if (PartVT == MVT::x86mmx)
555 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val);
560 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val);
563 assert((PartVT.isInteger() || PartVT == MVT::x86mmx) &&
568 if (PartVT == MVT::x86mmx)
569 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val);
575 "Failed to tile the value with PartVT!");
581 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val);
591 assert(PartVT.isInteger() && ValueVT.isInteger() &&
599 getCopyToParts(DAG, DL, OddVal, Parts + RoundParts, OddParts, PartVT, V,
630 if (ThisBits == PartBits && ThisVT != PartVT) {
631 Part0 = DAG.getNode(ISD::BITCAST, DL, PartVT, Part0);
632 Part1 = DAG.getNode(ISD::BITCAST, DL, PartVT, Part1);
642 const SDLoc &DL, EVT PartVT) {
643 if (!PartVT.isVector())
647 EVT PartEVT = PartVT.getVectorElementType();
649 ElementCount PartNumElts = PartVT.getVectorElementCount();
661 assert(DAG.getTargetLoweringInfo().isTypeLegal(PartVT) &&
672 return DAG.getNode(ISD::INSERT_SUBVECTOR, DL, PartVT, DAG.getUNDEF(PartVT),
683 return DAG.getBuildVector(PartVT, DL, Ops);
690 MVT PartVT, const Value *V,
698 EVT PartEVT = PartVT;
701 } else if (PartVT.getSizeInBits() == ValueVT.getSizeInBits()) {
703 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val);
704 } else if (SDValue Widened = widenVectorToPartType(DAG, Val, DL, PartVT)) {
706 } else if (PartVT.isVector() &&
713 Val = DAG.getAnyExtOrTrunc(Val, DL, PartVT);
722 PartVT.getVectorElementCount());
724 Val = DAG.getAnyExtOrTrunc(Widened, DL, PartVT);
730 (!ValueVT.isFloatingPoint() || !PartVT.isInteger())) {
731 // If we reach this condition and PartVT is FP, this means that
736 if (PartVT.isFloatingPoint()) {
738 Val = DAG.getNode(ISD::FP_EXTEND, DL, PartVT, Val);
740 Val = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, PartVT, Val,
744 assert(PartVT.getFixedSizeInBits() > ValueSize &&
748 Val = DAG.getAnyExtOrTrunc(Val, DL, PartVT);
752 assert(Val.getValueType() == PartVT && "Unexpected vector part value type");
774 assert(RegisterVT == PartVT && "Part type doesn't match vector breakdown!");
832 getCopyToParts(DAG, DL, Ops[i], &Parts[i], 1, PartVT, V, CallConv);
841 getCopyToParts(DAG, DL, Ops[i], &Parts[i * Factor], Factor, PartVT, V,
2264 MVT PartVT = TLI.getRegisterTypeForCallingConv(Context, CC, VT);
2268 &Parts[0], NumParts, PartVT, &I, CC, ExtendKind);
11185 MVT PartVT = getRegisterTypeForCallingConv(CLI.RetTy->getContext(),
11216 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) ||
11222 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, CLI.CB,
11854 MVT PartVT = TLI->getRegisterTypeForCallingConv(*CurDAG->getContext(),
11870 PartVT, VT, nullptr, NewRoot,