Skip to content

Commit 73ed27c

Browse files
authored
[RISCV] Order the implicit defs/uses of vl/vtype on MC instructions the same as the pseudo version. (#129104)
CodeGen pseudos and the vsetvli insertion pass put VL before VTYPE. Make the MC layer instructions consistent.
1 parent 310c377 commit 73ed27c

File tree

4 files changed

+19
-19
lines changed

4 files changed

+19
-19
lines changed

llvm/lib/Target/RISCV/RISCVInstrFormatsV.td

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class RVInstSetiVLi<dag outs, dag ins, string opcodestr, string argstr>
6868
let Inst{11-7} = rd;
6969
let Inst{6-0} = OPC_OP_V.Value;
7070

71-
let Defs = [VTYPE, VL];
71+
let Defs = [VL, VTYPE];
7272
}
7373

7474
class RVInstSetVLi<dag outs, dag ins, string opcodestr, string argstr>
@@ -84,7 +84,7 @@ class RVInstSetVLi<dag outs, dag ins, string opcodestr, string argstr>
8484
let Inst{11-7} = rd;
8585
let Inst{6-0} = OPC_OP_V.Value;
8686

87-
let Defs = [VTYPE, VL];
87+
let Defs = [VL, VTYPE];
8888
}
8989

9090
class RVInstSetVL<dag outs, dag ins, string opcodestr, string argstr>
@@ -101,7 +101,7 @@ class RVInstSetVL<dag outs, dag ins, string opcodestr, string argstr>
101101
let Inst{11-7} = rd;
102102
let Inst{6-0} = OPC_OP_V.Value;
103103

104-
let Defs = [VTYPE, VL];
104+
let Defs = [VL, VTYPE];
105105
}
106106

107107
class RVInstVV<bits<6> funct6, RISCVVFormat opv, dag outs, dag ins,
@@ -120,7 +120,7 @@ class RVInstVV<bits<6> funct6, RISCVVFormat opv, dag outs, dag ins,
120120
let Inst{11-7} = vd;
121121
let Inst{6-0} = OPC_OP_V.Value;
122122

123-
let Uses = [VTYPE, VL];
123+
let Uses = [VL, VTYPE];
124124
let RVVConstraint = VMConstraint;
125125
}
126126

@@ -140,7 +140,7 @@ class RVInstVX<bits<6> funct6, RISCVVFormat opv, dag outs, dag ins,
140140
let Inst{11-7} = vd;
141141
let Inst{6-0} = OPC_OP_V.Value;
142142

143-
let Uses = [VTYPE, VL];
143+
let Uses = [VL, VTYPE];
144144
let RVVConstraint = VMConstraint;
145145
}
146146

@@ -159,7 +159,7 @@ class RVInstV2<bits<6> funct6, bits<5> vs2, RISCVVFormat opv, dag outs, dag ins,
159159
let Inst{11-7} = vd;
160160
let Inst{6-0} = OPC_OP_V.Value;
161161

162-
let Uses = [VTYPE, VL];
162+
let Uses = [VL, VTYPE];
163163
let RVVConstraint = VMConstraint;
164164
}
165165

@@ -179,7 +179,7 @@ class RVInstIVI<bits<6> funct6, dag outs, dag ins, string opcodestr,
179179
let Inst{11-7} = vd;
180180
let Inst{6-0} = OPC_OP_V.Value;
181181

182-
let Uses = [VTYPE, VL];
182+
let Uses = [VL, VTYPE];
183183
let RVVConstraint = VMConstraint;
184184
}
185185

@@ -198,7 +198,7 @@ class RVInstV<bits<6> funct6, bits<5> vs1, RISCVVFormat opv, dag outs,
198198
let Inst{11-7} = vd;
199199
let Inst{6-0} = OPC_OP_V.Value;
200200

201-
let Uses = [VTYPE, VL];
201+
let Uses = [VL, VTYPE];
202202
let RVVConstraint = VMConstraint;
203203
}
204204

@@ -220,7 +220,7 @@ class RVInstVLU<bits<3> nf, bit mew, RISCVLSUMOP lumop,
220220
let Inst{11-7} = vd;
221221
let Inst{6-0} = OPC_LOAD_FP.Value;
222222

223-
let Uses = [VTYPE, VL];
223+
let Uses = [VL, VTYPE];
224224
let RVVConstraint = VMConstraint;
225225
}
226226

@@ -242,7 +242,7 @@ class RVInstVLS<bits<3> nf, bit mew, bits<3> width,
242242
let Inst{11-7} = vd;
243243
let Inst{6-0} = OPC_LOAD_FP.Value;
244244

245-
let Uses = [VTYPE, VL];
245+
let Uses = [VL, VTYPE];
246246
let RVVConstraint = VMConstraint;
247247
}
248248

@@ -264,7 +264,7 @@ class RVInstVLX<bits<3> nf, bit mew, RISCVMOP mop, bits<3> width,
264264
let Inst{11-7} = vd;
265265
let Inst{6-0} = OPC_LOAD_FP.Value;
266266

267-
let Uses = [VTYPE, VL];
267+
let Uses = [VL, VTYPE];
268268
let RVVConstraint = VMConstraint;
269269
}
270270

@@ -286,7 +286,7 @@ class RVInstVSU<bits<3> nf, bit mew, RISCVLSUMOP sumop,
286286
let Inst{11-7} = vs3;
287287
let Inst{6-0} = OPC_STORE_FP.Value;
288288

289-
let Uses = [VTYPE, VL];
289+
let Uses = [VL, VTYPE];
290290
}
291291

292292
class RVInstVSS<bits<3> nf, bit mew, bits<3> width,
@@ -307,7 +307,7 @@ class RVInstVSS<bits<3> nf, bit mew, bits<3> width,
307307
let Inst{11-7} = vs3;
308308
let Inst{6-0} = OPC_STORE_FP.Value;
309309

310-
let Uses = [VTYPE, VL];
310+
let Uses = [VL, VTYPE];
311311
}
312312

313313
class RVInstVSX<bits<3> nf, bit mew, RISCVMOP mop, bits<3> width,
@@ -328,5 +328,5 @@ class RVInstVSX<bits<3> nf, bit mew, RISCVMOP mop, bits<3> width,
328328
let Inst{11-7} = vs3;
329329
let Inst{6-0} = OPC_STORE_FP.Value;
330330

331-
let Uses = [VTYPE, VL];
331+
let Uses = [VL, VTYPE];
332332
}

llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class CustomRivosVXI<bits<6> funct6, RISCVVFormat opv, dag outs, dag ins,
2626
let Inst{11-7} = vd;
2727
let Inst{6-0} = OPC_CUSTOM_2.Value;
2828

29-
let Uses = [VTYPE, VL];
29+
let Uses = [VL, VTYPE];
3030
let RVVConstraint = NoConstraint;
3131
let Constraints = "$vd = $vd_wb";
3232
}
@@ -47,7 +47,7 @@ class CustomRivosXVI<bits<6> funct6, RISCVVFormat opv, dag outs, dag ins,
4747
let Inst{11-7} = rd;
4848
let Inst{6-0} = OPC_CUSTOM_2.Value;
4949

50-
let Uses = [VTYPE, VL];
50+
let Uses = [VL, VTYPE];
5151
let RVVConstraint = NoConstraint;
5252
}
5353

llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class RVInstVCCustom2<bits<4> funct6_hi4, bits<3> funct3, dag outs, dag ins,
7373
let Inst{11-7} = rd;
7474
let Inst{6-0} = OPC_CUSTOM_2.Value;
7575

76-
let Uses = [VTYPE, VL];
76+
let Uses = [VL, VTYPE];
7777
let RVVConstraint = NoConstraint;
7878
let ElementsDependOn = EltDepsVLMask;
7979
}
@@ -97,7 +97,7 @@ class RVInstVCFCustom2<bits<4> funct6_hi4, bits<3> funct3, dag outs, dag ins,
9797
let Inst{11-7} = rd;
9898
let Inst{6-0} = OPC_CUSTOM_2.Value;
9999

100-
let Uses = [VTYPE, VL];
100+
let Uses = [VL, VTYPE];
101101
let RVVConstraint = NoConstraint;
102102
let ElementsDependOn = EltDepsVLMask;
103103
}

llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class RVInstIVI_VROR<bits<6> funct6, dag outs, dag ins, string opcodestr,
4646
let Inst{11-7} = vd;
4747
let Inst{6-0} = OPC_OP_V.Value;
4848

49-
let Uses = [VTYPE, VL];
49+
let Uses = [VL, VTYPE];
5050
let RVVConstraint = VMConstraint;
5151
}
5252

0 commit comments

Comments
 (0)