Lines Matching refs:ContainerVT
146 MVT ContainerVT = getContainerForFixedLengthVector(VT); in RISCVTargetLowering() local
147 unsigned RCID = getRegClassIDForVecVT(ContainerVT); in RISCVTargetLowering()
1341 getDefaultVLOps(MVT VecVT, MVT ContainerVT, SDLoc DL, SelectionDAG &DAG, in getDefaultVLOps() argument
1343 assert(ContainerVT.isScalableVector() && "Expecting scalable container type"); in getDefaultVLOps()
1348 MVT MaskVT = MVT::getVectorVT(MVT::i1, ContainerVT.getVectorElementCount()); in getDefaultVLOps()
1387 MVT ContainerVT = getContainerForFixedLengthVector(DAG, VT, Subtarget); in lowerSPLAT_VECTOR() local
1391 std::tie(Mask, VL) = getDefaultVLOps(VT, ContainerVT, DL, DAG, Subtarget); in lowerSPLAT_VECTOR()
1395 SDValue Splat = DAG.getNode(Opc, DL, ContainerVT, Op.getOperand(0), VL); in lowerSPLAT_VECTOR()
1476 MVT ContainerVT = getContainerForFixedLengthVector(DAG, VT, Subtarget); in lowerBUILD_VECTOR() local
1480 std::tie(Mask, VL) = getDefaultVLOps(VT, ContainerVT, DL, DAG, Subtarget); in lowerBUILD_VECTOR()
1487 SDValue VMClr = DAG.getNode(RISCVISD::VMCLR_VL, DL, ContainerVT, VL); in lowerBUILD_VECTOR()
1492 SDValue VMSet = DAG.getNode(RISCVISD::VMSET_VL, DL, ContainerVT, VL); in lowerBUILD_VECTOR()
1594 Splat = DAG.getNode(Opc, DL, ContainerVT, Splat, VL); in lowerBUILD_VECTOR()
1607 SDValue VID = DAG.getNode(RISCVISD::VID_VL, DL, ContainerVT, Mask, VL); in lowerBUILD_VECTOR()
1832 MVT ContainerVT = getContainerForFixedLengthVector(DAG, VT, Subtarget); in lowerVECTOR_SHUFFLE() local
1835 std::tie(TrueMask, VL) = getDefaultVLOps(VT, ContainerVT, DL, DAG, Subtarget); in lowerVECTOR_SHUFFLE()
1864 SDVTList VTs = DAG.getVTList({ContainerVT, MVT::Other}); in lowerVECTOR_SHUFFLE()
1894 SDValue Splat = DAG.getNode(Opc, DL, ContainerVT, V, VL); in lowerVECTOR_SHUFFLE()
1898 V1 = convertToScalableVector(ContainerVT, V1, DAG, Subtarget); in lowerVECTOR_SHUFFLE()
1901 DAG.getNode(RISCVISD::VRGATHER_VX_VL, DL, ContainerVT, V1, in lowerVECTOR_SHUFFLE()
1977 ContainerVT.changeVectorElementType(IndexVT.getScalarType()); in lowerVECTOR_SHUFFLE()
1983 Gather = lowerScalarSplat(SplatValue, VL, ContainerVT, DL, DAG, Subtarget); in lowerVECTOR_SHUFFLE()
1989 V1 = convertToScalableVector(ContainerVT, V1, DAG, Subtarget); in lowerVECTOR_SHUFFLE()
1991 DAG.getNode(GatherOpc, DL, ContainerVT, V1, LHSIndices, TrueMask, VL); in lowerVECTOR_SHUFFLE()
1997 MVT MaskContainerVT = ContainerVT.changeVectorElementType(MVT::i1); in lowerVECTOR_SHUFFLE()
2005 V2 = convertToScalableVector(ContainerVT, V2, DAG, Subtarget); in lowerVECTOR_SHUFFLE()
2006 V2 = DAG.getNode(GatherOpc, DL, ContainerVT, V2, RHSIndices, TrueMask, VL); in lowerVECTOR_SHUFFLE()
2007 Gather = DAG.getNode(RISCVISD::VSELECT_VL, DL, ContainerVT, SelectMask, V2, in lowerVECTOR_SHUFFLE()
2014 static SDValue getRVVFPExtendOrRound(SDValue Op, MVT VT, MVT ContainerVT, in getRVVFPExtendOrRound() argument
2022 std::tie(Mask, VL) = getDefaultVLOps(VT, ContainerVT, DL, DAG, Subtarget); in getRVVFPExtendOrRound()
2023 unsigned RVVOpc = ContainerVT.bitsGT(Op.getSimpleValueType()) in getRVVFPExtendOrRound()
2026 return DAG.getNode(RVVOpc, DL, ContainerVT, Op, Mask, VL); in getRVVFPExtendOrRound()
2223 MVT ContainerVT = SrcVT; in LowerOperation() local
2225 ContainerVT = getContainerForFixedLengthVector(SrcVT); in LowerOperation()
2226 Src = convertToScalableVector(ContainerVT, Src, DAG, Subtarget); in LowerOperation()
2232 getDefaultVLOps(SrcVT, ContainerVT, DL, DAG, Subtarget); in LowerOperation()
2234 const ElementCount Count = ContainerVT.getVectorElementCount(); in LowerOperation()
2307 MVT ContainerVT = VT; in LowerOperation() local
2309 ContainerVT = getContainerForFixedLengthVector(VT); in LowerOperation()
2311 ContainerVT.changeVectorElementType(SrcVT.getVectorElementType()); in LowerOperation()
2322 Src = getRVVFPExtendOrRound(Src, VT, ContainerVT, DL, DAG, Subtarget); in LowerOperation()
2327 MVT InterContainerVT = ContainerVT.changeVectorElementType(MVT::f32); in LowerOperation()
2331 SDValue Extend = getRVVFPExtendOrRound(IntermediateExtend, VT, ContainerVT, in LowerOperation()
2347 MVT ContainerVT = VT; in LowerOperation() local
2350 ContainerVT = in LowerOperation()
2362 Src = getRVVFPExtendOrRound(Src, VT, ContainerVT, DL, DAG, Subtarget); in LowerOperation()
2367 std::tie(Mask, VL) = getDefaultVLOps(VT, ContainerVT, DL, DAG, Subtarget); in LowerOperation()
2369 MVT InterVT = ContainerVT.changeVectorElementType(MVT::f32); in LowerOperation()
2372 SDValue Round = getRVVFPExtendOrRound(IntermediateRound, VT, ContainerVT, in LowerOperation()
2464 MVT ContainerVT, SrcContainerVT; in LowerOperation() local
2468 ContainerVT = in LowerOperation()
2471 ContainerVT = getContainerForFixedLengthVector(VT); in LowerOperation()
2472 SrcContainerVT = ContainerVT.changeVectorElementType(SrcEltVT); in LowerOperation()
2476 std::tie(Mask, VL) = getDefaultVLOps(VT, ContainerVT, DL, DAG, Subtarget); in LowerOperation()
2479 Src = DAG.getNode(RVVOpc, DL, ContainerVT, Src, Mask, VL); in LowerOperation()
3176 MVT ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerSPLAT_VECTOR_PARTS() local
3180 getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerSPLAT_VECTOR_PARTS()
3182 SDValue Res = splatPartsI64WithVL(DL, ContainerVT, Lo, Hi, VL, DAG); in lowerSPLAT_VECTOR_PARTS()
3243 MVT ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerVectorMaskExt() local
3245 MVT::getVectorVT(MVT::i1, ContainerVT.getVectorElementCount()); in lowerVectorMaskExt()
3250 std::tie(Mask, VL) = getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerVectorMaskExt()
3252 SplatZero = DAG.getNode(RISCVISD::VMV_V_X_VL, DL, ContainerVT, SplatZero, VL); in lowerVectorMaskExt()
3254 DAG.getNode(RISCVISD::VMV_V_X_VL, DL, ContainerVT, SplatTrueVal, VL); in lowerVectorMaskExt()
3255 SDValue Select = DAG.getNode(RISCVISD::VSELECT_VL, DL, ContainerVT, CC, in lowerVectorMaskExt()
3274 MVT ContainerVT = MVT::getVectorVT(VT.getVectorElementType(), in lowerFixedLengthVectorExtendToRVV() local
3278 convertToScalableVector(ContainerVT, Op.getOperand(0), DAG, Subtarget); in lowerFixedLengthVectorExtendToRVV()
3282 std::tie(Mask, VL) = getDefaultVLOps(VT, ContainerVT, DL, DAG, Subtarget); in lowerFixedLengthVectorExtendToRVV()
3303 MVT ContainerVT = VecVT; in lowerVectorMaskTrunc() local
3305 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerVectorMaskTrunc()
3306 Src = convertToScalableVector(ContainerVT, Src, DAG, Subtarget); in lowerVectorMaskTrunc()
3312 SplatOne = DAG.getNode(RISCVISD::VMV_V_X_VL, DL, ContainerVT, SplatOne); in lowerVectorMaskTrunc()
3313 SplatZero = DAG.getNode(RISCVISD::VMV_V_X_VL, DL, ContainerVT, SplatZero); in lowerVectorMaskTrunc()
3321 std::tie(Mask, VL) = getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerVectorMaskTrunc()
3323 MVT MaskContainerVT = ContainerVT.changeVectorElementType(MVT::i1); in lowerVectorMaskTrunc()
3325 DAG.getNode(RISCVISD::AND_VL, DL, ContainerVT, Src, SplatOne, Mask, VL); in lowerVectorMaskTrunc()
3354 MVT ContainerVT = VecVT; in lowerINSERT_VECTOR_ELT() local
3357 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerINSERT_VECTOR_ELT()
3358 Vec = convertToScalableVector(ContainerVT, Vec, DAG, Subtarget); in lowerINSERT_VECTOR_ELT()
3378 std::tie(Mask, VL) = getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerINSERT_VECTOR_ELT()
3386 Vec = DAG.getNode(Opc, DL, ContainerVT, Vec, Val, VL); in lowerINSERT_VECTOR_ELT()
3392 DAG.getNode(Opc, DL, ContainerVT, DAG.getUNDEF(ContainerVT), Val, VL); in lowerINSERT_VECTOR_ELT()
3402 MVT::getVectorVT(MVT::i32, ContainerVT.getVectorElementCount() * 2); in lowerINSERT_VECTOR_ELT()
3417 ValInVec = DAG.getBitcast(ContainerVT, ValInVec); in lowerINSERT_VECTOR_ELT()
3423 SDValue Slideup = DAG.getNode(RISCVISD::VSLIDEUP_VL, DL, ContainerVT, Vec, in lowerINSERT_VECTOR_ELT()
3452 MVT ContainerVT = VecVT; in lowerEXTRACT_VECTOR_ELT() local
3454 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerEXTRACT_VECTOR_ELT()
3455 Vec = convertToScalableVector(ContainerVT, Vec, DAG, Subtarget); in lowerEXTRACT_VECTOR_ELT()
3462 MVT MaskVT = MVT::getVectorVT(MVT::i1, ContainerVT.getVectorElementCount()); in lowerEXTRACT_VECTOR_ELT()
3464 Vec = DAG.getNode(RISCVISD::VSLIDEDOWN_VL, DL, ContainerVT, in lowerEXTRACT_VECTOR_ELT()
3465 DAG.getUNDEF(ContainerVT), Vec, Idx, Mask, VL); in lowerEXTRACT_VECTOR_ELT()
3761 MVT ContainerVT = VecVT; in lowerVectorMaskVECREDUCE() local
3763 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerVectorMaskVECREDUCE()
3764 Vec = convertToScalableVector(ContainerVT, Vec, DAG, Subtarget); in lowerVectorMaskVECREDUCE()
3768 std::tie(Mask, VL) = getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerVectorMaskVECREDUCE()
3776 Vec = DAG.getNode(RISCVISD::VMXOR_VL, DL, ContainerVT, Vec, Mask, VL); in lowerVectorMaskVECREDUCE()
3820 MVT ContainerVT = VecVT; in lowerVECREDUCE() local
3822 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerVECREDUCE()
3823 Vec = convertToScalableVector(ContainerVT, Vec, DAG, Subtarget); in lowerVECREDUCE()
3826 MVT M1VT = getLMUL1VT(ContainerVT); in lowerVECREDUCE()
3829 std::tie(Mask, VL) = getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerVECREDUCE()
3881 MVT ContainerVT = VecVT; in lowerFPVECREDUCE() local
3883 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerFPVECREDUCE()
3884 VectorVal = convertToScalableVector(ContainerVT, VectorVal, DAG, Subtarget); in lowerFPVECREDUCE()
3890 std::tie(Mask, VL) = getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerFPVECREDUCE()
3958 MVT ContainerVT = VecVT; in lowerINSERT_SUBVECTOR() local
3960 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerINSERT_SUBVECTOR()
3961 Vec = convertToScalableVector(ContainerVT, Vec, DAG, Subtarget); in lowerINSERT_SUBVECTOR()
3963 SubVec = DAG.getNode(ISD::INSERT_SUBVECTOR, DL, ContainerVT, in lowerINSERT_SUBVECTOR()
3964 DAG.getUNDEF(ContainerVT), SubVec, in lowerINSERT_SUBVECTOR()
3967 getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget).first; in lowerINSERT_SUBVECTOR()
3973 SDValue Slideup = DAG.getNode(RISCVISD::VSLIDEUP_VL, DL, ContainerVT, Vec, in lowerINSERT_SUBVECTOR()
4109 MVT ContainerVT = VecVT; in lowerEXTRACT_SUBVECTOR() local
4111 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerEXTRACT_SUBVECTOR()
4112 Vec = convertToScalableVector(ContainerVT, Vec, DAG, Subtarget); in lowerEXTRACT_SUBVECTOR()
4115 getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget).first; in lowerEXTRACT_SUBVECTOR()
4121 DAG.getNode(RISCVISD::VSLIDEDOWN_VL, DL, ContainerVT, in lowerEXTRACT_SUBVECTOR()
4122 DAG.getUNDEF(ContainerVT), Vec, SlidedownAmt, Mask, VL); in lowerEXTRACT_SUBVECTOR()
4292 MVT ContainerVT = getContainerForFixedLengthVector(VT); in lowerFixedLengthVectorLoadToRVV() local
4297 SDVTList VTs = DAG.getVTList({ContainerVT, MVT::Other}); in lowerFixedLengthVectorLoadToRVV()
4328 MVT ContainerVT = getContainerForFixedLengthVector(VT); in lowerFixedLengthVectorStoreToRVV() local
4334 convertToScalableVector(ContainerVT, StoreVal, DAG, Subtarget); in lowerFixedLengthVectorStoreToRVV()
4352 MVT ContainerVT = VT; in lowerMLOAD() local
4354 ContainerVT = getContainerForFixedLengthVector(VT); in lowerMLOAD()
4355 MVT MaskVT = MVT::getVectorVT(MVT::i1, ContainerVT.getVectorElementCount()); in lowerMLOAD()
4358 PassThru = convertToScalableVector(ContainerVT, PassThru, DAG, Subtarget); in lowerMLOAD()
4363 SDVTList VTs = DAG.getVTList({ContainerVT, MVT::Other}); in lowerMLOAD()
4388 MVT ContainerVT = VT; in lowerMSTORE() local
4390 ContainerVT = getContainerForFixedLengthVector(VT); in lowerMSTORE()
4391 MVT MaskVT = MVT::getVectorVT(MVT::i1, ContainerVT.getVectorElementCount()); in lowerMSTORE()
4393 Val = convertToScalableVector(ContainerVT, Val, DAG, Subtarget); in lowerMSTORE()
4410 MVT ContainerVT = getContainerForFixedLengthVector(InVT); in lowerFixedLengthVectorSetccToRVV() local
4415 convertToScalableVector(ContainerVT, Op.getOperand(0), DAG, Subtarget); in lowerFixedLengthVectorSetccToRVV()
4417 convertToScalableVector(ContainerVT, Op.getOperand(1), DAG, Subtarget); in lowerFixedLengthVectorSetccToRVV()
4423 MVT MaskVT = MVT::getVectorVT(MVT::i1, ContainerVT.getVectorElementCount()); in lowerFixedLengthVectorSetccToRVV()
4464 MVT ContainerVT = getContainerForFixedLengthVector(VT); in lowerABS() local
4465 X = convertToScalableVector(ContainerVT, X, DAG, Subtarget); in lowerABS()
4468 std::tie(Mask, VL) = getDefaultVLOps(VT, ContainerVT, DL, DAG, Subtarget); in lowerABS()
4471 DAG.getNode(RISCVISD::VMV_V_X_VL, DL, ContainerVT, in lowerABS()
4474 DAG.getNode(RISCVISD::SUB_VL, DL, ContainerVT, SplatZero, X, Mask, VL); in lowerABS()
4476 DAG.getNode(RISCVISD::SMAX_VL, DL, ContainerVT, X, NegX, Mask, VL); in lowerABS()
4490 MVT ContainerVT = getContainerForFixedLengthVector(VT); in lowerFixedLengthVectorFCOPYSIGNToRVV() local
4491 Mag = convertToScalableVector(ContainerVT, Mag, DAG, Subtarget); in lowerFixedLengthVectorFCOPYSIGNToRVV()
4492 Sign = convertToScalableVector(ContainerVT, Sign, DAG, Subtarget); in lowerFixedLengthVectorFCOPYSIGNToRVV()
4495 std::tie(Mask, VL) = getDefaultVLOps(VT, ContainerVT, DL, DAG, Subtarget); in lowerFixedLengthVectorFCOPYSIGNToRVV()
4498 DAG.getNode(RISCVISD::FCOPYSIGN_VL, DL, ContainerVT, Mag, Sign, Mask, VL); in lowerFixedLengthVectorFCOPYSIGNToRVV()
4506 MVT ContainerVT = getContainerForFixedLengthVector(VT); in lowerFixedLengthVectorSelectToRVV() local
4509 MVT::getVectorVT(MVT::i1, ContainerVT.getVectorElementCount()); in lowerFixedLengthVectorSelectToRVV()
4514 convertToScalableVector(ContainerVT, Op.getOperand(1), DAG, Subtarget); in lowerFixedLengthVectorSelectToRVV()
4516 convertToScalableVector(ContainerVT, Op.getOperand(2), DAG, Subtarget); in lowerFixedLengthVectorSelectToRVV()
4520 std::tie(Mask, VL) = getDefaultVLOps(VT, ContainerVT, DL, DAG, Subtarget); in lowerFixedLengthVectorSelectToRVV()
4523 DAG.getNode(RISCVISD::VSELECT_VL, DL, ContainerVT, CC, Op1, Op2, VL); in lowerFixedLengthVectorSelectToRVV()
4532 MVT ContainerVT = getContainerForFixedLengthVector(VT); in lowerToScalableOp() local
4548 Ops.push_back(convertToScalableVector(ContainerVT, V, DAG, Subtarget)); in lowerToScalableOp()
4553 std::tie(Mask, VL) = getDefaultVLOps(VT, ContainerVT, DL, DAG, Subtarget); in lowerToScalableOp()
4558 SDValue ScalableRes = DAG.getNode(NewOpc, DL, ContainerVT, Ops); in lowerToScalableOp()
4583 MVT ContainerVT = getContainerForFixedLengthVector(OpVT); in lowerVPOp() local
4586 Ops.push_back(convertToScalableVector(ContainerVT, V, DAG, Subtarget)); in lowerVPOp()
4592 MVT ContainerVT = getContainerForFixedLengthVector(VT); in lowerVPOp() local
4594 SDValue VPOp = DAG.getNode(RISCVISDOpc, DL, ContainerVT, Ops); in lowerVPOp()
4629 MVT ContainerVT = VT; in lowerMGATHER() local
4634 ContainerVT = getContainerForFixedLengthVector(VT); in lowerMGATHER()
4636 ContainerVT.getVectorElementCount()); in lowerMGATHER()
4639 ContainerVT = MVT::getVectorVT(ContainerVT.getVectorElementType(), in lowerMGATHER()
4647 MVT::getVectorVT(MVT::i1, ContainerVT.getVectorElementCount()); in lowerMGATHER()
4649 PassThru = convertToScalableVector(ContainerVT, PassThru, DAG, Subtarget); in lowerMGATHER()
4668 SDVTList VTs = DAG.getVTList({ContainerVT, MVT::Other}); in lowerMGATHER()
4713 MVT ContainerVT; in lowerMSCATTER() local
4715 ContainerVT = getContainerForFixedLengthVector(VT); in lowerMSCATTER()
4717 ContainerVT.getVectorElementCount()); in lowerMSCATTER()
4720 ContainerVT = MVT::getVectorVT(VT.getVectorElementType(), in lowerMSCATTER()
4725 Val = convertToScalableVector(ContainerVT, Val, DAG, Subtarget); in lowerMSCATTER()
4729 MVT::getVectorVT(MVT::i1, ContainerVT.getVectorElementCount()); in lowerMSCATTER()
5205 MVT ContainerVT = VecVT; in ReplaceNodeResults() local
5207 ContainerVT = getContainerForFixedLengthVector(VecVT); in ReplaceNodeResults()
5208 Vec = convertToScalableVector(ContainerVT, Vec, DAG, Subtarget); in ReplaceNodeResults()
5221 Vec = DAG.getNode(RISCVISD::VSLIDEDOWN_VL, DL, ContainerVT, in ReplaceNodeResults()
5222 DAG.getUNDEF(ContainerVT), Vec, Idx, Mask, VL); in ReplaceNodeResults()
5230 SDValue ThirtyTwoV = DAG.getNode(RISCVISD::VMV_V_X_VL, DL, ContainerVT, in ReplaceNodeResults()
5232 SDValue LShr32 = DAG.getNode(RISCVISD::SRL_VL, DL, ContainerVT, Vec, in ReplaceNodeResults()