@@ -183,27 +183,44 @@ def C_SH : CStoreH_rri<0b100011, 0b0, "c.sh">,
183
183
let DecoderNamespace = "RVZcmp", Predicates = [HasStdExtZcmp],
184
184
Defs = [X10, X11], hasSideEffects = 0, mayLoad = 0, mayStore = 0 in {
185
185
def CM_MVA01S : RVInst16CA<0b101011, 0b11, 0b10, (outs),
186
- (ins SR07:$rs1, SR07:$rs2), "cm.mva01s", "$rs1, $rs2">;
186
+ (ins SR07:$rs1, SR07:$rs2), "cm.mva01s", "$rs1, $rs2">,
187
+ Sched<[ReadIALU, ReadIALU, WriteIALU, WriteIALU]>;
187
188
188
189
def CM_MVSA01 : RVInst16CA<0b101011, 0b01, 0b10, (outs SR07:$rs1, SR07:$rs2),
189
- (ins), "cm.mvsa01", "$rs1, $rs2">;
190
+ (ins), "cm.mvsa01", "$rs1, $rs2">,
191
+ Sched<[WriteIALU, WriteIALU, WriteIALU, WriteIALU]>;
190
192
} // DecoderNamespace = "RVZcmp", Predicates = [HasStdExtZcmp]...
191
193
192
194
let DecoderNamespace = "RVZcmp", Predicates = [HasStdExtZcmp] in {
193
195
let hasSideEffects = 0, mayLoad = 0, mayStore = 1, Uses = [X2], Defs = [X2] in
194
- def CM_PUSH : RVInstZcCPPP<0b11000, "cm.push">;
196
+ def CM_PUSH : RVInstZcCPPP<0b11000, "cm.push">,
197
+ Sched<[WriteIALU, ReadIALU, ReadStoreData, ReadStoreData,
198
+ ReadStoreData, ReadStoreData, ReadStoreData, ReadStoreData,
199
+ ReadStoreData, ReadStoreData, ReadStoreData, ReadStoreData,
200
+ ReadStoreData, ReadStoreData, ReadStoreData]>;
195
201
196
202
let hasSideEffects = 0, mayLoad = 1, mayStore = 0, isReturn = 1,
197
203
Uses = [X2], Defs = [X2] in
198
- def CM_POPRET : RVInstZcCPPP<0b11110, "cm.popret">;
204
+ def CM_POPRET : RVInstZcCPPP<0b11110, "cm.popret">,
205
+ Sched<[WriteIALU, ReadIALU, WriteLDW, WriteLDW,
206
+ WriteLDW, WriteLDW, WriteLDW, WriteLDW, WriteLDW,
207
+ WriteLDW, WriteLDW, WriteLDW, WriteLDW, WriteLDW,
208
+ WriteLDW]>;
199
209
200
210
let hasSideEffects = 0, mayLoad = 1, mayStore = 0, isReturn = 1,
201
211
Uses = [X2], Defs = [X2, X10] in
202
- def CM_POPRETZ : RVInstZcCPPP<0b11100, "cm.popretz">;
212
+ def CM_POPRETZ : RVInstZcCPPP<0b11100, "cm.popretz">,
213
+ Sched<[WriteIALU, WriteIALU, ReadIALU, WriteLDW, WriteLDW,
214
+ WriteLDW, WriteLDW, WriteLDW, WriteLDW, WriteLDW,
215
+ WriteLDW, WriteLDW, WriteLDW, WriteLDW, WriteLDW,
216
+ WriteLDW]>;
203
217
204
218
let hasSideEffects = 0, mayLoad = 1, mayStore = 0,
205
219
Uses = [X2], Defs = [X2] in
206
- def CM_POP : RVInstZcCPPP<0b11010, "cm.pop">;
220
+ def CM_POP : RVInstZcCPPP<0b11010, "cm.pop">,
221
+ Sched<[WriteIALU, ReadIALU, WriteLDW, WriteLDW, WriteLDW,
222
+ WriteLDW, WriteLDW, WriteLDW, WriteLDW, WriteLDW,
223
+ WriteLDW, WriteLDW, WriteLDW, WriteLDW, WriteLDW]>;
207
224
} // DecoderNamespace = "RVZcmp", Predicates = [HasStdExtZcmp]...
208
225
209
226
let DecoderNamespace = "RVZcmt", Predicates = [HasStdExtZcmt],
0 commit comments