@@ -54,6 +54,12 @@ def : WriteRes<WriteShiftImm32, [Andes45ALU]>;
54
54
def : WriteRes<WriteShiftReg, [Andes45ALU]>;
55
55
def : WriteRes<WriteShiftReg32, [Andes45ALU]>;
56
56
57
+ // Short forward branch
58
+ def : WriteRes<WriteSFB, [Andes45ALU]> {
59
+ let Latency = 1;
60
+ let NumMicroOps = 2;
61
+ }
62
+
57
63
// Branching
58
64
def : WriteRes<WriteJmp, [Andes45ALU]>;
59
65
def : WriteRes<WriteJal, [Andes45ALU]>;
@@ -231,6 +237,8 @@ def : ReadAdvance<ReadShiftImm, 0>;
231
237
def : ReadAdvance<ReadShiftImm32, 0>;
232
238
def : ReadAdvance<ReadShiftReg, 0>;
233
239
def : ReadAdvance<ReadShiftReg32, 0>;
240
+ def : ReadAdvance<ReadSFBJmp, 0>;
241
+ def : ReadAdvance<ReadSFBALU, 0>;
234
242
def : ReadAdvance<ReadJalr, 0>;
235
243
def : ReadAdvance<ReadJmp, 0>;
236
244
def : ReadAdvance<ReadIMul, 0>;
@@ -328,7 +336,6 @@ def : ReadAdvance<ReadCSR, 0>;
328
336
//===----------------------------------------------------------------------===//
329
337
// Unsupported extensions
330
338
defm : UnsupportedSchedQ;
331
- defm : UnsupportedSchedSFB;
332
339
defm : UnsupportedSchedV;
333
340
defm : UnsupportedSchedZabha;
334
341
defm : UnsupportedSchedZbkb;
0 commit comments