Lines Matching defs:PartEVT

258   // PartEVT is the type of the register class that holds the value.
260 EVT PartEVT = Val.getValueType();
262 if (PartEVT == ValueVT)
265 if (PartEVT.isInteger() && ValueVT.isFloatingPoint() &&
266 ValueVT.bitsLT(PartEVT)) {
269 PartEVT = EVT::getIntegerVT(*DAG.getContext(), ValueVT.getSizeInBits());
270 Val = DAG.getNode(ISD::TRUNCATE, DL, PartEVT, Val);
274 if (PartEVT.getSizeInBits() == ValueVT.getSizeInBits())
278 if (PartEVT.isInteger() && ValueVT.isInteger()) {
279 if (ValueVT.bitsLT(PartEVT)) {
284 Val = DAG.getNode(*AssertOp, DL, PartEVT, Val,
291 if (PartEVT.isFloatingPoint() && ValueVT.isFloatingPoint()) {
313 if (PartEVT == MVT::x86mmx && ValueVT.isInteger() &&
314 ValueVT.bitsLT(PartEVT)) {
412 EVT PartEVT = Val.getValueType();
414 if (PartEVT == ValueVT)
417 if (PartEVT.isVector()) {
419 if (ValueVT.getSizeInBits() == PartEVT.getSizeInBits())
425 if (PartEVT.getVectorElementCount() != ValueVT.getVectorElementCount()) {
426 assert((PartEVT.getVectorElementCount().getKnownMinValue() >
428 (PartEVT.getVectorElementCount().isScalable() ==
431 PartEVT =
432 EVT::getVectorVT(*DAG.getContext(), PartEVT.getVectorElementType(),
434 Val = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, PartEVT, Val,
436 if (PartEVT == ValueVT)
438 if (PartEVT.isInteger() && ValueVT.isFloatingPoint())
442 if (ValueVT.getSizeInBits() == PartEVT.getSizeInBits())
452 if (PartEVT.getSizeInBits() == ValueVT.getSizeInBits() &&
459 if (ValueVT.getSizeInBits() == PartEVT.getSizeInBits()) {
461 } else if (ValueVT.bitsLT(PartEVT)) {
476 if (ValueVT.getVectorNumElements() == 1 && ValueSVT != PartEVT) {
478 if (ValueSize == PartEVT.getSizeInBits()) {
480 } else if (ValueSVT.isFloatingPoint() && PartEVT.isInteger()) {
482 // then promoted to a larger integer. If PartEVT is the larger integer
484 assert(ValueSVT.bitsLT(PartEVT) && "Unexpected types");
531 EVT PartEVT = PartVT;
532 if (PartEVT == ValueVT) {
561 assert(NumParts == 1 && PartEVT != ValueVT);
580 if (PartEVT != ValueVT) {
649 EVT PartEVT = PartVT.getVectorElementType();
662 if (ValueEVT == MVT::bf16 && PartEVT == MVT::f16) {
667 } else if (PartEVT != ValueEVT) {
681 SDValue EltUndef = DAG.getUNDEF(PartEVT);
700 EVT PartEVT = PartVT;
701 if (PartEVT == ValueVT) {
709 PartEVT.getVectorElementType().bitsGE(
711 PartEVT.getVectorElementCount() ==
716 } else if (PartEVT.isVector() &&
717 PartEVT.getVectorElementType() !=