Lines Matching refs:PartVT

155                                       MVT PartVT, EVT ValueVT, const Value *V,
166 unsigned NumParts, MVT PartVT, EVT ValueVT, const Value *V, in getCopyFromParts() argument
173 PartVT, ValueVT, CC)) in getCopyFromParts()
177 return getCopyFromPartsVector(DAG, DL, Parts, NumParts, PartVT, ValueVT, V, in getCopyFromParts()
186 unsigned PartBits = PartVT.getSizeInBits(); in getCopyFromParts()
199 Lo = getCopyFromParts(DAG, DL, Parts, RoundParts / 2, PartVT, HalfVT, V, in getCopyFromParts()
202 PartVT, HalfVT, V, InChain); in getCopyFromParts()
217 Hi = getCopyFromParts(DAG, DL, Parts + RoundParts, OddParts, PartVT, in getCopyFromParts()
233 } else if (PartVT.isFloatingPoint()) { in getCopyFromParts()
235 assert(ValueVT == EVT(MVT::ppcf128) && PartVT == MVT::f64 && in getCopyFromParts()
245 assert(ValueVT.isFloatingPoint() && PartVT.isInteger() && in getCopyFromParts()
246 !PartVT.isVector() && "Unexpected split"); in getCopyFromParts()
248 Val = getCopyFromParts(DAG, DL, Parts, NumParts, PartVT, IntVT, V, in getCopyFromParts()
339 MVT PartVT, EVT ValueVT, const Value *V, in getCopyFromPartsVector() argument
368 assert(RegisterVT == PartVT && "Part type doesn't match vector breakdown!"); in getCopyFromPartsVector()
379 Ops[i] = getCopyFromParts(DAG, DL, &Parts[i], 1, PartVT, IntermediateVT, in getCopyFromPartsVector()
388 Ops[i] = getCopyFromParts(DAG, DL, &Parts[i * Factor], Factor, PartVT, in getCopyFromPartsVector()
496 MVT PartVT, const Value *V,
504 unsigned NumParts, MVT PartVT, const Value *V, in getCopyToParts() argument
509 if (TLI.splitValueIntoRegisterParts(DAG, DL, Val, Parts, NumParts, PartVT, in getCopyToParts()
516 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V, in getCopyToParts()
520 assert(DAG.getTargetLoweringInfo().isTypeLegal(PartVT) && in getCopyToParts()
527 EVT PartEVT = PartVT; in getCopyToParts()
534 unsigned PartBits = PartVT.getSizeInBits(); in getCopyToParts()
537 if (PartVT.isFloatingPoint() && ValueVT.isFloatingPoint()) { in getCopyToParts()
539 Val = DAG.getNode(ISD::FP_EXTEND, DL, PartVT, Val); in getCopyToParts()
547 assert((PartVT.isInteger() || PartVT == MVT::x86mmx) && in getCopyToParts()
552 if (PartVT == MVT::x86mmx) in getCopyToParts()
553 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToParts()
558 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToParts()
561 assert((PartVT.isInteger() || PartVT == MVT::x86mmx) && in getCopyToParts()
566 if (PartVT == MVT::x86mmx) in getCopyToParts()
567 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToParts()
579 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToParts()
589 assert(PartVT.isInteger() && ValueVT.isInteger() && in getCopyToParts()
597 getCopyToParts(DAG, DL, OddVal, Parts + RoundParts, OddParts, PartVT, V, in getCopyToParts()
628 if (ThisBits == PartBits && ThisVT != PartVT) { in getCopyToParts()
629 Part0 = DAG.getNode(ISD::BITCAST, DL, PartVT, Part0); in getCopyToParts()
630 Part1 = DAG.getNode(ISD::BITCAST, DL, PartVT, Part1); in getCopyToParts()
640 const SDLoc &DL, EVT PartVT) { in widenVectorToPartType() argument
641 if (!PartVT.isVector()) in widenVectorToPartType()
645 EVT PartEVT = PartVT.getVectorElementType(); in widenVectorToPartType()
647 ElementCount PartNumElts = PartVT.getVectorElementCount(); in widenVectorToPartType()
659 assert(DAG.getTargetLoweringInfo().isTypeLegal(PartVT) && in widenVectorToPartType()
670 return DAG.getNode(ISD::INSERT_SUBVECTOR, DL, PartVT, DAG.getUNDEF(PartVT), in widenVectorToPartType()
681 return DAG.getBuildVector(PartVT, DL, Ops); in widenVectorToPartType()
688 MVT PartVT, const Value *V, in getCopyToPartsVector() argument
696 EVT PartEVT = PartVT; in getCopyToPartsVector()
699 } else if (PartVT.getSizeInBits() == ValueVT.getSizeInBits()) { in getCopyToPartsVector()
701 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToPartsVector()
702 } else if (SDValue Widened = widenVectorToPartType(DAG, Val, DL, PartVT)) { in getCopyToPartsVector()
704 } else if (PartVT.isVector() && in getCopyToPartsVector()
711 Val = DAG.getAnyExtOrTrunc(Val, DL, PartVT); in getCopyToPartsVector()
720 PartVT.getVectorElementCount()); in getCopyToPartsVector()
722 Val = DAG.getAnyExtOrTrunc(Widened, DL, PartVT); in getCopyToPartsVector()
728 (!ValueVT.isFloatingPoint() || !PartVT.isInteger())) { in getCopyToPartsVector()
729 Val = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, PartVT, Val, in getCopyToPartsVector()
733 assert(PartVT.getFixedSizeInBits() > ValueSize && in getCopyToPartsVector()
737 Val = DAG.getAnyExtOrTrunc(Val, DL, PartVT); in getCopyToPartsVector()
741 assert(Val.getValueType() == PartVT && "Unexpected vector part value type"); in getCopyToPartsVector()
763 assert(RegisterVT == PartVT && "Part type doesn't match vector breakdown!"); in getCopyToPartsVector()
821 getCopyToParts(DAG, DL, Ops[i], &Parts[i], 1, PartVT, V, CallConv); in getCopyToPartsVector()
830 getCopyToParts(DAG, DL, Ops[i], &Parts[i * Factor], Factor, PartVT, V, in getCopyToPartsVector()
2221 MVT PartVT = TLI.getRegisterTypeForCallingConv(Context, CC, VT); in visitRet() local
2225 &Parts[0], NumParts, PartVT, &I, CC, ExtendKind); in visitRet()
10503 MVT PartVT = getRegisterTypeForCallingConv(CLI.RetTy->getContext(), in LowerCallTo() local
10534 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) || in LowerCallTo()
10540 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, CLI.CB, in LowerCallTo()
11191 MVT PartVT = TLI->getRegisterTypeForCallingConv(*CurDAG->getContext(), in LowerArguments() local
11207 PartVT, VT, nullptr, NewRoot, in LowerArguments()