Lines Matching refs:XLenVT
117 MVT XLenVT = Subtarget.getXLenVT(); in RISCVTargetLowering() local
120 addRegisterClass(XLenVT, &RISCV::GPRRegClass); in RISCVTargetLowering()
234 setLoadExtAction({ISD::EXTLOAD, ISD::SEXTLOAD, ISD::ZEXTLOAD}, XLenVT, in RISCVTargetLowering()
241 setOperationAction(ISD::DYNAMIC_STACKALLOC, XLenVT, Expand); in RISCVTargetLowering()
244 setOperationAction(ISD::BR_CC, XLenVT, Expand); in RISCVTargetLowering()
248 setOperationAction(ISD::SELECT_CC, XLenVT, Expand); in RISCVTargetLowering()
252 setCondCodeAction(ISD::SETLE, XLenVT, Expand); in RISCVTargetLowering()
253 setCondCodeAction(ISD::SETGT, XLenVT, Custom); in RISCVTargetLowering()
254 setCondCodeAction(ISD::SETGE, XLenVT, Expand); in RISCVTargetLowering()
255 setCondCodeAction(ISD::SETULE, XLenVT, Expand); in RISCVTargetLowering()
256 setCondCodeAction(ISD::SETUGT, XLenVT, Custom); in RISCVTargetLowering()
257 setCondCodeAction(ISD::SETUGE, XLenVT, Expand); in RISCVTargetLowering()
293 setOperationAction({ISD::MUL, ISD::MULHS, ISD::MULHU}, XLenVT, Expand); in RISCVTargetLowering()
306 XLenVT, Expand); in RISCVTargetLowering()
324 {ISD::SDIVREM, ISD::UDIVREM, ISD::SMUL_LOHI, ISD::UMUL_LOHI}, XLenVT, in RISCVTargetLowering()
327 setOperationAction({ISD::SHL_PARTS, ISD::SRL_PARTS, ISD::SRA_PARTS}, XLenVT, in RISCVTargetLowering()
336 setOperationAction({ISD::ROTL, ISD::ROTR}, XLenVT, Custom); in RISCVTargetLowering()
338 setOperationAction(ISD::ROTL, XLenVT, Expand); in RISCVTargetLowering()
340 setOperationAction({ISD::ROTL, ISD::ROTR}, XLenVT, Expand); in RISCVTargetLowering()
347 setOperationAction(ISD::BSWAP, XLenVT, in RISCVTargetLowering()
361 setOperationAction(ISD::BITREVERSE, XLenVT, Legal); in RISCVTargetLowering()
364 setOperationAction(ISD::BITREVERSE, XLenVT, in RISCVTargetLowering()
369 setOperationAction({ISD::SMIN, ISD::SMAX, ISD::UMIN, ISD::UMAX}, XLenVT, in RISCVTargetLowering()
382 setOperationAction({ISD::CTTZ, ISD::CTPOP}, XLenVT, Expand); in RISCVTargetLowering()
401 setOperationAction(ISD::CTLZ, XLenVT, Expand); in RISCVTargetLowering()
412 setOperationAction(ISD::ABS, XLenVT, Legal); in RISCVTargetLowering()
415 setOperationAction(ISD::SELECT, XLenVT, Custom); in RISCVTargetLowering()
591 setOperationAction({ISD::FP_TO_UINT_SAT, ISD::FP_TO_SINT_SAT}, XLenVT, in RISCVTargetLowering()
596 XLenVT, Legal); in RISCVTargetLowering()
603 setOperationAction(ISD::GET_ROUNDING, XLenVT, Custom); in RISCVTargetLowering()
609 XLenVT, Custom); in RISCVTargetLowering()
611 setOperationAction(ISD::GlobalTLSAddress, XLenVT, Custom); in RISCVTargetLowering()
646 setOperationAction(ISD::VSCALE, XLenVT, Custom); in RISCVTargetLowering()
1339 setOperationAction(ISD::ATOMIC_LOAD_SUB, XLenVT, Expand); in RISCVTargetLowering()
1351 XLenVT, LibCall); in RISCVTargetLowering()
2922 MVT XLenVT = Subtarget.getXLenVT(); in lowerVectorFTRUNC_FCEIL_FFLOOR_FROUND() local
2940 DAG.getTargetConstant(FRM, DL, XLenVT), VL); in lowerVectorFTRUNC_FCEIL_FFLOOR_FROUND()
3030 MVT XLenVT = Subtarget.getXLenVT(); in lowerVectorStrictFTRUNC_FCEIL_FFLOOR_FROUND() local
3044 {Chain, Src, Mask, DAG.getTargetConstant(FRM, DL, XLenVT), VL}); in lowerVectorStrictFTRUNC_FCEIL_FFLOOR_FROUND()
3355 MVT XLenVT = Subtarget.getXLenVT(); in lowerBuildVectorViaDominantValues() local
3417 LastOp = DAG.getNode(ISD::ANY_EXTEND, DL, XLenVT, LastOp); in lowerBuildVectorViaDominantValues()
3431 DAG.getConstant(OpIdx.index(), DL, XLenVT)); in lowerBuildVectorViaDominantValues()
3438 return DAG.getConstant(V == V1, DL, XLenVT); in lowerBuildVectorViaDominantValues()
3462 MVT XLenVT = Subtarget.getXLenVT(); in lowerBuildVectorOfConstants() local
3514 SDValue Elt = DAG.getConstant(Bits, DL, XLenVT); in lowerBuildVectorOfConstants()
3531 DAG.getConstant(0, DL, XLenVT)); in lowerBuildVectorOfConstants()
3546 Splat = DAG.getNode(ISD::ANY_EXTEND, DL, XLenVT, Splat); in lowerBuildVectorOfConstants()
3646 DAG.getConstant(SplatValue, DL, XLenVT), in lowerBuildVectorOfConstants()
3647 DAG.getConstant(0, DL, XLenVT)); in lowerBuildVectorOfConstants()
3651 DAG.getConstant(0, DL, XLenVT)); in lowerBuildVectorOfConstants()
3704 assert((ViaIntVT.bitsLE(XLenVT) || in lowerBuildVectorOfConstants()
3707 if (ViaIntVT.bitsLE(XLenVT) || isInt<32>(SplatValue)) { in lowerBuildVectorOfConstants()
3709 DAG.getConstant(ViaVecVT.getVectorNumElements(), DL, XLenVT); in lowerBuildVectorOfConstants()
3715 DAG.getConstant(SplatValue, DL, XLenVT), ViaVL); in lowerBuildVectorOfConstants()
3720 DAG.getConstant(0, DL, XLenVT)); in lowerBuildVectorOfConstants()
3767 MVT XLenVT = Subtarget.getXLenVT(); in lowerBUILD_VECTOR() local
3799 Splat = DAG.getNode(ISD::ANY_EXTEND, DL, XLenVT, Splat); in lowerBUILD_VECTOR()
4007 MVT XLenVT = Subtarget.getXLenVT(); in lowerScalarSplat() local
4010 if (Scalar.getValueType().bitsLE(XLenVT)) { in lowerScalarSplat()
4017 Scalar = DAG.getNode(ExtOpc, DL, XLenVT, Scalar); in lowerScalarSplat()
4021 assert(XLenVT == MVT::i32 && Scalar.getValueType() == MVT::i64 && in lowerScalarSplat()
4026 DAG.getConstant(0, DL, XLenVT), VL); in lowerScalarSplat()
4041 const MVT XLenVT = Subtarget.getXLenVT(); in lowerScalarInsert() local
4060 ExtractedVal, DAG.getConstant(0, DL, XLenVT)); in lowerScalarInsert()
4062 DAG.getConstant(0, DL, XLenVT)); in lowerScalarInsert()
4073 if (!Scalar.getValueType().bitsLE(XLenVT)) in lowerScalarInsert()
4075 DAG.getConstant(1, DL, XLenVT), in lowerScalarInsert()
4084 Scalar = DAG.getNode(ExtOpc, DL, XLenVT, Scalar); in lowerScalarInsert()
4361 MVT XLenVT = Subtarget.getXLenVT(); in lowerVECTOR_SHUFFLEAsVSlidedown() local
4368 DAG.getConstant(NewMask[0], DL, XLenVT), TrueMask, VL); in lowerVECTOR_SHUFFLEAsVSlidedown()
4372 DAG.getConstant(0, DL, XLenVT)); in lowerVECTOR_SHUFFLEAsVSlidedown()
4402 MVT XLenVT = Subtarget.getXLenVT(); in lowerVECTOR_SHUFFLEAsVSlideup() local
4415 SDValue VL = DAG.getConstant(NumSubElts + Index, DL, XLenVT); in lowerVECTOR_SHUFFLEAsVSlideup()
4425 DAG.getConstant(Index, DL, XLenVT), TrueMask, VL, Policy); in lowerVECTOR_SHUFFLEAsVSlideup()
4741 MVT XLenVT = Subtarget.getXLenVT(); in lowerVECTOR_SHUFFLE() local
4794 if (SVT.isInteger() && SVT.bitsGT(XLenVT)) { in lowerVECTOR_SHUFFLE()
4797 DAG.getTargetConstant(Intrinsic::riscv_vlse, DL, XLenVT); in lowerVECTOR_SHUFFLE()
4802 DAG.getRegister(RISCV::X0, XLenVT), in lowerVECTOR_SHUFFLE()
4821 V = DAG.getExtLoad(ISD::SEXTLOAD, DL, XLenVT, Ld->getChain(), NewAddr, in lowerVECTOR_SHUFFLE()
4837 V1, DAG.getConstant(Lane, DL, XLenVT), in lowerVECTOR_SHUFFLE()
4888 DAG.getConstant(Rotation, DL, XLenVT), TrueMask, VL); in lowerVECTOR_SHUFFLE()
4892 DAG.getConstant(InvRotate, DL, XLenVT), TrueMask, VL, in lowerVECTOR_SHUFFLE()
4921 DAG.getConstant(EvenSrc % Size, DL, XLenVT)); in lowerVECTOR_SHUFFLE()
4926 DAG.getConstant(OddSrc % Size, DL, XLenVT)); in lowerVECTOR_SHUFFLE()
4952 MaskVals.push_back(DAG.getConstant(SelectMaskVal, DL, XLenVT)); in lowerVECTOR_SHUFFLE()
4992 MaskVals.push_back(DAG.getConstant(SelectMaskVal, DL, XLenVT)); in lowerVECTOR_SHUFFLE()
4995 ? DAG.getConstant(MaskIndex, DL, XLenVT) in lowerVECTOR_SHUFFLE()
4996 : DAG.getUNDEF(XLenVT)); in lowerVECTOR_SHUFFLE()
4998 IsLHSOrUndefIndex ? DAG.getUNDEF(XLenVT) in lowerVECTOR_SHUFFLE()
4999 : DAG.getConstant(MaskIndex - NumElts, DL, XLenVT)); in lowerVECTOR_SHUFFLE()
5021 if (IndexVT.getScalarType().bitsGT(XLenVT)) { in lowerVECTOR_SHUFFLE()
5052 DAG.getConstant(SplatIndex, DL, XLenVT), in lowerVECTOR_SHUFFLE()
5079 DAG.getConstant(SplatIndex, DL, XLenVT), Gather, in lowerVECTOR_SHUFFLE()
5365 MVT XLenVT = Subtarget.getXLenVT(); in LowerIS_FPCLASS() local
5391 SDValue TDCMaskV = DAG.getConstant(TDCMask, DL, XLenVT); in LowerIS_FPCLASS()
5444 SDValue SplatZero = DAG.getConstant(0, DL, XLenVT); in LowerIS_FPCLASS()
5454 SDValue FCLASS = DAG.getNode(RISCVISD::FCLASS, DL, XLenVT, Op.getOperand(0)); in LowerIS_FPCLASS()
5455 SDValue AND = DAG.getNode(ISD::AND, DL, XLenVT, FCLASS, TDCMaskV); in LowerIS_FPCLASS()
5456 SDValue Res = DAG.getSetCC(DL, XLenVT, AND, DAG.getConstant(0, DL, XLenVT), in LowerIS_FPCLASS()
5472 MVT XLenVT = Subtarget.getXLenVT(); in lowerFMAXIMUM_FMINIMUM() local
5481 SDValue XIsNonNan = DAG.getSetCC(DL, XLenVT, X, X, ISD::SETOEQ); in lowerFMAXIMUM_FMINIMUM()
5487 SDValue YIsNonNan = DAG.getSetCC(DL, XLenVT, Y, Y, ISD::SETOEQ); in lowerFMAXIMUM_FMINIMUM()
5888 MVT XLenVT = Subtarget.getXLenVT(); in LowerOperation() local
5891 SDValue NewOp0 = DAG.getNode(ISD::ANY_EXTEND, DL, XLenVT, Op0); in LowerOperation()
5897 SDValue NewOp0 = DAG.getNode(ISD::ANY_EXTEND, DL, XLenVT, Op0); in LowerOperation()
5908 if (VT == MVT::f64 && Op0VT == MVT::i64 && XLenVT == MVT::i32 && in LowerOperation()
5942 DAG.getConstant(0, DL, XLenVT))); in LowerOperation()
5955 DAG.getConstant(0, DL, XLenVT)); in LowerOperation()
6023 MVT XLenVT = Subtarget.getXLenVT(); in LowerOperation() local
6026 SDValue Res = DAG.getNode(RISCVISD::READ_VLENB, DL, XLenVT); in LowerOperation()
6039 Res = DAG.getNode(ISD::SRL, DL, XLenVT, Res, in LowerOperation()
6042 Res = DAG.getNode(ISD::SHL, DL, XLenVT, Res, in LowerOperation()
6043 DAG.getConstant(Log2 - 3, DL, XLenVT)); in LowerOperation()
6047 Res = DAG.getNode(ISD::MUL, DL, XLenVT, Res, in LowerOperation()
6048 DAG.getConstant(Val / 8, DL, XLenVT)); in LowerOperation()
6050 SDValue VScale = DAG.getNode(ISD::SRL, DL, XLenVT, Res, in LowerOperation()
6051 DAG.getConstant(3, DL, XLenVT)); in LowerOperation()
6052 Res = DAG.getNode(ISD::MUL, DL, XLenVT, VScale, in LowerOperation()
6053 DAG.getConstant(Val, DL, XLenVT)); in LowerOperation()
6910 MVT XLenVT = Subtarget.getXLenVT(); in getStaticTLSAddr() local
6929 SDValue TPReg = DAG.getRegister(RISCV::X4, XLenVT); in getStaticTLSAddr()
6945 SDValue TPReg = DAG.getRegister(RISCV::X4, XLenVT); in getStaticTLSAddr()
7188 MVT XLenVT = Subtarget.getXLenVT(); in lowerSELECT() local
7259 SDValue XOR = DAG.getNode(ISD::XOR, DL, XLenVT, CondV, in lowerSELECT()
7260 DAG.getConstant(1, DL, XLenVT)); in lowerSELECT()
7270 CondV.getOperand(0).getSimpleValueType() != XLenVT) { in lowerSELECT()
7271 SDValue Zero = DAG.getConstant(0, DL, XLenVT); in lowerSELECT()
7339 MVT XLenVT = Subtarget.getXLenVT(); in lowerBRCOND() local
7342 CondV.getOperand(0).getValueType() == XLenVT) { in lowerBRCOND()
7355 CondV, DAG.getConstant(0, DL, XLenVT), in lowerBRCOND()
7403 MVT XLenVT = Subtarget.getXLenVT(); in lowerRETURNADDR() local
7423 Register Reg = MF.addLiveIn(RI.getRARegister(), getRegClassFor(XLenVT)); in lowerRETURNADDR()
7424 return DAG.getCopyFromReg(DAG.getEntryNode(), DL, Reg, XLenVT); in lowerRETURNADDR()
7599 MVT XLenVT = Subtarget.getXLenVT(); in lowerVectorMaskExt() local
7600 SDValue SplatZero = DAG.getConstant(0, DL, XLenVT); in lowerVectorMaskExt()
7601 SDValue SplatTrueVal = DAG.getConstant(ExtTrueVal, DL, XLenVT); in lowerVectorMaskExt()
7967 MVT XLenVT = Subtarget.getXLenVT(); in lowerINSERT_VECTOR_ELT() local
7991 Val = DAG.getNode(ISD::ANY_EXTEND, DL, XLenVT, Val); in lowerINSERT_VECTOR_ELT()
8014 SDValue InsertI64VL = DAG.getConstant(2, DL, XLenVT); in lowerINSERT_VECTOR_ELT()
8053 DAG.getNode(ISD::ADD, DL, XLenVT, Idx, DAG.getConstant(1, DL, XLenVT)); in lowerINSERT_VECTOR_ELT()
8082 MVT XLenVT = Subtarget.getXLenVT(); in lowerEXTRACT_VECTOR_ELT() local
8094 DAG.getNode(RISCVISD::VFIRST_VL, DL, XLenVT, Vec, Mask, VL); in lowerEXTRACT_VECTOR_ELT()
8095 SDValue Res = DAG.getSetCC(DL, XLenVT, Vfirst, in lowerEXTRACT_VECTOR_ELT()
8096 DAG.getConstant(0, DL, XLenVT), ISD::SETEQ); in lowerEXTRACT_VECTOR_ELT()
8108 std::min(MaxEEW, unsigned(XLenVT.getSizeInBits()))); in lowerEXTRACT_VECTOR_ELT()
8114 ExtractElementIdx = DAG.getConstant(0, DL, XLenVT); in lowerEXTRACT_VECTOR_ELT()
8121 ISD::SRL, DL, XLenVT, Idx, in lowerEXTRACT_VECTOR_ELT()
8122 DAG.getConstant(Log2_64(WideEltVT.getSizeInBits()), DL, XLenVT)); in lowerEXTRACT_VECTOR_ELT()
8125 ISD::AND, DL, XLenVT, Idx, in lowerEXTRACT_VECTOR_ELT()
8126 DAG.getConstant(WideEltVT.getSizeInBits() - 1, DL, XLenVT)); in lowerEXTRACT_VECTOR_ELT()
8130 SDValue ExtractElt = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, XLenVT, in lowerEXTRACT_VECTOR_ELT()
8134 DAG.getNode(ISD::SRL, DL, XLenVT, ExtractElt, ExtractBitIdx); in lowerEXTRACT_VECTOR_ELT()
8135 SDValue Res = DAG.getNode(ISD::AND, DL, XLenVT, ShiftRight, in lowerEXTRACT_VECTOR_ELT()
8136 DAG.getConstant(1, DL, XLenVT)); in lowerEXTRACT_VECTOR_ELT()
8188 DAG.getConstant(0, DL, XLenVT)); in lowerEXTRACT_VECTOR_ELT()
8219 DAG.getConstant(0, DL, XLenVT)); in lowerEXTRACT_VECTOR_ELT()
8222 SDValue Elt0 = DAG.getNode(RISCVISD::VMV_X_S, DL, XLenVT, Vec); in lowerEXTRACT_VECTOR_ELT()
8255 MVT XLenVT = Subtarget.getXLenVT(); in lowerVectorIntrinsicScalars() local
8258 if (!OpVT.isScalarInteger() || OpVT == XLenVT) in lowerVectorIntrinsicScalars()
8262 if (OpVT.bitsLT(XLenVT)) { in lowerVectorIntrinsicScalars()
8269 ScalarOp = DAG.getNode(ExtOpc, DL, XLenVT, ScalarOp); in lowerVectorIntrinsicScalars()
8283 assert(XLenVT == MVT::i32 && OpVT == MVT::i64 && in lowerVectorIntrinsicScalars()
8320 I32VL = DAG.getConstant(2 * AVLInt, DL, XLenVT); in lowerVectorIntrinsicScalars()
8324 SDValue LMUL = DAG.getConstant(Lmul, DL, XLenVT); in lowerVectorIntrinsicScalars()
8326 SDValue SEW = DAG.getConstant(Sew, DL, XLenVT); in lowerVectorIntrinsicScalars()
8329 I32VL = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, DL, XLenVT, SETVLMAX, SEW, in lowerVectorIntrinsicScalars()
8339 SDValue LMUL = DAG.getConstant(Lmul, DL, XLenVT); in lowerVectorIntrinsicScalars()
8341 SDValue SEW = DAG.getConstant(Sew, DL, XLenVT); in lowerVectorIntrinsicScalars()
8346 SDValue VL = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, DL, XLenVT, SETVL, AVL, in lowerVectorIntrinsicScalars()
8349 DAG.getNode(ISD::SHL, DL, XLenVT, VL, DAG.getConstant(1, DL, XLenVT)); in lowerVectorIntrinsicScalars()
8401 assert(VL.getValueType() == XLenVT); in lowerVectorIntrinsicScalars()
8418 MVT XLenVT = Subtarget.getXLenVT(); in lowerGetVectorLength() local
8440 SDValue LMul = DAG.getTargetConstant(VLMUL, DL, XLenVT); in lowerGetVectorLength()
8441 SDValue Sew = DAG.getTargetConstant(VSEW, DL, XLenVT); in lowerGetVectorLength()
8443 SDValue AVL = DAG.getNode(ISD::ZERO_EXTEND, DL, XLenVT, N->getOperand(1)); in lowerGetVectorLength()
8445 SDValue ID = DAG.getTargetConstant(Intrinsic::riscv_vsetvli, DL, XLenVT); in lowerGetVectorLength()
8447 DAG.getNode(ISD::INTRINSIC_WO_CHAIN, DL, XLenVT, ID, AVL, Sew, LMul); in lowerGetVectorLength()
8485 MVT XLenVT = Subtarget.getXLenVT(); in LowerINTRINSIC_WO_CHAIN() local
8521 return DAG.getNode(Opc, DL, XLenVT, Op.getOperand(1)); in LowerINTRINSIC_WO_CHAIN()
8538 return DAG.getNode(Opc, DL, XLenVT, Op.getOperand(1), Op.getOperand(2), in LowerINTRINSIC_WO_CHAIN()
8545 return DAG.getNode(Opc, DL, XLenVT, Op.getOperand(1)); in LowerINTRINSIC_WO_CHAIN()
8556 return DAG.getNode(RISCVISD::CLMUL, DL, XLenVT, Op.getOperand(1), in LowerINTRINSIC_WO_CHAIN()
8577 return DAG.getNode(Opc, DL, XLenVT, Op.getOperand(1), Op.getOperand(2)); in LowerINTRINSIC_WO_CHAIN()
8582 SDValue Res = DAG.getNode(RISCVISD::VMV_X_S, DL, XLenVT, Op.getOperand(1)); in LowerINTRINSIC_WO_CHAIN()
8587 Op.getOperand(1), DAG.getConstant(0, DL, XLenVT)); in LowerINTRINSIC_WO_CHAIN()
8598 if (Scalar.getValueType().bitsLE(XLenVT)) { in LowerINTRINSIC_WO_CHAIN()
8599 Scalar = DAG.getNode(ISD::ANY_EXTEND, DL, XLenVT, Scalar); in LowerINTRINSIC_WO_CHAIN()
8738 MVT XLenVT = Subtarget.getXLenVT(); in LowerINTRINSIC_W_CHAIN() local
8770 DAG.getExtLoad(ISD::ZEXTLOAD, DL, XLenVT, Load->getChain(), Ptr, in LowerINTRINSIC_W_CHAIN()
8778 XLenVT); in LowerINTRINSIC_W_CHAIN()
8792 DAG.getTargetConstant(RISCVII::TAIL_AGNOSTIC, DL, XLenVT); in LowerINTRINSIC_W_CHAIN()
8821 MVT XLenVT = Subtarget.getXLenVT(); in LowerINTRINSIC_W_CHAIN() local
8827 SDValue IntID = DAG.getTargetConstant(VlsegInts[NF - 2], DL, XLenVT); in LowerINTRINSIC_W_CHAIN()
8902 MVT XLenVT = Subtarget.getXLenVT(); in LowerINTRINSIC_VOID() local
8926 XLenVT); in LowerINTRINSIC_VOID()
8957 MVT XLenVT = Subtarget.getXLenVT(); in LowerINTRINSIC_VOID() local
8963 SDValue IntID = DAG.getTargetConstant(VssegInts[NF - 2], DL, XLenVT); in LowerINTRINSIC_VOID()
9103 MVT XLenVT = Subtarget.getXLenVT(); in lowerVectorMaskVecReduction() local
9122 SDValue Zero = DAG.getConstant(0, DL, XLenVT); in lowerVectorMaskVecReduction()
9132 Vec = DAG.getNode(RISCVISD::VCPOP_VL, DL, XLenVT, Vec, Mask, VL); in lowerVectorMaskVecReduction()
9140 Vec = DAG.getNode(RISCVISD::VCPOP_VL, DL, XLenVT, Vec, Mask, VL); in lowerVectorMaskVecReduction()
9147 SDValue One = DAG.getConstant(1, DL, XLenVT); in lowerVectorMaskVecReduction()
9148 Vec = DAG.getNode(RISCVISD::VCPOP_VL, DL, XLenVT, Vec, Mask, VL); in lowerVectorMaskVecReduction()
9149 Vec = DAG.getNode(ISD::AND, DL, XLenVT, Vec, One); in lowerVectorMaskVecReduction()
9156 SDValue SetCC = DAG.getSetCC(DL, XLenVT, Vec, Zero, CC); in lowerVectorMaskVecReduction()
9186 const MVT XLenVT = Subtarget.getXLenVT(); in lowerReductionSeq() local
9195 auto InnerVL = NonZeroAVL ? VL : DAG.getConstant(1, DL, XLenVT); in lowerReductionSeq()
9201 InitialValue, DAG.getConstant(0, DL, XLenVT)); in lowerReductionSeq()
9203 SDValue Policy = DAG.getTargetConstant(RISCVII::TAIL_AGNOSTIC, DL, XLenVT); in lowerReductionSeq()
9207 DAG.getConstant(0, DL, XLenVT)); in lowerReductionSeq()
9252 MVT XLenVT = Subtarget.getXLenVT(); in lowerVECREDUCE() local
9254 DAG.getConstant(0, DL, XLenVT)); in lowerVECREDUCE()
9283 MVT XLenVT = Subtarget.getXLenVT(); in getRVVFPReductionOpAndOperands() local
9286 DAG.getConstant(0, DL, XLenVT)); in getRVVFPReductionOpAndOperands()
9350 MVT XLenVT = Subtarget.getXLenVT(); in lowerINSERT_SUBVECTOR() local
9408 DAG.getConstant(0, DL, XLenVT)); in lowerINSERT_SUBVECTOR()
9415 DAG.getConstant(0, DL, XLenVT)); in lowerINSERT_SUBVECTOR()
9434 SDValue SlideupAmt = DAG.getConstant(OrigIdx, DL, XLenVT); in lowerINSERT_SUBVECTOR()
9482 DAG.getConstant(AlignedIdx, DL, XLenVT)); in lowerINSERT_SUBVECTOR()
9487 DAG.getConstant(0, DL, XLenVT)); in lowerINSERT_SUBVECTOR()
9500 DAG.getVScale(DL, XLenVT, APInt(XLenVT.getSizeInBits(), RemIdx)); in lowerINSERT_SUBVECTOR()
9503 VL = DAG.getNode(ISD::ADD, DL, XLenVT, SlideupAmt, VL); in lowerINSERT_SUBVECTOR()
9513 DAG.getConstant(AlignedIdx, DL, XLenVT)); in lowerINSERT_SUBVECTOR()
9527 MVT XLenVT = Subtarget.getXLenVT(); in lowerEXTRACT_SUBVECTOR() local
9600 SDValue SlidedownAmt = DAG.getConstant(OrigIdx, DL, XLenVT); in lowerEXTRACT_SUBVECTOR()
9606 DAG.getConstant(0, DL, XLenVT)); in lowerEXTRACT_SUBVECTOR()
9638 DAG.getVScale(DL, XLenVT, APInt(XLenVT.getSizeInBits(), RemIdx)); in lowerEXTRACT_SUBVECTOR()
9648 DAG.getConstant(0, DL, XLenVT)); in lowerEXTRACT_SUBVECTOR()
9689 MVT XLenVT = Subtarget.getXLenVT(); in lowerVECTOR_DEINTERLEAVE() local
9755 DAG.getConstant(0, DL, XLenVT)); in lowerVECTOR_DEINTERLEAVE()
9757 DAG.getConstant(0, DL, XLenVT)); in lowerVECTOR_DEINTERLEAVE()
9774 MVT XLenVT = Subtarget.getXLenVT(); in lowerVECTOR_INTERLEAVE() local
9775 SDValue VL = DAG.getRegister(RISCV::X0, XLenVT); in lowerVECTOR_INTERLEAVE()
9816 SDValue Ones = DAG.getSplatVector(IdxVT, DL, DAG.getConstant(1, DL, XLenVT)); in lowerVECTOR_INTERLEAVE()
9822 DAG.getSplatVector(IdxVT, DL, DAG.getConstant(0, DL, XLenVT)), in lowerVECTOR_INTERLEAVE()
9858 MVT XLenVT = Subtarget.getXLenVT(); in lowerSTEP_VECTOR() local
9866 DAG.getConstant(Log2_64(StepValImm), DL, XLenVT), VL); in lowerSTEP_VECTOR()
9931 MVT XLenVT = Subtarget.getXLenVT(); in lowerVECTOR_REVERSE() local
9935 SDValue VLMinus1 = DAG.getNode(ISD::SUB, DL, XLenVT, in lowerVECTOR_REVERSE()
9937 DAG.getConstant(1, DL, XLenVT)); in lowerVECTOR_REVERSE()
9947 VLMinus1, DAG.getRegister(RISCV::X0, XLenVT)); in lowerVECTOR_REVERSE()
9962 MVT XLenVT = Subtarget.getXLenVT(); in lowerVECTOR_SPLICE() local
9972 DownOffset = DAG.getConstant(ImmValue, DL, XLenVT); in lowerVECTOR_SPLICE()
9973 UpOffset = DAG.getNode(ISD::SUB, DL, XLenVT, VLMax, DownOffset); in lowerVECTOR_SPLICE()
9977 UpOffset = DAG.getConstant(-ImmValue, DL, XLenVT); in lowerVECTOR_SPLICE()
9978 DownOffset = DAG.getNode(ISD::SUB, DL, XLenVT, VLMax, UpOffset); in lowerVECTOR_SPLICE()
9987 TrueMask, DAG.getRegister(RISCV::X0, XLenVT), in lowerVECTOR_SPLICE()
10003 MVT XLenVT = Subtarget.getXLenVT(); in lowerFixedLengthVectorLoadToRVV() local
10023 IsMaskOp ? Intrinsic::riscv_vlm : Intrinsic::riscv_vle, DL, XLenVT); in lowerFixedLengthVectorLoadToRVV()
10051 MVT XLenVT = Subtarget.getXLenVT(); in lowerFixedLengthVectorStoreToRVV() local
10081 IsMaskOp ? Intrinsic::riscv_vsm : Intrinsic::riscv_vse, DL, XLenVT); in lowerFixedLengthVectorStoreToRVV()
10112 MVT XLenVT = Subtarget.getXLenVT(); in lowerMaskedLoad() local
10129 SmallVector<SDValue, 8> Ops{Chain, DAG.getTargetConstant(IntID, DL, XLenVT)}; in lowerMaskedLoad()
10139 Ops.push_back(DAG.getTargetConstant(RISCVII::TAIL_AGNOSTIC, DL, XLenVT)); in lowerMaskedLoad()
10177 MVT XLenVT = Subtarget.getXLenVT(); in lowerMaskedStore() local
10195 SmallVector<SDValue, 8> Ops{Chain, DAG.getTargetConstant(IntID, DL, XLenVT)}; in lowerMaskedStore()
10527 MVT XLenVT = Subtarget.getXLenVT(); in lowerVPExtMaskOp() local
10528 SDValue Zero = DAG.getConstant(0, DL, XLenVT); in lowerVPExtMaskOp()
10533 Op.getOpcode() == ISD::VP_ZERO_EXTEND ? 1 : -1, DL, XLenVT); in lowerVPExtMaskOp()
10658 MVT XLenVT = Subtarget.getXLenVT(); in lowerVPFPIntConvOp() local
10659 SDValue Zero = DAG.getConstant(0, DL, XLenVT); in lowerVPFPIntConvOp()
10663 RISCVISDExtOpc == RISCVISD::VZEXT_VL ? 1 : -1, DL, XLenVT); in lowerVPFPIntConvOp()
10726 MVT XLenVT = Subtarget.getXLenVT(); in lowerVPFPIntConvOp() local
10727 SDValue SplatZero = DAG.getConstant(0, DL, XLenVT); in lowerVPFPIntConvOp()
10769 const MVT XLenVT = Subtarget.getXLenVT(); in lowerVPSpliceExperimental() local
10787 DAG.getConstant(1, DL, XLenVT), EVL1); in lowerVPSpliceExperimental()
10790 DAG.getConstant(0, DL, XLenVT), EVL1); in lowerVPSpliceExperimental()
10796 DAG.getConstant(1, DL, XLenVT), EVL2); in lowerVPSpliceExperimental()
10799 DAG.getConstant(0, DL, XLenVT), EVL2); in lowerVPSpliceExperimental()
10809 DownOffset = DAG.getConstant(ImmValue, DL, XLenVT); in lowerVPSpliceExperimental()
10810 UpOffset = DAG.getNode(ISD::SUB, DL, XLenVT, EVL1, DownOffset); in lowerVPSpliceExperimental()
10814 UpOffset = DAG.getConstant(-ImmValue, DL, XLenVT); in lowerVPSpliceExperimental()
10815 DownOffset = DAG.getNode(ISD::SUB, DL, XLenVT, EVL1, UpOffset); in lowerVPSpliceExperimental()
10843 MVT XLenVT = Subtarget.getXLenVT(); in lowerVPReverseExperimental() local
10867 DAG.getConstant(1, DL, XLenVT), EVL); in lowerVPReverseExperimental()
10870 DAG.getConstant(0, DL, XLenVT), EVL); in lowerVPReverseExperimental()
10910 SDValue VLMax = DAG.getNode(ISD::VSCALE, DL, XLenVT, in lowerVPReverseExperimental()
10911 DAG.getConstant(MinElts, DL, XLenVT)); in lowerVPReverseExperimental()
10912 SDValue Diff = DAG.getNode(ISD::SUB, DL, XLenVT, VLMax, EVL); in lowerVPReverseExperimental()
10938 DAG.getNode(ISD::SUB, DL, XLenVT, EVL, DAG.getConstant(1, DL, XLenVT)); in lowerVPReverseExperimental()
10988 MVT XLenVT = Subtarget.getXLenVT(); in lowerVPStridedLoad() local
11003 DL, XLenVT); in lowerVPStridedLoad()
11016 SDValue Policy = DAG.getTargetConstant(RISCVII::TAIL_AGNOSTIC, DL, XLenVT); in lowerVPStridedLoad()
11034 MVT XLenVT = Subtarget.getXLenVT(); in lowerVPStridedStore() local
11051 DL, XLenVT); in lowerVPStridedStore()
11105 MVT XLenVT = Subtarget.getXLenVT(); in lowerMaskedGather() local
11109 assert(BasePtr.getSimpleValueType() == XLenVT && "Unexpected pointer type"); in lowerMaskedGather()
11137 if (XLenVT == MVT::i32 && IndexVT.getVectorElementType().bitsGT(XLenVT)) { in lowerMaskedGather()
11138 IndexVT = IndexVT.changeVectorElementType(XLenVT); in lowerMaskedGather()
11144 SmallVector<SDValue, 8> Ops{Chain, DAG.getTargetConstant(IntID, DL, XLenVT)}; in lowerMaskedGather()
11155 Ops.push_back(DAG.getTargetConstant(RISCVII::TAIL_AGNOSTIC, DL, XLenVT)); in lowerMaskedGather()
11204 MVT XLenVT = Subtarget.getXLenVT(); in lowerMaskedScatter() local
11208 assert(BasePtr.getSimpleValueType() == XLenVT && "Unexpected pointer type"); in lowerMaskedScatter()
11236 if (XLenVT == MVT::i32 && IndexVT.getVectorElementType().bitsGT(XLenVT)) { in lowerMaskedScatter()
11237 IndexVT = IndexVT.changeVectorElementType(XLenVT); in lowerMaskedScatter()
11243 SmallVector<SDValue, 8> Ops{Chain, DAG.getTargetConstant(IntID, DL, XLenVT)}; in lowerMaskedScatter()
11257 const MVT XLenVT = Subtarget.getXLenVT(); in lowerGET_ROUNDING() local
11261 RISCVSysReg::lookupSysRegByName("FRM")->Encoding, DL, XLenVT); in lowerGET_ROUNDING()
11262 SDVTList VTs = DAG.getVTList(XLenVT, MVT::Other); in lowerGET_ROUNDING()
11277 DAG.getNode(ISD::SHL, DL, XLenVT, RM, DAG.getConstant(2, DL, XLenVT)); in lowerGET_ROUNDING()
11278 SDValue Shifted = DAG.getNode(ISD::SRL, DL, XLenVT, in lowerGET_ROUNDING()
11279 DAG.getConstant(Table, DL, XLenVT), Shift); in lowerGET_ROUNDING()
11280 SDValue Masked = DAG.getNode(ISD::AND, DL, XLenVT, Shifted, in lowerGET_ROUNDING()
11281 DAG.getConstant(7, DL, XLenVT)); in lowerGET_ROUNDING()
11288 const MVT XLenVT = Subtarget.getXLenVT(); in lowerSET_ROUNDING() local
11293 RISCVSysReg::lookupSysRegByName("FRM")->Encoding, DL, XLenVT); in lowerSET_ROUNDING()
11306 RMValue = DAG.getNode(ISD::ZERO_EXTEND, DL, XLenVT, RMValue); in lowerSET_ROUNDING()
11308 SDValue Shift = DAG.getNode(ISD::SHL, DL, XLenVT, RMValue, in lowerSET_ROUNDING()
11309 DAG.getConstant(2, DL, XLenVT)); in lowerSET_ROUNDING()
11310 SDValue Shifted = DAG.getNode(ISD::SRL, DL, XLenVT, in lowerSET_ROUNDING()
11311 DAG.getConstant(Table, DL, XLenVT), Shift); in lowerSET_ROUNDING()
11312 RMValue = DAG.getNode(ISD::AND, DL, XLenVT, Shifted, in lowerSET_ROUNDING()
11313 DAG.getConstant(0x7, DL, XLenVT)); in lowerSET_ROUNDING()
11534 MVT XLenVT = Subtarget.getXLenVT(); in ReplaceNodeResults() local
11535 S = DAG.getNode(ISD::TRUNCATE, DL, XLenVT, S); in ReplaceNodeResults()
11536 U = DAG.getNode(ISD::TRUNCATE, DL, XLenVT, U); in ReplaceNodeResults()
11537 SDValue Lo = DAG.getNode(ISD::MUL, DL, XLenVT, S, U); in ReplaceNodeResults()
11538 SDValue Hi = DAG.getNode(RISCVISD::MULHSU, DL, XLenVT, S, U); in ReplaceNodeResults()
11781 MVT XLenVT = Subtarget.getXLenVT(); in ReplaceNodeResults() local
11784 SDValue FPConv = DAG.getNode(RISCVISD::FMV_X_ANYEXTH, DL, XLenVT, Op0); in ReplaceNodeResults()
11788 SDValue FPConv = DAG.getNode(RISCVISD::FMV_X_ANYEXTH, DL, XLenVT, Op0); in ReplaceNodeResults()
11795 } else if (VT == MVT::i64 && Op0VT == MVT::f64 && XLenVT == MVT::i32 && in ReplaceNodeResults()
11812 DAG.getConstant(0, DL, XLenVT))); in ReplaceNodeResults()
11819 MVT XLenVT = Subtarget.getXLenVT(); in ReplaceNodeResults() local
11823 SDValue NewOp = DAG.getNode(ISD::ANY_EXTEND, DL, XLenVT, N->getOperand(0)); in ReplaceNodeResults()
11824 SDValue NewRes = DAG.getNode(N->getOpcode(), DL, XLenVT, NewOp); in ReplaceNodeResults()
11859 MVT XLenVT = Subtarget.getXLenVT(); in ReplaceNodeResults() local
11872 SDValue EltLo = DAG.getNode(RISCVISD::VMV_X_S, DL, XLenVT, Vec); in ReplaceNodeResults()
11878 DAG.getConstant(32, DL, XLenVT), VL); in ReplaceNodeResults()
11883 SDValue EltHi = DAG.getNode(RISCVISD::VMV_X_S, DL, XLenVT, LShr32); in ReplaceNodeResults()
11984 MVT XLenVT = Subtarget.getXLenVT(); in ReplaceNodeResults() local
11985 if (VT.bitsLT(XLenVT)) { in ReplaceNodeResults()
12001 SDValue EltLo = DAG.getNode(RISCVISD::VMV_X_S, DL, XLenVT, Vec); in ReplaceNodeResults()
12009 DAG.getConstant(32, DL, XLenVT), VL); in ReplaceNodeResults()
12012 SDValue EltHi = DAG.getNode(RISCVISD::VMV_X_S, DL, XLenVT, LShr32); in ReplaceNodeResults()
13710 MVT XLenVT = Subtarget.getXLenVT(); in tryMemPairCombine() local
13726 Opcode, SDLoc(LSNode1), DAG.getVTList({XLenVT, XLenVT, MVT::Other}), in tryMemPairCombine()
13728 DAG.getConstant(Imm, SDLoc(LSNode1), XLenVT)}, in tryMemPairCombine()
13744 BasePtr, DAG.getConstant(Imm, SDLoc(LSNode1), XLenVT)}, in tryMemPairCombine()
13846 MVT XLenVT = Subtarget.getXLenVT(); in performFP_TO_INTCombine() local
13911 DAG.getTargetConstant(FRM, DL, XLenVT), VL); in performFP_TO_INTCombine()
13923 if (VT != MVT::i32 && VT != XLenVT) in performFP_TO_INTCombine()
13927 if (VT == XLenVT) in performFP_TO_INTCombine()
13932 SDValue FpToInt = DAG.getNode(Opc, DL, XLenVT, Src.getOperand(0), in performFP_TO_INTCombine()
13933 DAG.getTargetConstant(FRM, DL, XLenVT)); in performFP_TO_INTCombine()
13949 MVT XLenVT = Subtarget.getXLenVT(); in performFP_TO_INT_SATCombine() local
13954 if (DstVT != XLenVT) in performFP_TO_INT_SATCombine()
13991 SDValue FpToInt = DAG.getNode(Opc, DL, XLenVT, Src, in performFP_TO_INT_SATCombine()
13992 DAG.getTargetConstant(FRM, DL, XLenVT)); in performFP_TO_INT_SATCombine()
15026 const MVT XLenVT = in legalizeScatterGatherIndexType() local
15036 if (IndexVT.getVectorElementType().bitsLT(XLenVT)) { in legalizeScatterGatherIndexType()
15042 IndexVT.changeVectorElementType(XLenVT), Index); in legalizeScatterGatherIndexType()
15132 const MVT XLenVT = Subtarget.getXLenVT(); in PerformDAGCombine() local
15588 XLenVT); in PerformDAGCombine()
15591 DAG.getConstant(StepNumerator, DL, XLenVT), MGN->getMask()}; in PerformDAGCombine()
15601 MGN->getBasePtr(), DAG.getUNDEF(XLenVT), in PerformDAGCombine()
15671 DAG.getUNDEF(XLenVT), MSN->getMask(), in PerformDAGCombine()
15979 DAG.getConstant(0, DL, XLenVT)); in PerformDAGCombine()
16027 DAG.getUNDEF(XLenVT), Mask, PassThru, in PerformDAGCombine()
16045 DAG.getUNDEF(XLenVT), Mask, in PerformDAGCombine()
17432 MVT XLenVT = XLen == 32 ? MVT::i32 : MVT::i64; in CC_RISCV() local
17486 LocVT = XLenVT; in CC_RISCV()
17560 LocVT = XLenVT; in CC_RISCV()
17608 LocVT = XLenVT; in CC_RISCV()
17611 LocVT = XLenVT; in CC_RISCV()
17647 assert((!UseGPRForF16_F32 || !UseGPRForF64 || LocVT == XLenVT || in CC_RISCV()
18118 MVT XLenVT = Subtarget.getXLenVT(); in LowerFormalArguments() local
18163 Offset = DAG.getNode(ISD::VSCALE, DL, XLenVT, Offset); in LowerFormalArguments()
18217 SDValue ArgValue = DAG.getCopyFromReg(Chain, DL, Reg, XLenVT); in LowerFormalArguments()
18325 MVT XLenVT = Subtarget.getXLenVT(); in LowerCall() local
18369 SDValue SizeNode = DAG.getConstant(Size, DL, XLenVT); in LowerCall()
18450 Offset = DAG.getNode(ISD::VSCALE, DL, XLenVT, Offset); in LowerCall()