Lines Matching defs:DstVT
1888 bool RISCVTargetLowering::isTruncateFree(EVT SrcVT, EVT DstVT) const {
1891 if (SrcVT.isVector() || DstVT.isVector() || !SrcVT.isInteger() ||
1892 !DstVT.isInteger())
1895 unsigned DestBits = DstVT.getSizeInBits();
1929 bool RISCVTargetLowering::isSExtCheaperThanZExt(EVT SrcVT, EVT DstVT) const {
1930 return Subtarget.is64Bit() && SrcVT == MVT::i32 && DstVT == MVT::i64;
2912 MVT DstVT = Op.getSimpleValueType();
2917 if (!DstVT.isVector()) {
2926 if (SatVT == DstVT)
2928 else if (DstVT == MVT::i64 && SatVT == MVT::i32)
2936 Opc, DL, DstVT, Src,
2942 SDValue ZeroInt = DAG.getConstant(0, DL, DstVT);
2949 MVT DstEltVT = DstVT.getVectorElementType();
2963 MVT DstContainerVT = DstVT;
2965 if (DstVT.isFixedLengthVector()) {
2966 DstContainerVT = getContainerForFixedLengthVector(DAG, DstVT, Subtarget);
2976 auto [Mask, VL] = getDefaultVLOps(DstVT, DstContainerVT, DL, DAG, Subtarget);
3000 if (DstVT.isFixedLengthVector())
3001 Res = convertFromScalableVector(DstVT, Res, DAG, Subtarget);
5795 MVT DstVT = VT0.changeVectorElementTypeToInteger();
5801 SDValue FPCLASS = DAG.getNode(RISCVISD::FCLASS_VL, DL, DstVT, Op0, Mask,
5805 DAG.getConstant(TDCMask, DL, DstVT),
5807 SDValue AND = DAG.getNode(ISD::AND, DL, DstVT, FPCLASS,
5808 DAG.getConstant(TDCMask, DL, DstVT));
5809 return DAG.getSetCC(DL, VT, AND, DAG.getConstant(0, DL, DstVT),
11414 MVT DstVT = Op.getSimpleValueType();
11416 if (DstVT.isFixedLengthVector()) {
11417 DstVT = getContainerForFixedLengthVector(DstVT);
11420 MVT MaskVT = getMaskTypeFor(DstVT);
11424 unsigned DstEltSize = DstVT.getScalarSizeInBits();
11430 assert(DstVT.isFloatingPoint() && "Wrong input/output vector types");
11438 MVT IntVT = DstVT.changeVectorElementTypeToInteger();
11452 DstVT.getVectorElementCount());
11456 Result = DAG.getNode(RISCVISDOpc, DL, DstVT, Src, Mask, VL);
11458 assert(SrcVT.isFloatingPoint() && DstVT.isInteger() &&
11465 MVT::getVectorVT(MVT::f32, DstVT.getVectorElementCount());
11470 Result = DAG.getNode(RISCVISDOpc, DL, DstVT, Src, Mask, VL);
11474 assert(DstVT.isFloatingPoint() && "Wrong input/output vector types");
11478 MVT InterimFVT = DstVT;
11481 assert(DstVT.getVectorElementType() == MVT::f16 && "Unexpected type!");
11482 InterimFVT = MVT::getVectorVT(MVT::f32, DstVT.getVectorElementCount());
11487 if (InterimFVT != DstVT) {
11489 Result = DAG.getNode(RISCVISD::FP_ROUND_VL, DL, DstVT, Src, Mask, VL);
11492 assert(SrcVT.isFloatingPoint() && DstVT.isInteger() &&
11502 DstVT.getVectorElementCount());
11511 Result = DAG.getNode(RISCVISD::SETCC_VL, DL, DstVT,
11513 DAG.getUNDEF(DstVT), Mask, VL});
11516 DstVT.getVectorElementCount());
11520 while (InterimIVT != DstVT) {
11524 DstVT.getVectorElementCount());
15396 EVT DstVT = N->getValueType(0);
15397 if (DstVT != XLenVT)
15423 if (SatVT == DstVT)
15425 else if (DstVT == MVT::i64 && SatVT == MVT::i32)
15444 SDValue ZeroInt = DAG.getConstant(0, DL, DstVT);