@@ -91,6 +91,12 @@ def : WriteRes<WriteBREV8, [XS2ALU]>;
91
91
def : WriteRes<WritePACK, [XS2ALU]>;
92
92
def : WriteRes<WritePACK32, [XS2ALU]>;
93
93
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]>;
94
100
}
95
101
96
102
let Latency = 3 in {
@@ -102,12 +108,6 @@ def : WriteRes<WriteCTZ32, [XS2MDU]>;
102
108
def : WriteRes<WriteCPOP, [XS2MDU]>;
103
109
def : WriteRes<WriteCPOP32, [XS2MDU]>;
104
110
105
- // Zbs
106
- def : WriteRes<WriteSingleBit, [XS2MDU]>;
107
- def : WriteRes<WriteSingleBitImm, [XS2MDU]>;
108
- def : WriteRes<WriteBEXT, [XS2MDU]>;
109
- def : WriteRes<WriteBEXTI, [XS2MDU]>;
110
-
111
111
// Zbkc
112
112
def : WriteRes<WriteCLMUL, [XS2MDU]>;
113
113
@@ -289,8 +289,8 @@ def : XS2LoadToALUBypass<ReadREV8>;
289
289
// Zbkc
290
290
def : ReadAdvance<ReadCLMUL, 0>;
291
291
// Zbs
292
- def : ReadAdvance <ReadSingleBit, 0 >;
293
- def : ReadAdvance <ReadSingleBitImm, 0 >;
292
+ def : XS2LoadToALUBypass <ReadSingleBit>;
293
+ def : XS2LoadToALUBypass <ReadSingleBitImm>;
294
294
// Zbkb
295
295
def : XS2LoadToALUBypass<ReadBREV8>;
296
296
def : XS2LoadToALUBypass<ReadPACK>;
0 commit comments