Lines Matching refs:PartVT
156 MVT PartVT, EVT ValueVT, const Value *V,
166 MVT PartVT, EVT ValueVT, const Value *V, in getCopyFromParts() argument
172 PartVT, ValueVT, CC)) in getCopyFromParts()
176 return getCopyFromPartsVector(DAG, DL, Parts, NumParts, PartVT, ValueVT, V, in getCopyFromParts()
185 unsigned PartBits = PartVT.getSizeInBits(); in getCopyFromParts()
200 PartVT, HalfVT, V); in getCopyFromParts()
202 RoundParts / 2, PartVT, HalfVT, V); 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, CC); in getCopyFromParts()
328 MVT PartVT, EVT ValueVT, const Value *V, in getCopyFromPartsVector() argument
356 assert(RegisterVT == PartVT && "Part type doesn't match vector breakdown!"); in getCopyFromPartsVector()
368 PartVT, IntermediateVT, V, CallConv); in getCopyFromPartsVector()
377 PartVT, IntermediateVT, V, CallConv); in getCopyFromPartsVector()
467 MVT PartVT, const Value *V,
474 SDValue *Parts, unsigned NumParts, MVT PartVT, in getCopyToParts() argument
480 if (TLI.splitValueIntoRegisterParts(DAG, DL, Val, Parts, NumParts, PartVT, in getCopyToParts()
487 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V, in getCopyToParts()
490 unsigned PartBits = PartVT.getSizeInBits(); in getCopyToParts()
492 assert(DAG.getTargetLoweringInfo().isTypeLegal(PartVT) && in getCopyToParts()
499 EVT PartEVT = PartVT; in getCopyToParts()
508 if (PartVT.isFloatingPoint() && ValueVT.isFloatingPoint()) { in getCopyToParts()
510 Val = DAG.getNode(ISD::FP_EXTEND, DL, PartVT, Val); in getCopyToParts()
518 assert((PartVT.isInteger() || PartVT == MVT::x86mmx) && in getCopyToParts()
523 if (PartVT == MVT::x86mmx) in getCopyToParts()
524 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToParts()
529 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToParts()
532 assert((PartVT.isInteger() || PartVT == MVT::x86mmx) && in getCopyToParts()
537 if (PartVT == MVT::x86mmx) in getCopyToParts()
538 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToParts()
550 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToParts()
560 assert(PartVT.isInteger() && ValueVT.isInteger() && in getCopyToParts()
568 getCopyToParts(DAG, DL, OddVal, Parts + RoundParts, OddParts, PartVT, V, in getCopyToParts()
599 if (ThisBits == PartBits && ThisVT != PartVT) { in getCopyToParts()
600 Part0 = DAG.getNode(ISD::BITCAST, DL, PartVT, Part0); in getCopyToParts()
601 Part1 = DAG.getNode(ISD::BITCAST, DL, PartVT, Part1); in getCopyToParts()
611 const SDLoc &DL, EVT PartVT) { in widenVectorToPartType() argument
612 if (!PartVT.isVector()) in widenVectorToPartType()
616 ElementCount PartNumElts = PartVT.getVectorElementCount(); in widenVectorToPartType()
624 PartVT.getVectorElementType() != ValueVT.getVectorElementType()) in widenVectorToPartType()
630 return DAG.getNode(ISD::INSERT_SUBVECTOR, DL, PartVT, DAG.getUNDEF(PartVT), in widenVectorToPartType()
633 EVT ElementVT = PartVT.getVectorElementType(); in widenVectorToPartType()
642 return DAG.getBuildVector(PartVT, DL, Ops); in widenVectorToPartType()
649 MVT PartVT, const Value *V, in getCopyToPartsVector() argument
657 EVT PartEVT = PartVT; in getCopyToPartsVector()
660 } else if (PartVT.getSizeInBits() == ValueVT.getSizeInBits()) { in getCopyToPartsVector()
662 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToPartsVector()
663 } else if (SDValue Widened = widenVectorToPartType(DAG, Val, DL, PartVT)) { in getCopyToPartsVector()
665 } else if (PartVT.isVector() && in getCopyToPartsVector()
672 Val = DAG.getAnyExtOrTrunc(Val, DL, PartVT); in getCopyToPartsVector()
675 Val = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, PartVT, Val, in getCopyToPartsVector()
679 assert(PartVT.getFixedSizeInBits() > ValueSize && in getCopyToPartsVector()
683 Val = DAG.getAnyExtOrTrunc(Val, DL, PartVT); in getCopyToPartsVector()
687 assert(Val.getValueType() == PartVT && "Unexpected vector part value type"); in getCopyToPartsVector()
709 assert(RegisterVT == PartVT && "Part type doesn't match vector breakdown!"); in getCopyToPartsVector()
763 getCopyToParts(DAG, DL, Ops[i], &Parts[i], 1, PartVT, V, CallConv); in getCopyToPartsVector()
772 getCopyToParts(DAG, DL, Ops[i], &Parts[i * Factor], Factor, PartVT, V, in getCopyToPartsVector()
1968 MVT PartVT = TLI.getRegisterTypeForCallingConv(Context, CC, VT); in visitRet() local
1972 &Parts[0], NumParts, PartVT, &I, CC, ExtendKind); in visitRet()
9632 MVT PartVT = getRegisterTypeForCallingConv(CLI.RetTy->getContext(), in LowerCallTo() local
9663 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) || in LowerCallTo()
9669 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, CLI.CB, in LowerCallTo()
10308 MVT PartVT = TLI->getRegisterTypeForCallingConv(*CurDAG->getContext(), in LowerArguments() local
10324 PartVT, VT, nullptr, in LowerArguments()