@@ -160,10 +160,10 @@ multiclass CustomSiFiveVCIX<string suffix, VCIXType type,
160160 DAGOperand InTyRd, DAGOperand InTyRs2,
161161 DAGOperand InTyRs1> {
162162 let vm = 1 in
163- defm VC_ # NAME : CustomSiFiveVCIXorVCIF<suffix, type, InTyRd, InTyRs2,
163+ defm SF_VC_ # NAME : CustomSiFiveVCIXorVCIF<suffix, type, InTyRd, InTyRs2,
164164 InTyRs1, 0>;
165165 let vm = 0 in
166- defm VC_V_ # NAME : CustomSiFiveVCIXorVCIF<suffix, type, VR, InTyRs2,
166+ defm SF_VC_V_ # NAME : CustomSiFiveVCIXorVCIF<suffix, type, VR, InTyRs2,
167167 InTyRs1, 1>;
168168}
169169
@@ -201,29 +201,29 @@ let Predicates = [HasVendorXSfvcp], mayLoad = 0, mayStore = 0,
201201
202202let Predicates = [HasVendorXSfvqmaccdod], DecoderNamespace = "XSfvector",
203203 DestEEW = EEWSEWx4, RVVConstraint=VS2Constraint in {
204- def VQMACCU_2x8x2 : CustomSiFiveVMACC<0b101100, OPMVV, "sf.vqmaccu.2x8x2">;
205- def VQMACC_2x8x2 : CustomSiFiveVMACC<0b101101, OPMVV, "sf.vqmacc.2x8x2">;
206- def VQMACCUS_2x8x2 : CustomSiFiveVMACC<0b101110, OPMVV, "sf.vqmaccus.2x8x2">;
207- def VQMACCSU_2x8x2 : CustomSiFiveVMACC<0b101111, OPMVV, "sf.vqmaccsu.2x8x2">;
204+ def SF_VQMACCU_2x8x2 : CustomSiFiveVMACC<0b101100, OPMVV, "sf.vqmaccu.2x8x2">;
205+ def SF_VQMACC_2x8x2 : CustomSiFiveVMACC<0b101101, OPMVV, "sf.vqmacc.2x8x2">;
206+ def SF_VQMACCUS_2x8x2 : CustomSiFiveVMACC<0b101110, OPMVV, "sf.vqmaccus.2x8x2">;
207+ def SF_VQMACCSU_2x8x2 : CustomSiFiveVMACC<0b101111, OPMVV, "sf.vqmaccsu.2x8x2">;
208208}
209209
210210let Predicates = [HasVendorXSfvqmaccqoq], DecoderNamespace = "XSfvector",
211211 DestEEW = EEWSEWx4, RVVConstraint=WidenVNoMask in {
212- def VQMACCU_4x8x4 : CustomSiFiveVMACC<0b111100, OPMVV, "sf.vqmaccu.4x8x4">;
213- def VQMACC_4x8x4 : CustomSiFiveVMACC<0b111101, OPMVV, "sf.vqmacc.4x8x4">;
214- def VQMACCUS_4x8x4 : CustomSiFiveVMACC<0b111110, OPMVV, "sf.vqmaccus.4x8x4">;
215- def VQMACCSU_4x8x4 : CustomSiFiveVMACC<0b111111, OPMVV, "sf.vqmaccsu.4x8x4">;
212+ def SF_VQMACCU_4x8x4 : CustomSiFiveVMACC<0b111100, OPMVV, "sf.vqmaccu.4x8x4">;
213+ def SF_VQMACC_4x8x4 : CustomSiFiveVMACC<0b111101, OPMVV, "sf.vqmacc.4x8x4">;
214+ def SF_VQMACCUS_4x8x4 : CustomSiFiveVMACC<0b111110, OPMVV, "sf.vqmaccus.4x8x4">;
215+ def SF_VQMACCSU_4x8x4 : CustomSiFiveVMACC<0b111111, OPMVV, "sf.vqmaccsu.4x8x4">;
216216}
217217
218218let Predicates = [HasVendorXSfvfwmaccqqq], DecoderNamespace = "XSfvector",
219219 DestEEW = EEWSEWx2, RVVConstraint=WidenVNoMask in {
220- def VFWMACC_4x4x4 : CustomSiFiveVMACC<0b111100, OPFVV, "sf.vfwmacc.4x4x4">;
220+ def SF_VFWMACC_4x4x4 : CustomSiFiveVMACC<0b111100, OPFVV, "sf.vfwmacc.4x4x4">;
221221}
222222
223223let Predicates = [HasVendorXSfvfnrclipxfqf], DecoderNamespace = "XSfvector",
224224 Uses = [FRM, VL, VTYPE] in {
225- def VFNRCLIP_XU_F_QF : CustomSiFiveVFNRCLIP<0b100010, OPFVF, "sf.vfnrclip.xu.f.qf">;
226- def VFNRCLIP_X_F_QF : CustomSiFiveVFNRCLIP<0b100011, OPFVF, "sf.vfnrclip.x.f.qf">;
225+ def SF_VFNRCLIP_XU_F_QF : CustomSiFiveVFNRCLIP<0b100010, OPFVF, "sf.vfnrclip.xu.f.qf">;
226+ def SF_VFNRCLIP_X_F_QF : CustomSiFiveVFNRCLIP<0b100011, OPFVF, "sf.vfnrclip.x.f.qf">;
227227}
228228
229229class VPseudoVC_X<Operand OpClass, DAGOperand RS1Class> :
@@ -306,14 +306,14 @@ multiclass VPseudoVC_X<LMULInfo m, DAGOperand RS1Class,
306306 Operand OpClass = payload2> {
307307 let VLMul = m.value in {
308308 let Defs = [SF_VCIX_STATE], Uses = [SF_VCIX_STATE] in {
309- def "PseudoVC_ " # NAME # "_SE_" # m.MX
309+ def "PseudoSF_VC_ " # NAME # "_SE_" # m.MX
310310 : VPseudoVC_X<OpClass, RS1Class>,
311311 Sched<[!cast<SchedWrite>("WriteVC_" # NAME # "_" # m.MX)]>;
312- def "PseudoVC_V_ " # NAME # "_SE_" # m.MX
312+ def "PseudoSF_VC_V_ " # NAME # "_SE_" # m.MX
313313 : VPseudoVC_V_X<OpClass, m.vrclass, RS1Class>,
314314 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
315315 }
316- def "PseudoVC_V_ " # NAME # "_" # m.MX
316+ def "PseudoSF_VC_V_ " # NAME # "_" # m.MX
317317 : VPseudoVC_V_X<OpClass, m.vrclass, RS1Class>,
318318 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
319319 }
@@ -323,14 +323,14 @@ multiclass VPseudoVC_XV<LMULInfo m, DAGOperand RS1Class,
323323 Operand OpClass = payload2> {
324324 let VLMul = m.value in {
325325 let Defs = [SF_VCIX_STATE], Uses = [SF_VCIX_STATE] in {
326- def "PseudoVC_ " # NAME # "_SE_" # m.MX
326+ def "PseudoSF_VC_ " # NAME # "_SE_" # m.MX
327327 : VPseudoVC_XV<OpClass, m.vrclass, RS1Class>,
328328 Sched<[!cast<SchedWrite>("WriteVC_" # NAME # "_" # m.MX)]>;
329- def "PseudoVC_V_ " # NAME # "_SE_" # m.MX
329+ def "PseudoSF_VC_V_ " # NAME # "_SE_" # m.MX
330330 : VPseudoVC_V_XV<OpClass, m.vrclass, m.vrclass, RS1Class>,
331331 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
332332 }
333- def "PseudoVC_V_ " # NAME # "_" # m.MX
333+ def "PseudoSF_VC_V_ " # NAME # "_" # m.MX
334334 : VPseudoVC_V_XV<OpClass, m.vrclass, m.vrclass, RS1Class>,
335335 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
336336 }
@@ -340,14 +340,14 @@ multiclass VPseudoVC_XVV<LMULInfo m, DAGOperand RS1Class,
340340 Operand OpClass = payload2> {
341341 let VLMul = m.value in {
342342 let Defs = [SF_VCIX_STATE], Uses = [SF_VCIX_STATE] in {
343- def "PseudoVC_ " # NAME # "_SE_" # m.MX
343+ def "PseudoSF_VC_ " # NAME # "_SE_" # m.MX
344344 : VPseudoVC_XVV<OpClass, m.vrclass, m.vrclass, RS1Class>,
345345 Sched<[!cast<SchedWrite>("WriteVC_" # NAME # "_" # m.MX)]>;
346- def "PseudoVC_V_ " # NAME # "_SE_" # m.MX
346+ def "PseudoSF_VC_V_ " # NAME # "_SE_" # m.MX
347347 : VPseudoVC_V_XVV<OpClass, m.vrclass, m.vrclass, RS1Class>,
348348 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
349349 }
350- def "PseudoVC_V_ " # NAME # "_" # m.MX
350+ def "PseudoSF_VC_V_ " # NAME # "_" # m.MX
351351 : VPseudoVC_V_XVV<OpClass, m.vrclass, m.vrclass, RS1Class>,
352352 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
353353 }
@@ -357,15 +357,15 @@ multiclass VPseudoVC_XVW<LMULInfo m, DAGOperand RS1Class,
357357 Operand OpClass = payload2> {
358358 let VLMul = m.value in {
359359 let Defs = [SF_VCIX_STATE], Uses = [SF_VCIX_STATE] in
360- def "PseudoVC_ " # NAME # "_SE_" # m.MX
360+ def "PseudoSF_VC_ " # NAME # "_SE_" # m.MX
361361 : VPseudoVC_XVV<OpClass, m.wvrclass, m.vrclass, RS1Class>,
362362 Sched<[!cast<SchedWrite>("WriteVC_" # NAME # "_" # m.MX)]>;
363363 let Constraints = "@earlyclobber $rd, $rd = $rs3" in {
364364 let Defs = [SF_VCIX_STATE], Uses = [SF_VCIX_STATE] in
365- def "PseudoVC_V_ " # NAME # "_SE_" # m.MX
365+ def "PseudoSF_VC_V_ " # NAME # "_SE_" # m.MX
366366 : VPseudoVC_V_XVV<OpClass, m.wvrclass, m.vrclass, RS1Class>,
367367 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
368- def "PseudoVC_V_ " # NAME # "_" # m.MX
368+ def "PseudoSF_VC_V_ " # NAME # "_" # m.MX
369369 : VPseudoVC_V_XVV<OpClass, m.wvrclass, m.vrclass, RS1Class>,
370370 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>;
371371 }
@@ -435,26 +435,26 @@ let Predicates = [HasVendorXSfvcp] in {
435435}
436436
437437let Predicates = [HasVendorXSfvqmaccdod] in {
438- defm VQMACCU_2x8x2 : VPseudoSiFiveVQMACCDOD;
439- defm VQMACC_2x8x2 : VPseudoSiFiveVQMACCDOD;
440- defm VQMACCUS_2x8x2 : VPseudoSiFiveVQMACCDOD;
441- defm VQMACCSU_2x8x2 : VPseudoSiFiveVQMACCDOD;
438+ defm SF_VQMACCU_2x8x2 : VPseudoSiFiveVQMACCDOD;
439+ defm SF_VQMACC_2x8x2 : VPseudoSiFiveVQMACCDOD;
440+ defm SF_VQMACCUS_2x8x2 : VPseudoSiFiveVQMACCDOD;
441+ defm SF_VQMACCSU_2x8x2 : VPseudoSiFiveVQMACCDOD;
442442}
443443
444444let Predicates = [HasVendorXSfvqmaccqoq] in {
445- defm VQMACCU_4x8x4 : VPseudoSiFiveVQMACCQOQ;
446- defm VQMACC_4x8x4 : VPseudoSiFiveVQMACCQOQ;
447- defm VQMACCUS_4x8x4 : VPseudoSiFiveVQMACCQOQ;
448- defm VQMACCSU_4x8x4 : VPseudoSiFiveVQMACCQOQ;
445+ defm SF_VQMACCU_4x8x4 : VPseudoSiFiveVQMACCQOQ;
446+ defm SF_VQMACC_4x8x4 : VPseudoSiFiveVQMACCQOQ;
447+ defm SF_VQMACCUS_4x8x4 : VPseudoSiFiveVQMACCQOQ;
448+ defm SF_VQMACCSU_4x8x4 : VPseudoSiFiveVQMACCQOQ;
449449}
450450
451451let Predicates = [HasVendorXSfvfwmaccqqq] in {
452- defm VFWMACC_4x4x4 : VPseudoSiFiveVFWMACC;
452+ defm SF_VFWMACC_4x4x4 : VPseudoSiFiveVFWMACC;
453453}
454454
455455let Predicates = [HasVendorXSfvfnrclipxfqf] in {
456- defm VFNRCLIP_XU_F_QF : VPseudoSiFiveVFNRCLIP;
457- defm VFNRCLIP_X_F_QF : VPseudoSiFiveVFNRCLIP;
456+ defm SF_VFNRCLIP_XU_F_QF : VPseudoSiFiveVFNRCLIP;
457+ defm SF_VFNRCLIP_X_F_QF : VPseudoSiFiveVFNRCLIP;
458458}
459459
460460// SDNode
@@ -660,11 +660,11 @@ class VPatVC_V_OP3<string intrinsic_name,
660660multiclass VPatVC_X<string intrinsic_suffix, string instruction_suffix,
661661 VTypeInfo vti, ValueType type, DAGOperand kind> {
662662 def : VPatVC_V_OP3_ISD<!cast<SDPatternOperator>("sf_vc_v_" # intrinsic_suffix # "_se"),
663- "PseudoVC_V_ " # instruction_suffix # "_SE_" # vti.LMul.MX,
663+ "PseudoSF_VC_V_ " # instruction_suffix # "_SE_" # vti.LMul.MX,
664664 vti.Vector, XLenVT, type, vti.Log2SEW,
665665 payload5, kind>;
666666 def : VPatVC_V_OP3<"int_riscv_sf_vc_v_" # intrinsic_suffix,
667- "PseudoVC_V_ " # instruction_suffix # "_" # vti.LMul.MX,
667+ "PseudoSF_VC_V_ " # instruction_suffix # "_" # vti.LMul.MX,
668668 vti.Vector, XLenVT, type, vti.Log2SEW,
669669 payload5, kind>;
670670}
@@ -673,15 +673,15 @@ multiclass VPatVC_XV<string intrinsic_suffix, string instruction_suffix,
673673 VTypeInfo vti, ValueType type, DAGOperand kind,
674674 Operand op1_kind = payload2> {
675675 def : VPatVC_OP4_ISD<!cast<SDPatternOperator>("sf_vc_" # intrinsic_suffix # "_se"),
676- "PseudoVC_ " # instruction_suffix # "_SE_" # vti.LMul.MX,
676+ "PseudoSF_VC_ " # instruction_suffix # "_SE_" # vti.LMul.MX,
677677 XLenVT, vti.Vector, type, vti.Log2SEW,
678678 payload5, vti.RegClass, kind, op1_kind>;
679679 def : VPatVC_V_OP3_ISD<!cast<SDPatternOperator>("sf_vc_v_" # intrinsic_suffix # "_se"),
680- "PseudoVC_V_ " # instruction_suffix # "_SE_" # vti.LMul.MX,
680+ "PseudoSF_VC_V_ " # instruction_suffix # "_SE_" # vti.LMul.MX,
681681 vti.Vector, vti.Vector, type, vti.Log2SEW,
682682 vti.RegClass, kind, op1_kind>;
683683 def : VPatVC_V_OP3<"int_riscv_sf_vc_v_" # intrinsic_suffix,
684- "PseudoVC_V_ " # instruction_suffix # "_" # vti.LMul.MX,
684+ "PseudoSF_VC_V_ " # instruction_suffix # "_" # vti.LMul.MX,
685685 vti.Vector, vti.Vector, type, vti.Log2SEW,
686686 vti.RegClass, kind, op1_kind>;
687687}
@@ -690,15 +690,15 @@ multiclass VPatVC_XVV<string intrinsic_suffix, string instruction_suffix,
690690 VTypeInfo wti, VTypeInfo vti, ValueType type, DAGOperand kind,
691691 Operand op1_kind = payload2> {
692692 def : VPatVC_OP4_ISD<!cast<SDPatternOperator>("sf_vc_" # intrinsic_suffix # "_se"),
693- "PseudoVC_ " # instruction_suffix # "_SE_" # vti.LMul.MX,
693+ "PseudoSF_VC_ " # instruction_suffix # "_SE_" # vti.LMul.MX,
694694 wti.Vector, vti.Vector, type, vti.Log2SEW,
695695 wti.RegClass, vti.RegClass, kind, op1_kind>;
696696 def : VPatVC_V_OP4_ISD<!cast<SDPatternOperator>("sf_vc_v_" # intrinsic_suffix # "_se"),
697- "PseudoVC_V_ " # instruction_suffix # "_SE_" # vti.LMul.MX,
697+ "PseudoSF_VC_V_ " # instruction_suffix # "_SE_" # vti.LMul.MX,
698698 wti.Vector, wti.Vector, vti.Vector, type, vti.Log2SEW,
699699 wti.RegClass, vti.RegClass, kind, op1_kind>;
700700 def : VPatVC_V_OP4<"int_riscv_sf_vc_v_" # intrinsic_suffix,
701- "PseudoVC_V_ " # instruction_suffix # "_" # vti.LMul.MX,
701+ "PseudoSF_VC_V_ " # instruction_suffix # "_" # vti.LMul.MX,
702702 wti.Vector, wti.Vector, vti.Vector, type, vti.Log2SEW,
703703 wti.RegClass, vti.RegClass, kind, op1_kind>;
704704}
@@ -810,26 +810,26 @@ let Predicates = [HasVendorXSfvcp] in {
810810}
811811
812812let Predicates = [HasVendorXSfvqmaccdod] in {
813- defm : VPatVQMACCDOD<"vqmaccu_2x8x2", "VQMACCU ", "2x8x2">;
814- defm : VPatVQMACCDOD<"vqmacc_2x8x2", "VQMACC ", "2x8x2">;
815- defm : VPatVQMACCDOD<"vqmaccus_2x8x2", "VQMACCUS ", "2x8x2">;
816- defm : VPatVQMACCDOD<"vqmaccsu_2x8x2", "VQMACCSU ", "2x8x2">;
813+ defm : VPatVQMACCDOD<"vqmaccu_2x8x2", "SF_VQMACCU ", "2x8x2">;
814+ defm : VPatVQMACCDOD<"vqmacc_2x8x2", "SF_VQMACC ", "2x8x2">;
815+ defm : VPatVQMACCDOD<"vqmaccus_2x8x2", "SF_VQMACCUS ", "2x8x2">;
816+ defm : VPatVQMACCDOD<"vqmaccsu_2x8x2", "SF_VQMACCSU ", "2x8x2">;
817817}
818818
819819let Predicates = [HasVendorXSfvqmaccqoq] in {
820- defm : VPatVQMACCQOQ<"vqmaccu_4x8x4", "VQMACCU ", "4x8x4">;
821- defm : VPatVQMACCQOQ<"vqmacc_4x8x4", "VQMACC ", "4x8x4">;
822- defm : VPatVQMACCQOQ<"vqmaccus_4x8x4", "VQMACCUS ", "4x8x4">;
823- defm : VPatVQMACCQOQ<"vqmaccsu_4x8x4", "VQMACCSU ", "4x8x4">;
820+ defm : VPatVQMACCQOQ<"vqmaccu_4x8x4", "SF_VQMACCU ", "4x8x4">;
821+ defm : VPatVQMACCQOQ<"vqmacc_4x8x4", "SF_VQMACC ", "4x8x4">;
822+ defm : VPatVQMACCQOQ<"vqmaccus_4x8x4", "SF_VQMACCUS ", "4x8x4">;
823+ defm : VPatVQMACCQOQ<"vqmaccsu_4x8x4", "SF_VQMACCSU ", "4x8x4">;
824824}
825825
826826let Predicates = [HasVendorXSfvfwmaccqqq] in {
827- defm : VPatVFWMACC<"vfwmacc_4x4x4", "VFWMACC ", "4x4x4">;
827+ defm : VPatVFWMACC<"vfwmacc_4x4x4", "SF_VFWMACC ", "4x4x4">;
828828}
829829
830830let Predicates = [HasVendorXSfvfnrclipxfqf] in {
831- defm : VPatVFNRCLIP<"vfnrclip_xu_f_qf", "VFNRCLIP_XU_F_QF ">;
832- defm : VPatVFNRCLIP<"vfnrclip_x_f_qf", "VFNRCLIP_X_F_QF ">;
831+ defm : VPatVFNRCLIP<"vfnrclip_xu_f_qf", "SF_VFNRCLIP_XU_F_QF ">;
832+ defm : VPatVFNRCLIP<"vfnrclip_x_f_qf", "SF_VFNRCLIP_X_F_QF ">;
833833}
834834
835835let Predicates = [HasVendorXSiFivecdiscarddlone] in {
0 commit comments