Skip to content

Commit 3cbd56d

Browse files
committed
[RISCV] Add missing Read classes to some compressed instructions.
Reviewed By: wangpc Differential Revision: https://reviews.llvm.org/D153669
1 parent 8089bd4 commit 3cbd56d

File tree

2 files changed

+25
-25
lines changed

2 files changed

+25
-25
lines changed

llvm/lib/Target/RISCV/RISCVInstrInfoC.td

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -509,8 +509,8 @@ def C_J : RVInst16CJ<0b101, 0b01, (outs), (ins simm12_lsb0:$offset),
509509
let isBarrier=1;
510510
}
511511

512-
def C_BEQZ : Bcz<0b110, "c.beqz", GPRC>, Sched<[WriteJmp]>;
513-
def C_BNEZ : Bcz<0b111, "c.bnez", GPRC>, Sched<[WriteJmp]>;
512+
def C_BEQZ : Bcz<0b110, "c.beqz", GPRC>, Sched<[WriteJmp, ReadJmp]>;
513+
def C_BNEZ : Bcz<0b111, "c.bnez", GPRC>, Sched<[WriteJmp, ReadJmp]>;
514514

515515
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
516516
def C_SLLI : RVInst16CI<0b000, 0b10, (outs GPRNoX0:$rd_wb),
@@ -551,7 +551,7 @@ def C_LDSP : CStackLoad<0b011, "c.ldsp", GPRNoX0, uimm9_lsb000>,
551551

552552
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
553553
def C_JR : RVInst16CR<0b1000, 0b10, (outs), (ins GPRNoX0:$rs1),
554-
"c.jr", "$rs1">, Sched<[WriteJmpReg]> {
554+
"c.jr", "$rs1">, Sched<[WriteJmpReg, ReadJalr]> {
555555
let isBarrier = 1;
556556
let isTerminator = 1;
557557
let rs2 = 0;

llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass-c.s

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ bnez a0, 1f
2525

2626
# CHECK: Iterations: 1
2727
# CHECK-NEXT: Instructions: 18
28-
# CHECK-NEXT: Total Cycles: 24
28+
# CHECK-NEXT: Total Cycles: 20
2929
# CHECK-NEXT: Total uOps: 18
3030

3131
# CHECK: Dispatch Width: 2
32-
# CHECK-NEXT: uOps Per Cycle: 0.75
33-
# CHECK-NEXT: IPC: 0.75
32+
# CHECK-NEXT: uOps Per Cycle: 0.90
33+
# CHECK-NEXT: IPC: 0.90
3434
# CHECK-NEXT: Block RThroughput: 9.0
3535

3636
# CHECK: Instruction Info:
@@ -98,26 +98,26 @@ bnez a0, 1f
9898

9999
# CHECK: Timeline view:
100100
# CHECK-NEXT: 0123456789
101-
# CHECK-NEXT: Index 0123456789 0123
101+
# CHECK-NEXT: Index 0123456789
102102

103-
# CHECK: [0,0] DeeE . . . . . lui a0, 1
104-
# CHECK-NEXT: [0,1] .DeeE. . . . . add a0, a0, a0
105-
# CHECK-NEXT: [0,2] . DeeE . . . . addi a0, a0, 1
106-
# CHECK-NEXT: [0,3] . DeeE . . . . addw a0, a0, a0
107-
# CHECK-NEXT: [0,4] . DeeE . . . . addiw a0, a0, 1
108-
# CHECK-NEXT: [0,5] . DeeE . . . . sub a0, a0, a0
109-
# CHECK-NEXT: [0,6] . .DeeE. . . . subw a0, a0, a0
110-
# CHECK-NEXT: [0,7] . . DeeE . . . and a0, a0, a0
111-
# CHECK-NEXT: [0,8] . . DeeE . . . andi a0, a0, 1
112-
# CHECK-NEXT: [0,9] . . DeeE . . . or a0, a0, a0
113-
# CHECK-NEXT: [0,10] . . DeeE . . . xor a0, a0, a0
114-
# CHECK-NEXT: [0,11] . . .DeeE. . . slli a0, a0, 1
115-
# CHECK-NEXT: [0,12] . . . DeeE . . srli a0, a0, 1
116-
# CHECK-NEXT: [0,13] . . . DeeE . . srai a0, a0, 1
117-
# CHECK-NEXT: [0,14] . . . DeeE . . add a0, a0, a0
118-
# CHECK-NEXT: [0,15] . . . . DeeE . beqz a0, .Ltmp0
119-
# CHECK-NEXT: [0,16] . . . . DeeE . add a0, a0, a0
120-
# CHECK-NEXT: [0,17] . . . . DeeE bnez a0, .Ltmp1
103+
# CHECK: [0,0] DeeE . . . . lui a0, 1
104+
# CHECK-NEXT: [0,1] .DeeE. . . . add a0, a0, a0
105+
# CHECK-NEXT: [0,2] . DeeE . . . addi a0, a0, 1
106+
# CHECK-NEXT: [0,3] . DeeE . . . addw a0, a0, a0
107+
# CHECK-NEXT: [0,4] . DeeE . . . addiw a0, a0, 1
108+
# CHECK-NEXT: [0,5] . DeeE . . . sub a0, a0, a0
109+
# CHECK-NEXT: [0,6] . .DeeE. . . subw a0, a0, a0
110+
# CHECK-NEXT: [0,7] . . DeeE . . and a0, a0, a0
111+
# CHECK-NEXT: [0,8] . . DeeE . . andi a0, a0, 1
112+
# CHECK-NEXT: [0,9] . . DeeE . . or a0, a0, a0
113+
# CHECK-NEXT: [0,10] . . DeeE . . xor a0, a0, a0
114+
# CHECK-NEXT: [0,11] . . .DeeE. . slli a0, a0, 1
115+
# CHECK-NEXT: [0,12] . . . DeeE . srli a0, a0, 1
116+
# CHECK-NEXT: [0,13] . . . DeeE . srai a0, a0, 1
117+
# CHECK-NEXT: [0,14] . . . DeeE . add a0, a0, a0
118+
# CHECK-NEXT: [0,15] . . . DeeE. beqz a0, .Ltmp0
119+
# CHECK-NEXT: [0,16] . . . DeeE. add a0, a0, a0
120+
# CHECK-NEXT: [0,17] . . . .DeeE bnez a0, .Ltmp1
121121

122122
# CHECK: Average Wait times (based on the timeline view):
123123
# CHECK-NEXT: [0]: Executions

0 commit comments

Comments
 (0)