Lines Matching refs:ValueVT
121 MVT PartVT, EVT ValueVT, const Value *V);
130 MVT PartVT, EVT ValueVT, const Value *V, in getCopyFromParts() argument
132 if (ValueVT.isVector()) in getCopyFromParts()
134 PartVT, ValueVT, V); in getCopyFromParts()
142 if (ValueVT.isInteger()) { in getCopyFromParts()
144 unsigned ValueBits = ValueVT.getSizeInBits(); in getCopyFromParts()
151 ValueVT : EVT::getIntegerVT(*DAG.getContext(), RoundBits); in getCopyFromParts()
193 assert(ValueVT == EVT(MVT::ppcf128) && PartVT == MVT::f64 && in getCopyFromParts()
198 if (TLI.hasBigEndianPartOrdering(ValueVT, DAG.getDataLayout())) in getCopyFromParts()
200 Val = DAG.getNode(ISD::BUILD_PAIR, DL, ValueVT, Lo, Hi); in getCopyFromParts()
203 assert(ValueVT.isFloatingPoint() && PartVT.isInteger() && in getCopyFromParts()
205 EVT IntVT = EVT::getIntegerVT(*DAG.getContext(), ValueVT.getSizeInBits()); in getCopyFromParts()
215 if (PartEVT == ValueVT) in getCopyFromParts()
218 if (PartEVT.isInteger() && ValueVT.isFloatingPoint() && in getCopyFromParts()
219 ValueVT.bitsLT(PartEVT)) { in getCopyFromParts()
222 PartEVT = EVT::getIntegerVT(*DAG.getContext(), ValueVT.getSizeInBits()); in getCopyFromParts()
227 if (PartEVT.getSizeInBits() == ValueVT.getSizeInBits()) in getCopyFromParts()
228 return DAG.getNode(ISD::BITCAST, DL, ValueVT, Val); in getCopyFromParts()
231 if (PartEVT.isInteger() && ValueVT.isInteger()) { in getCopyFromParts()
232 if (ValueVT.bitsLT(PartEVT)) { in getCopyFromParts()
238 DAG.getValueType(ValueVT)); in getCopyFromParts()
239 return DAG.getNode(ISD::TRUNCATE, DL, ValueVT, Val); in getCopyFromParts()
241 return DAG.getNode(ISD::ANY_EXTEND, DL, ValueVT, Val); in getCopyFromParts()
244 if (PartEVT.isFloatingPoint() && ValueVT.isFloatingPoint()) { in getCopyFromParts()
246 if (ValueVT.bitsLT(Val.getValueType())) in getCopyFromParts()
248 ISD::FP_ROUND, DL, ValueVT, Val, in getCopyFromParts()
251 return DAG.getNode(ISD::FP_EXTEND, DL, ValueVT, Val); in getCopyFromParts()
278 MVT PartVT, EVT ValueVT, const Value *V) { in getCopyFromPartsVector() argument
279 assert(ValueVT.isVector() && "Not a vector value"); in getCopyFromPartsVector()
290 TLI.getVectorTypeBreakdown(*DAG.getContext(), ValueVT, IntermediateVT, in getCopyFromPartsVector()
322 DL, ValueVT, Ops); in getCopyFromPartsVector()
328 if (PartEVT == ValueVT) in getCopyFromPartsVector()
336 if (PartEVT.getVectorElementType() == ValueVT.getVectorElementType()) { in getCopyFromPartsVector()
337 assert(PartEVT.getVectorNumElements() > ValueVT.getVectorNumElements() && in getCopyFromPartsVector()
340 ISD::EXTRACT_SUBVECTOR, DL, ValueVT, Val, in getCopyFromPartsVector()
345 if (ValueVT.getSizeInBits() == PartEVT.getSizeInBits()) in getCopyFromPartsVector()
346 return DAG.getNode(ISD::BITCAST, DL, ValueVT, Val); in getCopyFromPartsVector()
348 assert(PartEVT.getVectorNumElements() == ValueVT.getVectorNumElements() && in getCopyFromPartsVector()
351 return DAG.getAnyExtOrTrunc(Val, DL, ValueVT); in getCopyFromPartsVector()
357 if (PartEVT.getSizeInBits() == ValueVT.getSizeInBits() && in getCopyFromPartsVector()
358 TLI.isTypeLegal(ValueVT)) in getCopyFromPartsVector()
359 return DAG.getNode(ISD::BITCAST, DL, ValueVT, Val); in getCopyFromPartsVector()
362 if (ValueVT.getVectorNumElements() != 1) { in getCopyFromPartsVector()
365 return DAG.getUNDEF(ValueVT); in getCopyFromPartsVector()
368 if (ValueVT.getVectorNumElements() == 1 && in getCopyFromPartsVector()
369 ValueVT.getVectorElementType() != PartEVT) in getCopyFromPartsVector()
370 Val = DAG.getAnyExtOrTrunc(Val, DL, ValueVT.getScalarType()); in getCopyFromPartsVector()
372 return DAG.getNode(ISD::BUILD_VECTOR, DL, ValueVT, Val); in getCopyFromPartsVector()
386 EVT ValueVT = Val.getValueType(); in getCopyToParts() local
389 if (ValueVT.isVector()) in getCopyToParts()
400 assert(!ValueVT.isVector() && "Vector case handled elsewhere"); in getCopyToParts()
402 if (PartEVT == ValueVT) { in getCopyToParts()
408 if (NumParts * PartBits > ValueVT.getSizeInBits()) { in getCopyToParts()
410 if (PartVT.isFloatingPoint() && ValueVT.isFloatingPoint()) { in getCopyToParts()
414 if (ValueVT.isFloatingPoint()) { in getCopyToParts()
417 ValueVT = EVT::getIntegerVT(*DAG.getContext(), ValueVT.getSizeInBits()); in getCopyToParts()
418 Val = DAG.getNode(ISD::BITCAST, DL, ValueVT, Val); in getCopyToParts()
421 ValueVT.isInteger() && in getCopyToParts()
423 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
424 Val = DAG.getNode(ExtendKind, DL, ValueVT, Val); in getCopyToParts()
428 } else if (PartBits == ValueVT.getSizeInBits()) { in getCopyToParts()
430 assert(NumParts == 1 && PartEVT != ValueVT); in getCopyToParts()
432 } else if (NumParts * PartBits < ValueVT.getSizeInBits()) { in getCopyToParts()
435 ValueVT.isInteger() && in getCopyToParts()
437 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
438 Val = DAG.getNode(ISD::TRUNCATE, DL, ValueVT, Val); in getCopyToParts()
444 ValueVT = Val.getValueType(); in getCopyToParts()
445 assert(NumParts * PartBits == ValueVT.getSizeInBits() && in getCopyToParts()
449 if (PartEVT != ValueVT) { in getCopyToParts()
462 assert(PartVT.isInteger() && ValueVT.isInteger() && in getCopyToParts()
467 SDValue OddVal = DAG.getNode(ISD::SRL, DL, ValueVT, Val, in getCopyToParts()
476 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
477 Val = DAG.getNode(ISD::TRUNCATE, DL, ValueVT, Val); in getCopyToParts()
484 ValueVT.getSizeInBits()), in getCopyToParts()
516 EVT ValueVT = Val.getValueType(); in getCopyToPartsVector() local
517 assert(ValueVT.isVector() && "Not a vector"); in getCopyToPartsVector()
522 if (PartEVT == ValueVT) { in getCopyToPartsVector()
524 } else if (PartVT.getSizeInBits() == ValueVT.getSizeInBits()) { in getCopyToPartsVector()
528 PartEVT.getVectorElementType() == ValueVT.getVectorElementType() && in getCopyToPartsVector()
529 PartEVT.getVectorNumElements() > ValueVT.getVectorNumElements()) { in getCopyToPartsVector()
534 for (unsigned i = 0, e = ValueVT.getVectorNumElements(); i != e; ++i) in getCopyToPartsVector()
539 for (unsigned i = ValueVT.getVectorNumElements(), in getCopyToPartsVector()
551 ValueVT.getVectorElementType()) && in getCopyToPartsVector()
552 PartEVT.getVectorNumElements() == ValueVT.getVectorNumElements()) { in getCopyToPartsVector()
558 assert(ValueVT.getVectorNumElements() == 1 && in getCopyToPartsVector()
575 unsigned NumRegs = TLI.getVectorTypeBreakdown(*DAG.getContext(), ValueVT, in getCopyToPartsVector()
578 unsigned NumElements = ValueVT.getVectorNumElements(); in getCopyToPartsVector()
626 for (EVT ValueVT : ValueVTs) { in RegsForValue() local
627 unsigned NumRegs = TLI.getNumRegisters(Context, ValueVT); in RegsForValue()
628 MVT RegisterVT = TLI.getRegisterType(Context, ValueVT); in RegsForValue()
655 EVT ValueVT = ValueVTs[Value]; in getCopyFromRegs() local
656 unsigned NumRegs = TLI.getNumRegisters(*DAG.getContext(), ValueVT); in getCopyFromRegs()
733 NumRegs, RegisterVT, ValueVT, V); in getCopyFromRegs()
756 EVT ValueVT = ValueVTs[Value]; in getCopyToRegs() local
757 unsigned NumParts = TLI.getNumRegisters(*DAG.getContext(), ValueVT); in getCopyToRegs()
6507 EVT ValueVT = OpInfo.ConstraintVT; in GetRegistersForValue() local
6514 ValueVT = *RC->vt_begin(); in GetRegistersForValue()
6538 OpInfo.AssignedRegs = RegsForValue(Regs, RegVT, ValueVT); in GetRegistersForValue()
6547 ValueVT = RegVT; in GetRegistersForValue()
6554 OpInfo.AssignedRegs = RegsForValue(Regs, RegVT, ValueVT); in GetRegistersForValue()