Skip to content

Commit 1d426f5

Browse files
committed
fixup! [RISCV] Add sched model for XiangShan-NanHu
Fix latency of zbs instructions
1 parent 9eb16bf commit 1d426f5

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,12 @@ def : WriteRes<WriteBREV8, [XS2ALU]>;
9191
def : WriteRes<WritePACK, [XS2ALU]>;
9292
def : WriteRes<WritePACK32, [XS2ALU]>;
9393
def : WriteRes<WriteZIP, [XS2ALU]>;
94+
95+
// Zbs
96+
def : WriteRes<WriteSingleBit, [XS2ALU]>;
97+
def : WriteRes<WriteSingleBitImm, [XS2ALU]>;
98+
def : WriteRes<WriteBEXT, [XS2ALU]>;
99+
def : WriteRes<WriteBEXTI, [XS2ALU]>;
94100
}
95101

96102
let Latency = 3 in {
@@ -102,12 +108,6 @@ def : WriteRes<WriteCTZ32, [XS2MDU]>;
102108
def : WriteRes<WriteCPOP, [XS2MDU]>;
103109
def : WriteRes<WriteCPOP32, [XS2MDU]>;
104110

105-
// Zbs
106-
def : WriteRes<WriteSingleBit, [XS2MDU]>;
107-
def : WriteRes<WriteSingleBitImm, [XS2MDU]>;
108-
def : WriteRes<WriteBEXT, [XS2MDU]>;
109-
def : WriteRes<WriteBEXTI, [XS2MDU]>;
110-
111111
// Zbkc
112112
def : WriteRes<WriteCLMUL, [XS2MDU]>;
113113

@@ -289,8 +289,8 @@ def : XS2LoadToALUBypass<ReadREV8>;
289289
// Zbkc
290290
def : ReadAdvance<ReadCLMUL, 0>;
291291
// Zbs
292-
def : ReadAdvance<ReadSingleBit, 0>;
293-
def : ReadAdvance<ReadSingleBitImm, 0>;
292+
def : XS2LoadToALUBypass<ReadSingleBit>;
293+
def : XS2LoadToALUBypass<ReadSingleBitImm>;
294294
// Zbkb
295295
def : XS2LoadToALUBypass<ReadBREV8>;
296296
def : XS2LoadToALUBypass<ReadPACK>;

0 commit comments

Comments
 (0)