@@ -32,7 +32,7 @@ def XSfmmVTypeOp : RISCVOp {
3232}
3333
3434let hasSideEffects = 1, mayLoad = 0, mayStore = 0 in
35- class RVInstSetSingle <dag outs, dag ins, bits<5> rs2, string opcodestr,
35+ class SFInstSetSingle <dag outs, dag ins, bits<5> rs2, string opcodestr,
3636 string argstr>
3737 : RVInst<outs, ins, opcodestr, argstr, [], InstFormatI> {
3838 bits<5> rs1;
@@ -48,7 +48,7 @@ class RVInstSetSingle<dag outs, dag ins, bits<5> rs2, string opcodestr,
4848 let Defs = [VTYPE, VL];
4949}
5050
51- class RVInstTileMemOp <dag outs, dag ins, bits<3> nf, RISCVOpcode opcode,
51+ class SFInstTileMemOp <dag outs, dag ins, bits<3> nf, RISCVOpcode opcode,
5252 string opcodestr, string argstr>
5353 : RVInst<outs, ins, opcodestr, argstr, [], InstFormatR> {
5454 bits<5> rs2;
@@ -68,17 +68,17 @@ class RVInstTileMemOp<dag outs, dag ins, bits<3> nf, RISCVOpcode opcode,
6868}
6969
7070let hasSideEffects = 0, mayLoad = 1, mayStore = 0 in
71- class RVInstTileLoad <bits<3> nf, string opcodestr>
72- : RVInstTileMemOp <(outs), (ins GPR:$rs2, GPRMemZeroOffset:$rs1), nf,
71+ class SFInstTileLoad <bits<3> nf, string opcodestr>
72+ : SFInstTileMemOp <(outs), (ins GPR:$rs2, GPRMemZeroOffset:$rs1), nf,
7373 OPC_LOAD_FP, opcodestr, "$rs2, ${rs1}">;
7474
7575let hasSideEffects = 0, mayLoad = 0, mayStore = 1 in
76- class RVInstTileStore <bits<3> nf, string opcodestr>
77- : RVInstTileMemOp <(outs), (ins GPR:$rs2, GPRMemZeroOffset:$rs1), nf,
76+ class SFInstTileStore <bits<3> nf, string opcodestr>
77+ : SFInstTileMemOp <(outs), (ins GPR:$rs2, GPRMemZeroOffset:$rs1), nf,
7878 OPC_STORE_FP, opcodestr, "$rs2, ${rs1}">;
7979
8080let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
81- class RVInstTileMoveOp <bits<6> funct6, dag outs, dag ins, string opcodestr,
81+ class SFInstTileMoveOp <bits<6> funct6, dag outs, dag ins, string opcodestr,
8282 string argstr>
8383 : RVInst<outs, ins, opcodestr, argstr, [], InstFormatR> {
8484 bits<5> rs2;
@@ -97,7 +97,7 @@ class RVInstTileMoveOp<bits<6> funct6, dag outs, dag ins, string opcodestr,
9797}
9898
9999let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
100- class RVInstMatmulF <dag outs, dag ins, string opcodestr, string argstr>
100+ class SFInstMatmulF <dag outs, dag ins, string opcodestr, string argstr>
101101 : RVInst<outs, ins, opcodestr, argstr, [], InstFormatR> {
102102 bits<5> vs2;
103103 bits<5> vs1;
@@ -116,7 +116,7 @@ class RVInstMatmulF<dag outs, dag ins, string opcodestr, string argstr>
116116}
117117
118118let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
119- class RVInstMatmulF8 <bit a, bit b, dag outs, dag ins,
119+ class SFInstMatmulF8 <bit a, bit b, dag outs, dag ins,
120120 string opcodestr, string argstr>
121121 : RVInst<outs, ins, opcodestr, argstr, [], InstFormatR> {
122122 bits<5> vs2;
@@ -147,7 +147,7 @@ defvar F8Encodes = [F8Encode<0b0, "e5m2">,
147147 F8Encode<0b1, "e4m3">];
148148
149149let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
150- class RVInstMatmulI8 <bit funct6_1, bit a, bit b, dag outs, dag ins,
150+ class SFInstMatmulI8 <bit funct6_1, bit a, bit b, dag outs, dag ins,
151151 string opcodestr, string argstr>
152152 : RVInst<outs, ins, opcodestr, argstr, [], InstFormatR> {
153153 bits<5> vs2;
@@ -178,7 +178,7 @@ defvar I8Encodes = [I8Encode<0, "u">,
178178 I8Encode<1, "s">];
179179
180180let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
181- class RVInstSetZero <dag outs, dag ins, string opcodestr, string argstr>
181+ class SFInstSetZero <dag outs, dag ins, string opcodestr, string argstr>
182182 : RVInst<outs, ins, opcodestr, argstr, [], InstFormatR> {
183183 bits<5> vs2;
184184 bits<5> vs1;
@@ -197,7 +197,7 @@ class RVInstSetZero<dag outs, dag ins, string opcodestr, string argstr>
197197}
198198
199199let hasSideEffects = 1, mayLoad = 0, mayStore = 0 in
200- class RVInstVtDiscard <string opcodestr>
200+ class SFInstVtDiscard <string opcodestr>
201201 : RVInst<(outs), (ins), opcodestr, "", [], InstFormatR> {
202202 let Inst{31-26} = 0b010000;
203203 let Inst{25} = 1;
@@ -212,52 +212,50 @@ let Predicates = [HasVendorXSfmmbase] in
212212def : InstAlias<"sf.vsettnt $rd, $rs1, $vtypei",
213213 (VSETVLI GPR:$rd, GPR:$rs1, XSfmmVTypeOp:$vtypei)>;
214214
215- let DecoderNamespace = "XSfmm " in {
215+ let DecoderNamespace = "XSfvector " in {
216216
217217let Predicates = [HasVendorXSfmmbase] in {
218- def SF_VSETTN : RVInstSetSingle <(outs GPR:$rd), (ins GPR:$rs1), 0b00000,
218+ def SF_VSETTN : SFInstSetSingle <(outs GPR:$rd), (ins GPR:$rs1), 0b00000,
219219 "sf.vsettn", "$rd, $rs1">;
220- def SF_VSETTM : RVInstSetSingle <(outs GPR:$rd), (ins GPR:$rs1), 0b00001,
220+ def SF_VSETTM : SFInstSetSingle <(outs GPR:$rd), (ins GPR:$rs1), 0b00001,
221221 "sf.vsettm", "$rd, $rs1">;
222- def SF_VSETTK : RVInstSetSingle <(outs GPR:$rd), (ins GPR:$rs1), 0b00010,
222+ def SF_VSETTK : SFInstSetSingle <(outs GPR:$rd), (ins GPR:$rs1), 0b00010,
223223 "sf.vsettk", "$rd, $rs1">;
224- def SF_VTDISCARD : RVInstVtDiscard <"sf.vtdiscard">;
224+ def SF_VTDISCARD : SFInstVtDiscard <"sf.vtdiscard">;
225225
226- def SF_VTMV_V_T : RVInstTileMoveOp <0b010000, (outs VR:$vd), (ins GPR:$rs1),
226+ def SF_VTMV_V_T : SFInstTileMoveOp <0b010000, (outs VR:$vd), (ins GPR:$rs1),
227227 "sf.vtmv.v.t", "$vd, $rs1"> {
228228 let rs2 = 0b11111;
229229 }
230- def SF_VTMV_T_V : RVInstTileMoveOp <0b010111, (outs), (ins GPR:$rs1, VR:$rs2),
230+ def SF_VTMV_T_V : SFInstTileMoveOp <0b010111, (outs), (ins GPR:$rs1, VR:$rs2),
231231 "sf.vtmv.t.v", "$rs1, $rs2"> {
232232 let vd = 0b00000;
233233 }
234234
235- def SF_VTZERO_T : RVInstSetZero<(outs), (ins TR:$rd), "sf.vtzero.t", "$rd">;
236- } // Predicates = [HasVendorXSfmmbase]
235+ def SF_VTZERO_T : SFInstSetZero<(outs), (ins TR:$rd), "sf.vtzero.t", "$rd">;
237236
238- let Predicates = [HasVendorXSfmmbase] in {
239- def SF_VLTE8 : RVInstTileLoad<0b000, "sf.vlte8">;
240- def SF_VLTE16 : RVInstTileLoad<0b001, "sf.vlte16">;
241- def SF_VLTE32 : RVInstTileLoad<0b010, "sf.vlte32">;
242- def SF_VLTE64 : RVInstTileLoad<0b011, "sf.vlte64">;
243-
244- def SF_VSTE8 : RVInstTileStore<0b000, "sf.vste8">;
245- def SF_VSTE16 : RVInstTileStore<0b001, "sf.vste16">;
246- def SF_VSTE32 : RVInstTileStore<0b010, "sf.vste32">;
247- def SF_VSTE64 : RVInstTileStore<0b011, "sf.vste64">;
237+ def SF_VLTE8 : SFInstTileLoad<0b000, "sf.vlte8">;
238+ def SF_VLTE16 : SFInstTileLoad<0b001, "sf.vlte16">;
239+ def SF_VLTE32 : SFInstTileLoad<0b010, "sf.vlte32">;
240+ def SF_VLTE64 : SFInstTileLoad<0b011, "sf.vlte64">;
241+
242+ def SF_VSTE8 : SFInstTileStore<0b000, "sf.vste8">;
243+ def SF_VSTE16 : SFInstTileStore<0b001, "sf.vste16">;
244+ def SF_VSTE32 : SFInstTileStore<0b010, "sf.vste32">;
245+ def SF_VSTE64 : SFInstTileStore<0b011, "sf.vste64">;
248246} // Predicates = [HasVendorXSfmmbase]
249247
250248let Predicates = [HasVendorXSfmm32a16fOrXSfmm32a32fOrXSfmm64a64f] in {
251249 let Uses = [FRM], mayRaiseFPException = true in
252- def SF_MM_F_F : RVInstMatmulF <(outs), (ins TRM2:$rd, VR:$vs2, VR:$vs1),
250+ def SF_MM_F_F : SFInstMatmulF <(outs), (ins TRM2:$rd, VR:$vs2, VR:$vs1),
253251 "sf.mm.f.f", "$rd, $vs2, $vs1">;
254252} // Predicates = [HasVendorXSfmm32a16fOrXSfmm64a32fOrXSfmm64a64f]
255253
256254let Predicates = [HasVendorXSfmm32a8i] in {
257255 foreach a = I8Encodes in
258256 foreach b = I8Encodes in
259257 def SF_MM_#!toupper(a.Name)#_#!toupper(b.Name)
260- : RVInstMatmulI8 <0, a.Encoding, b.Encoding,
258+ : SFInstMatmulI8 <0, a.Encoding, b.Encoding,
261259 (outs), (ins TRM4:$rd, VR:$vs2, VR:$vs1),
262260 "sf.mm."#a.Name#"."#b.Name, "$rd, $vs2, $vs1">;
263261} // Predicates = [HasVendorXSfmm32a8i]
@@ -267,10 +265,10 @@ let Uses = [FRM], mayRaiseFPException = true in {
267265 foreach a = F8Encodes in
268266 foreach b = F8Encodes in
269267 def SF_MM_#!toupper(a.Name)#_#!toupper(b.Name)
270- : RVInstMatmulF8 <a.Encoding, b.Encoding,
268+ : SFInstMatmulF8 <a.Encoding, b.Encoding,
271269 (outs), (ins TRM4:$rd, VR:$vs2, VR:$vs1),
272270 "sf.mm."#a.Name#"."#b.Name, "$rd, $vs2, $vs1">;
273271}
274272} // Predicates = [HasVendorXSfmm32a8f]
275273
276- } // DecoderNamespace = "XSfmm "
274+ } // DecoderNamespace = "XSfvector "
0 commit comments