Lines Matching refs:VecVT

1173     MVT VecVT, MVT SubVecVT, unsigned InsertExtractIdx,  in decomposeSubvectorInsertExtractToSubRegs()  argument
1179 unsigned VecRegClassID = getRegClassIDForVecVT(VecVT); in decomposeSubvectorInsertExtractToSubRegs()
1191 VecVT = VecVT.getHalfNumVectorElementsVT(); in decomposeSubvectorInsertExtractToSubRegs()
1193 InsertExtractIdx >= VecVT.getVectorElementCount().getKnownMinValue(); in decomposeSubvectorInsertExtractToSubRegs()
1195 getSubregIndexByMVT(VecVT, IsHi)); in decomposeSubvectorInsertExtractToSubRegs()
1197 InsertExtractIdx -= VecVT.getVectorElementCount().getKnownMinValue(); in decomposeSubvectorInsertExtractToSubRegs()
1341 getDefaultVLOps(MVT VecVT, MVT ContainerVT, SDLoc DL, SelectionDAG &DAG, in getDefaultVLOps() argument
1345 SDValue VL = VecVT.isFixedLengthVector() in getDefaultVLOps()
1346 ? DAG.getConstant(VecVT.getVectorNumElements(), DL, XLenVT) in getDefaultVLOps()
1355 getDefaultScalableVLOps(MVT VecVT, SDLoc DL, SelectionDAG &DAG, in getDefaultScalableVLOps() argument
1357 assert(VecVT.isScalableVector() && "Expecting a scalable vector"); in getDefaultScalableVLOps()
1358 return getDefaultVLOps(VecVT, VecVT, DL, DAG, Subtarget); in getDefaultScalableVLOps()
3167 MVT VecVT = Op.getSimpleValueType(); in lowerSPLAT_VECTOR_PARTS() local
3168 assert(!Subtarget.is64Bit() && VecVT.getVectorElementType() == MVT::i64 && in lowerSPLAT_VECTOR_PARTS()
3175 if (VecVT.isFixedLengthVector()) { in lowerSPLAT_VECTOR_PARTS()
3176 MVT ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerSPLAT_VECTOR_PARTS()
3180 getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerSPLAT_VECTOR_PARTS()
3183 return convertFromScalableVector(VecVT, Res, DAG, Subtarget); in lowerSPLAT_VECTOR_PARTS()
3192 return DAG.getNode(RISCVISD::SPLAT_VECTOR_I64, DL, VecVT, Lo); in lowerSPLAT_VECTOR_PARTS()
3199 return DAG.getNode(RISCVISD::SPLAT_VECTOR_I64, DL, VecVT, Lo); in lowerSPLAT_VECTOR_PARTS()
3202 return DAG.getNode(RISCVISD::SPLAT_VECTOR_SPLIT_I64_VL, DL, VecVT, Lo, Hi, in lowerSPLAT_VECTOR_PARTS()
3213 MVT VecVT = Op.getSimpleValueType(); in lowerVectorMaskExt() local
3223 if (VecVT.isScalableVector()) { in lowerVectorMaskExt()
3229 !Subtarget.is64Bit() && VecVT.getVectorElementType() == MVT::i64; in lowerVectorMaskExt()
3232 SplatZero = DAG.getSplatVector(VecVT, DL, SplatZero); in lowerVectorMaskExt()
3233 SplatTrueVal = DAG.getSplatVector(VecVT, DL, SplatTrueVal); in lowerVectorMaskExt()
3235 SplatZero = DAG.getNode(RISCVISD::SPLAT_VECTOR_I64, DL, VecVT, SplatZero); in lowerVectorMaskExt()
3237 DAG.getNode(RISCVISD::SPLAT_VECTOR_I64, DL, VecVT, SplatTrueVal); in lowerVectorMaskExt()
3240 return DAG.getNode(ISD::VSELECT, DL, VecVT, Src, SplatTrueVal, SplatZero); in lowerVectorMaskExt()
3243 MVT ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerVectorMaskExt()
3250 std::tie(Mask, VL) = getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerVectorMaskExt()
3258 return convertFromScalableVector(VecVT, Select, DAG, Subtarget); in lowerVectorMaskExt()
3300 MVT VecVT = Src.getSimpleValueType(); in lowerVectorMaskTrunc() local
3303 MVT ContainerVT = VecVT; in lowerVectorMaskTrunc()
3304 if (VecVT.isFixedLengthVector()) { in lowerVectorMaskTrunc()
3305 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerVectorMaskTrunc()
3315 if (VecVT.isScalableVector()) { in lowerVectorMaskTrunc()
3316 SDValue Trunc = DAG.getNode(ISD::AND, DL, VecVT, Src, SplatOne); in lowerVectorMaskTrunc()
3321 std::tie(Mask, VL) = getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerVectorMaskTrunc()
3340 MVT VecVT = Op.getSimpleValueType(); in lowerINSERT_VECTOR_ELT() local
3345 if (VecVT.getVectorElementType() == MVT::i1) { in lowerINSERT_VECTOR_ELT()
3348 MVT WideVT = MVT::getVectorVT(MVT::i8, VecVT.getVectorElementCount()); in lowerINSERT_VECTOR_ELT()
3351 return DAG.getNode(ISD::TRUNCATE, DL, VecVT, Vec); in lowerINSERT_VECTOR_ELT()
3354 MVT ContainerVT = VecVT; in lowerINSERT_VECTOR_ELT()
3356 if (VecVT.isFixedLengthVector()) { in lowerINSERT_VECTOR_ELT()
3357 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerINSERT_VECTOR_ELT()
3378 std::tie(Mask, VL) = getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerINSERT_VECTOR_ELT()
3384 VecVT.isFloatingPoint() ? RISCVISD::VFMV_S_F_VL : RISCVISD::VMV_S_X_VL; in lowerINSERT_VECTOR_ELT()
3387 if (!VecVT.isFixedLengthVector()) in lowerINSERT_VECTOR_ELT()
3389 return convertFromScalableVector(VecVT, Vec, DAG, Subtarget); in lowerINSERT_VECTOR_ELT()
3425 if (!VecVT.isFixedLengthVector()) in lowerINSERT_VECTOR_ELT()
3427 return convertFromScalableVector(VecVT, Slideup, DAG, Subtarget); in lowerINSERT_VECTOR_ELT()
3440 MVT VecVT = Vec.getSimpleValueType(); in lowerEXTRACT_VECTOR_ELT() local
3443 if (VecVT.getVectorElementType() == MVT::i1) { in lowerEXTRACT_VECTOR_ELT()
3446 MVT WideVT = MVT::getVectorVT(MVT::i8, VecVT.getVectorElementCount()); in lowerEXTRACT_VECTOR_ELT()
3452 MVT ContainerVT = VecVT; in lowerEXTRACT_VECTOR_ELT()
3453 if (VecVT.isFixedLengthVector()) { in lowerEXTRACT_VECTOR_ELT()
3454 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerEXTRACT_VECTOR_ELT()
3751 MVT VecVT = Vec.getSimpleValueType(); in lowerVectorMaskVECREDUCE() local
3761 MVT ContainerVT = VecVT; in lowerVectorMaskVECREDUCE()
3762 if (VecVT.isFixedLengthVector()) { in lowerVectorMaskVECREDUCE()
3763 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerVectorMaskVECREDUCE()
3768 std::tie(Mask, VL) = getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerVectorMaskVECREDUCE()
3816 MVT VecVT = VecEVT.getSimpleVT(); in lowerVECREDUCE() local
3817 MVT VecEltVT = VecVT.getVectorElementType(); in lowerVECREDUCE()
3820 MVT ContainerVT = VecVT; in lowerVECREDUCE()
3821 if (VecVT.isFixedLengthVector()) { in lowerVECREDUCE()
3822 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerVECREDUCE()
3829 std::tie(Mask, VL) = getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerVECREDUCE()
3879 MVT VecVT = VectorVal.getSimpleValueType(); in lowerFPVECREDUCE() local
3881 MVT ContainerVT = VecVT; in lowerFPVECREDUCE()
3882 if (VecVT.isFixedLengthVector()) { in lowerFPVECREDUCE()
3883 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerFPVECREDUCE()
3890 std::tie(Mask, VL) = getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget); in lowerFPVECREDUCE()
3905 MVT VecVT = Vec.getSimpleValueType(); in lowerINSERT_SUBVECTOR() local
3920 if (VecVT.getVectorMinNumElements() >= 8 && in lowerINSERT_SUBVECTOR()
3923 assert(VecVT.getVectorMinNumElements() % 8 == 0 && in lowerINSERT_SUBVECTOR()
3930 VecVT = MVT::getVectorVT(MVT::i8, VecVT.getVectorMinNumElements() / 8, in lowerINSERT_SUBVECTOR()
3931 VecVT.isScalableVector()); in lowerINSERT_SUBVECTOR()
3932 Vec = DAG.getBitcast(VecVT, Vec); in lowerINSERT_SUBVECTOR()
3939 MVT ExtVecVT = VecVT.changeVectorElementType(MVT::i8); in lowerINSERT_SUBVECTOR()
3946 return DAG.getSetCC(DL, VecVT, Vec, SplatZero, ISD::SETNE); in lowerINSERT_SUBVECTOR()
3958 MVT ContainerVT = VecVT; in lowerINSERT_SUBVECTOR()
3959 if (VecVT.isFixedLengthVector()) { in lowerINSERT_SUBVECTOR()
3960 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerINSERT_SUBVECTOR()
3967 getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget).first; in lowerINSERT_SUBVECTOR()
3975 if (VecVT.isFixedLengthVector()) in lowerINSERT_SUBVECTOR()
3976 Slideup = convertFromScalableVector(VecVT, Slideup, DAG, Subtarget); in lowerINSERT_SUBVECTOR()
3983 VecVT, SubVecVT, OrigIdx, TRI); in lowerINSERT_SUBVECTOR()
4010 MVT InterSubVT = VecVT; in lowerINSERT_SUBVECTOR()
4013 if (VecVT.bitsGT(getLMUL1VT(VecVT))) { in lowerINSERT_SUBVECTOR()
4014 InterSubVT = getLMUL1VT(VecVT); in lowerINSERT_SUBVECTOR()
4026 std::tie(Mask, VL) = getDefaultScalableVLOps(VecVT, DL, DAG, Subtarget); in lowerINSERT_SUBVECTOR()
4042 if (VecVT.bitsGT(InterSubVT)) in lowerINSERT_SUBVECTOR()
4043 Slideup = DAG.getNode(ISD::INSERT_SUBVECTOR, DL, VecVT, Vec, Slideup, in lowerINSERT_SUBVECTOR()
4055 MVT VecVT = Vec.getSimpleValueType(); in lowerEXTRACT_SUBVECTOR() local
4068 if (VecVT.getVectorMinNumElements() >= 8 && in lowerEXTRACT_SUBVECTOR()
4071 assert(VecVT.getVectorMinNumElements() % 8 == 0 && in lowerEXTRACT_SUBVECTOR()
4078 VecVT = MVT::getVectorVT(MVT::i8, VecVT.getVectorMinNumElements() / 8, in lowerEXTRACT_SUBVECTOR()
4079 VecVT.isScalableVector()); in lowerEXTRACT_SUBVECTOR()
4080 Vec = DAG.getBitcast(VecVT, Vec); in lowerEXTRACT_SUBVECTOR()
4089 MVT ExtVecVT = VecVT.changeVectorElementType(MVT::i8); in lowerEXTRACT_SUBVECTOR()
4109 MVT ContainerVT = VecVT; in lowerEXTRACT_SUBVECTOR()
4110 if (VecVT.isFixedLengthVector()) { in lowerEXTRACT_SUBVECTOR()
4111 ContainerVT = getContainerForFixedLengthVector(VecVT); in lowerEXTRACT_SUBVECTOR()
4115 getDefaultVLOps(VecVT, ContainerVT, DL, DAG, Subtarget).first; in lowerEXTRACT_SUBVECTOR()
4132 VecVT, SubVecVT, OrigIdx, TRI); in lowerEXTRACT_SUBVECTOR()
4146 MVT InterSubVT = VecVT; in lowerEXTRACT_SUBVECTOR()
4147 if (VecVT.bitsGT(getLMUL1VT(VecVT))) { in lowerEXTRACT_SUBVECTOR()
4148 InterSubVT = getLMUL1VT(VecVT); in lowerEXTRACT_SUBVECTOR()
4210 MVT VecVT = Op.getSimpleValueType(); in lowerVECTOR_REVERSE() local
4211 unsigned EltSize = VecVT.getScalarSizeInBits(); in lowerVECTOR_REVERSE()
4212 unsigned MinSize = VecVT.getSizeInBits().getKnownMinValue(); in lowerVECTOR_REVERSE()
4220 MVT IntVT = VecVT.changeVectorElementTypeToInteger(); in lowerVECTOR_REVERSE()
4235 std::tie(LoVT, HiVT) = DAG.GetSplitDestVTs(VecVT); in lowerVECTOR_REVERSE()
4241 DAG.getNode(ISD::INSERT_SUBVECTOR, DL, VecVT, DAG.getUNDEF(VecVT), Hi, in lowerVECTOR_REVERSE()
4244 ISD::INSERT_SUBVECTOR, DL, VecVT, Res, Lo, in lowerVECTOR_REVERSE()
4249 IntVT = MVT::getVectorVT(MVT::i16, VecVT.getVectorElementCount()); in lowerVECTOR_REVERSE()
4255 std::tie(Mask, VL) = getDefaultScalableVLOps(VecVT, DL, DAG, Subtarget); in lowerVECTOR_REVERSE()
4258 unsigned MinElts = VecVT.getVectorMinNumElements(); in lowerVECTOR_REVERSE()
4277 return DAG.getNode(GatherOpc, DL, VecVT, Op.getOperand(0), Indices, Mask, VL); in lowerVECTOR_REVERSE()
5198 MVT VecVT = Vec.getSimpleValueType(); in ReplaceNodeResults() local
5201 VecVT.getVectorElementType() == MVT::i64 && in ReplaceNodeResults()
5205 MVT ContainerVT = VecVT; in ReplaceNodeResults()
5206 if (VecVT.isFixedLengthVector()) { in ReplaceNodeResults()
5207 ContainerVT = getContainerForFixedLengthVector(VecVT); in ReplaceNodeResults()
5214 MVT MaskVT = MVT::getVectorVT(MVT::i1, VecVT.getVectorElementCount()); in ReplaceNodeResults()
5323 MVT VecVT = Vec.getSimpleValueType(); in ReplaceNodeResults() local
5331 MVT MaskVT = MVT::getVectorVT(MVT::i1, VecVT.getVectorElementCount()); in ReplaceNodeResults()
5333 SDValue ThirtyTwoV = DAG.getNode(RISCVISD::VMV_V_X_VL, DL, VecVT, in ReplaceNodeResults()
5336 DAG.getNode(RISCVISD::SRL_VL, DL, VecVT, Vec, ThirtyTwoV, Mask, VL); in ReplaceNodeResults()