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()
470 MVT PartVT, const Value *V,
477 SDValue *Parts, unsigned NumParts, MVT PartVT, in getCopyToParts() argument
483 if (TLI.splitValueIntoRegisterParts(DAG, DL, Val, Parts, NumParts, PartVT, in getCopyToParts()
490 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V, in getCopyToParts()
493 unsigned PartBits = PartVT.getSizeInBits(); in getCopyToParts()
495 assert(DAG.getTargetLoweringInfo().isTypeLegal(PartVT) && in getCopyToParts()
502 EVT PartEVT = PartVT; in getCopyToParts()
511 if (PartVT.isFloatingPoint() && ValueVT.isFloatingPoint()) { in getCopyToParts()
513 Val = DAG.getNode(ISD::FP_EXTEND, DL, PartVT, Val); in getCopyToParts()
521 assert((PartVT.isInteger() || PartVT == MVT::x86mmx) && in getCopyToParts()
526 if (PartVT == MVT::x86mmx) in getCopyToParts()
527 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToParts()
532 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToParts()
535 assert((PartVT.isInteger() || PartVT == MVT::x86mmx) && in getCopyToParts()
540 if (PartVT == MVT::x86mmx) in getCopyToParts()
541 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToParts()
553 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToParts()
563 assert(PartVT.isInteger() && ValueVT.isInteger() && in getCopyToParts()
571 getCopyToParts(DAG, DL, OddVal, Parts + RoundParts, OddParts, PartVT, V, in getCopyToParts()
602 if (ThisBits == PartBits && ThisVT != PartVT) { in getCopyToParts()
603 Part0 = DAG.getNode(ISD::BITCAST, DL, PartVT, Part0); in getCopyToParts()
604 Part1 = DAG.getNode(ISD::BITCAST, DL, PartVT, Part1); in getCopyToParts()
614 SDValue Val, const SDLoc &DL, EVT PartVT) { in widenVectorToPartType() argument
615 if (!PartVT.isFixedLengthVector()) in widenVectorToPartType()
619 unsigned PartNumElts = PartVT.getVectorNumElements(); in widenVectorToPartType()
622 PartVT.getVectorElementType() == ValueVT.getVectorElementType()) { in widenVectorToPartType()
623 EVT ElementVT = PartVT.getVectorElementType(); in widenVectorToPartType()
633 return DAG.getBuildVector(PartVT, DL, Ops); in widenVectorToPartType()
643 MVT PartVT, const Value *V, in getCopyToPartsVector() argument
651 EVT PartEVT = PartVT; in getCopyToPartsVector()
654 } else if (PartVT.getSizeInBits() == ValueVT.getSizeInBits()) { in getCopyToPartsVector()
656 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val); in getCopyToPartsVector()
657 } else if (SDValue Widened = widenVectorToPartType(DAG, Val, DL, PartVT)) { in getCopyToPartsVector()
659 } else if (PartVT.isVector() && in getCopyToPartsVector()
666 Val = DAG.getAnyExtOrTrunc(Val, DL, PartVT); in getCopyToPartsVector()
669 Val = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, PartVT, Val, in getCopyToPartsVector()
673 assert(PartVT.getFixedSizeInBits() > ValueSize && in getCopyToPartsVector()
677 Val = DAG.getAnyExtOrTrunc(Val, DL, PartVT); in getCopyToPartsVector()
681 assert(Val.getValueType() == PartVT && "Unexpected vector part value type"); in getCopyToPartsVector()
703 assert(RegisterVT == PartVT && "Part type doesn't match vector breakdown!"); in getCopyToPartsVector()
745 getCopyToParts(DAG, DL, Ops[i], &Parts[i], 1, PartVT, V, CallConv); in getCopyToPartsVector()
754 getCopyToParts(DAG, DL, Ops[i], &Parts[i * Factor], Factor, PartVT, V, in getCopyToPartsVector()
1855 MVT PartVT = TLI.getRegisterTypeForCallingConv(Context, CC, VT); in visitRet() local
1859 &Parts[0], NumParts, PartVT, &I, CC, ExtendKind); in visitRet()
9332 MVT PartVT = getRegisterTypeForCallingConv(CLI.RetTy->getContext(), in LowerCallTo() local
9363 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) || in LowerCallTo()
9369 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, CLI.CB, in LowerCallTo()
10003 MVT PartVT = TLI->getRegisterTypeForCallingConv(*CurDAG->getContext(), in LowerArguments() local
10019 PartVT, VT, nullptr, in LowerArguments()