Lines Matching refs:PartVT
90 EVT PartVT, EVT ValueVT);
99 unsigned NumParts, EVT PartVT, EVT ValueVT,
102 return getCopyFromPartsVector(DAG, DL, Parts, NumParts, PartVT, ValueVT);
111 unsigned PartBits = PartVT.getSizeInBits();
126 PartVT, HalfVT);
128 RoundParts / 2, PartVT, HalfVT);
144 Parts + RoundParts, OddParts, PartVT, OddVT);
158 } else if (PartVT.isFloatingPoint()) {
160 assert(ValueVT == EVT(MVT::ppcf128) && PartVT == EVT(MVT::f64) &&
170 assert(ValueVT.isFloatingPoint() && PartVT.isInteger() &&
171 !PartVT.isVector() && "Unexpected split");
173 Val = getCopyFromParts(DAG, DL, Parts, NumParts, PartVT, IntVT);
178 PartVT = Val.getValueType();
180 if (PartVT == ValueVT)
183 if (PartVT.isInteger() && ValueVT.isInteger()) {
184 if (ValueVT.bitsLT(PartVT)) {
189 Val = DAG.getNode(AssertOp, DL, PartVT, Val,
196 if (PartVT.isFloatingPoint() && ValueVT.isFloatingPoint()) {
205 if (PartVT.getSizeInBits() == ValueVT.getSizeInBits())
219 EVT PartVT, EVT ValueVT) {
234 assert(RegisterVT == PartVT && "Part type doesn't match vector breakdown!");
245 PartVT, IntermediateVT);
254 PartVT, IntermediateVT);
265 PartVT = Val.getValueType();
267 if (PartVT == ValueVT)
270 if (PartVT.isVector()) {
275 if (PartVT.getVectorElementType() == ValueVT.getVectorElementType()) {
276 assert(PartVT.getVectorNumElements() > ValueVT.getVectorNumElements() &&
283 if (ValueVT.getSizeInBits() == PartVT.getSizeInBits())
286 assert(PartVT.getVectorNumElements() == ValueVT.getVectorNumElements() &&
289 bool Smaller = ValueVT.bitsLE(PartVT);
297 if (PartVT.getSizeInBits() == ValueVT.getSizeInBits() &&
306 ValueVT.getVectorElementType() != PartVT) {
307 bool Smaller = ValueVT.bitsLE(PartVT);
320 EVT PartVT);
327 EVT PartVT,
333 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT);
336 unsigned PartBits = PartVT.getSizeInBits();
338 assert(TLI.isTypeLegal(PartVT) && "Copying to an illegal type!");
344 if (PartVT == ValueVT) {
352 if (PartVT.isFloatingPoint() && ValueVT.isFloatingPoint()) {
354 Val = DAG.getNode(ISD::FP_EXTEND, DL, PartVT, Val);
356 assert(PartVT.isInteger() && ValueVT.isInteger() &&
363 assert(NumParts == 1 && PartVT != ValueVT);
364 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val);
367 assert(PartVT.isInteger() && ValueVT.isInteger() &&
376 "Failed to tile the value with PartVT!");
379 assert(PartVT == ValueVT && "Type conversion failed!");
387 assert(PartVT.isInteger() && ValueVT.isInteger() &&
394 PartVT);
424 if (ThisBits == PartBits && ThisVT != PartVT) {
425 Part0 = DAG.getNode(ISD::BITCAST, DL, PartVT, Part0);
426 Part1 = DAG.getNode(ISD::BITCAST, DL, PartVT, Part1);
440 EVT PartVT) {
446 if (PartVT == ValueVT) {
448 } else if (PartVT.getSizeInBits() == ValueVT.getSizeInBits()) {
450 Val = DAG.getNode(ISD::BITCAST, DL, PartVT, Val);
451 } else if (PartVT.isVector() &&
452 PartVT.getVectorElementType() == ValueVT.getVectorElementType() &&
453 PartVT.getVectorNumElements() > ValueVT.getVectorNumElements()) {
454 EVT ElementVT = PartVT.getVectorElementType();
463 e = PartVT.getVectorNumElements(); i != e; ++i)
466 Val = DAG.getNode(ISD::BUILD_VECTOR, DL, PartVT, &Ops[0], Ops.size());
471 //Val = DAG.getNode(ISD::CONCAT_VECTORS, DL, PartVT, Val, UndefElts);
472 } else if (PartVT.isVector() &&
473 PartVT.getVectorElementType().bitsGE(
475 PartVT.getVectorNumElements() == ValueVT.getVectorNumElements()) {
478 bool Smaller = PartVT.bitsLE(ValueVT);
480 DL, PartVT, Val);
486 PartVT, Val, DAG.getIntPtrConstant(0));
488 bool Smaller = ValueVT.bitsLE(PartVT);
490 DL, PartVT, Val);
507 assert(RegisterVT == PartVT && "Part type doesn't match vector breakdown!");
526 getCopyToParts(DAG, DL, Ops[i], &Parts[i], 1, PartVT);
534 getCopyToParts(DAG, DL, Ops[i], &Parts[i*Factor], Factor, PartVT);
1191 EVT PartVT = TLI.getRegisterType(*DAG.getContext(), VT);
1195 &Parts[0], NumParts, PartVT, ExtendKind);
6376 EVT PartVT = getRegisterType(RetTy->getContext(), VT);
6387 PartVT, ExtendKind);
6680 EVT PartVT = TLI.getRegisterType(*CurDAG->getContext(), VT);
6691 NumParts, PartVT, VT,