Skip to content

Commit 5cd3e97

Browse files
authored
[RISCV] Mark vmvNr.v as implicitly using vtype (#118414)
This was pointed out in #118283 (comment). We cannot move these between vtype definitions as they depend on SEW and require vill to be clear.
1 parent ff281f7 commit 5cd3e97

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

llvm/lib/Target/RISCV/RISCVInstrInfoV.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1726,7 +1726,7 @@ foreach n = [1, 2, 4, 8] in {
17261726
def VMV#n#R_V : RVInstV<0b100111, !add(n, -1), OPIVI, (outs vrc:$vd),
17271727
(ins vrc:$vs2), "vmv" # n # "r.v", "$vd, $vs2">,
17281728
VMVRSched<n> {
1729-
let Uses = [];
1729+
let Uses = [VTYPE];
17301730
let vm = 1;
17311731
}
17321732
}

llvm/test/MachineVerifier/RISCV/subreg-liveness.mir

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ body: |
1919
; CHECK: liveins: $v0, $v8, $v9, $v10, $v11
2020
; CHECK-NEXT: {{ $}}
2121
; CHECK-NEXT: renamable $v16m2 = PseudoVMV_V_I_M2 undef renamable $v16m2, 0, -1, 3 /* e8 */, 0 /* tu, mu */, implicit $vl, implicit $vtype
22-
; CHECK-NEXT: $v20m2 = VMV2R_V $v14m2, implicit $v12_v13_v14_v15_v16
22+
; CHECK-NEXT: $v20m2 = VMV2R_V $v14m2, implicit $v12_v13_v14_v15_v16, implicit $vtype
2323
renamable $v16m2 = PseudoVMV_V_I_M2 undef renamable $v16m2, 0, -1, 3 /* e8 */, 0 /* tu, mu */, implicit $vl, implicit $vtype
24-
$v20m2 = VMV2R_V $v14m2, implicit $v12_v13_v14_v15_v16
24+
$v20m2 = VMV2R_V $v14m2, implicit $v12_v13_v14_v15_v16, implicit $vtype
2525
2626
...

llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vmv.s

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -293,12 +293,12 @@ vfmv.f.s f7, v16
293293

294294
# CHECK: Iterations: 1
295295
# CHECK-NEXT: Instructions: 280
296-
# CHECK-NEXT: Total Cycles: 523
296+
# CHECK-NEXT: Total Cycles: 524
297297
# CHECK-NEXT: Total uOps: 280
298298

299299
# CHECK: Dispatch Width: 3
300-
# CHECK-NEXT: uOps Per Cycle: 0.54
301-
# CHECK-NEXT: IPC: 0.54
300+
# CHECK-NEXT: uOps Per Cycle: 0.53
301+
# CHECK-NEXT: IPC: 0.53
302302
# CHECK-NEXT: Block RThroughput: 512.0
303303

304304
# CHECK: Instruction Info:

llvm/test/tools/llvm-mca/RISCV/SiFiveP600/vmv.s

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -260,12 +260,12 @@ vmv8r.v v8, v16
260260

261261
# CHECK: Iterations: 1
262262
# CHECK-NEXT: Instructions: 256
263-
# CHECK-NEXT: Total Cycles: 237
263+
# CHECK-NEXT: Total Cycles: 255
264264
# CHECK-NEXT: Total uOps: 256
265265

266266
# CHECK: Dispatch Width: 4
267-
# CHECK-NEXT: uOps Per Cycle: 1.08
268-
# CHECK-NEXT: IPC: 1.08
267+
# CHECK-NEXT: uOps Per Cycle: 1.00
268+
# CHECK-NEXT: IPC: 1.00
269269
# CHECK-NEXT: Block RThroughput: 240.0
270270

271271
# CHECK: Instruction Info:

0 commit comments

Comments
 (0)