@@ -1394,7 +1394,8 @@ def PseudoCCMOVGPR : Pseudo<(outs GPR:$dst),
1394
1394
GPR:$rhs, cond,
1395
1395
(XLenVT GPR:$truev),
1396
1396
GPR:$falsev))]>,
1397
- Sched<[WriteSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB]>;
1397
+ Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
1398
+ ReadSFBALU, ReadSFBALU]>;
1398
1399
}
1399
1400
1400
1401
// Conditional binops, that updates update $dst to (op rs1, rs2) when condition
@@ -1406,33 +1407,40 @@ let hasSideEffects = 0, mayLoad = 0, mayStore = 0, Size = 8,
1406
1407
def PseudoCCADD : Pseudo<(outs GPR:$dst),
1407
1408
(ins GPR:$lhs, GPR:$rhs, ixlenimm:$cc,
1408
1409
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
1409
- Sched<[WriteSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB]>;
1410
+ Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
1411
+ ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
1410
1412
def PseudoCCSUB : Pseudo<(outs GPR:$dst),
1411
1413
(ins GPR:$lhs, GPR:$rhs, ixlenimm:$cc,
1412
1414
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
1413
- Sched<[WriteSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB]>;
1415
+ Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
1416
+ ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
1414
1417
def PseudoCCAND : Pseudo<(outs GPR:$dst),
1415
1418
(ins GPR:$lhs, GPR:$rhs, ixlenimm:$cc,
1416
1419
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
1417
- Sched<[WriteSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB]>;
1420
+ Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
1421
+ ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
1418
1422
def PseudoCCOR : Pseudo<(outs GPR:$dst),
1419
1423
(ins GPR:$lhs, GPR:$rhs, ixlenimm:$cc,
1420
1424
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
1421
- Sched<[WriteSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB]>;
1425
+ Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
1426
+ ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
1422
1427
def PseudoCCXOR : Pseudo<(outs GPR:$dst),
1423
1428
(ins GPR:$lhs, GPR:$rhs, ixlenimm:$cc,
1424
1429
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
1425
- Sched<[WriteSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB]>;
1430
+ Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
1431
+ ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
1426
1432
1427
1433
// RV64I instructions
1428
1434
def PseudoCCADDW : Pseudo<(outs GPR:$dst),
1429
1435
(ins GPR:$lhs, GPR:$rhs, ixlenimm:$cc,
1430
1436
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
1431
- Sched<[WriteSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB]>;
1437
+ Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
1438
+ ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
1432
1439
def PseudoCCSUBW : Pseudo<(outs GPR:$dst),
1433
1440
(ins GPR:$lhs, GPR:$rhs, ixlenimm:$cc,
1434
1441
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
1435
- Sched<[WriteSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB, ReadSFB]>;
1442
+ Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
1443
+ ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
1436
1444
}
1437
1445
1438
1446
multiclass SelectCC_GPR_rrirr<DAGOperand valty, ValueType vt> {
0 commit comments