@@ -1327,20 +1327,10 @@ class Bcci48Pat<CondCode Cond, QCIBranchInst48_rii Inst, DAGOperand InTyImm>
1327
1327
: Pat<(riscv_brcc (XLenVT GPRNoX0:$rs1), InTyImm:$rs2, Cond, bb:$imm12),
1328
1328
(Inst GPRNoX0:$rs1, InTyImm:$rs2, bare_simm13_lsb0:$imm12)>;
1329
1329
1330
- let hasSideEffects = 0, mayLoad = 0, mayStore = 0, usesCustomInserter = 1 in {
1331
- def Select_GPR_Using_CC_Simm5NonZero : Pseudo<(outs GPR:$dst),
1332
- (ins GPR:$lhs, simm5nonzero:$imm5,
1333
- cond_code:$cc, GPR:$truev, GPR:$falsev), []>;
1334
- def Select_GPR_Using_CC_Uimm5NonZero : Pseudo<(outs GPR:$dst),
1335
- (ins GPR:$lhs, uimm5nonzero:$imm5,
1336
- cond_code:$cc, GPR:$truev, GPR:$falsev), []>;
1337
- def Select_GPR_Using_CC_Simm16NonZero : Pseudo<(outs GPR:$dst),
1338
- (ins GPR:$lhs, simm16nonzero:$imm16,
1339
- cond_code:$cc, GPR:$truev, GPR:$falsev), []>;
1340
- def Select_GPR_Using_CC_Uimm16NonZero : Pseudo<(outs GPR:$dst),
1341
- (ins GPR:$lhs, uimm16nonzero:$imm16,
1342
- cond_code:$cc, GPR:$truev, GPR:$falsev), []>;
1343
- }
1330
+ defm CC_SImm5NonZero : SelectCC_GPR_riirr<GPR, simm5nonzero>;
1331
+ defm CC_UImm5NonZero : SelectCC_GPR_riirr<GPR, uimm5nonzero>;
1332
+ defm CC_SImm16NonZero : SelectCC_GPR_riirr<GPR, simm16nonzero>;
1333
+ defm CC_UImm16NonZero : SelectCC_GPR_riirr<GPR, uimm16nonzero>;
1344
1334
1345
1335
class SelectQCbi<CondCode Cond, DAGOperand InTyImm, Pseudo OpNode >
1346
1336
: Pat<(riscv_selectcc_frag:$cc (i32 GPR:$lhs), InTyImm:$Constant, Cond,
@@ -1419,19 +1409,19 @@ def : Bcci48Pat<SETGE, QC_E_BGEI, simm16nonzero>;
1419
1409
def : Bcci48Pat<SETULT, QC_E_BLTUI, uimm16nonzero>;
1420
1410
def : Bcci48Pat<SETUGE, QC_E_BGEUI, uimm16nonzero>;
1421
1411
1422
- def : SelectQCbi<SETEQ, simm5nonzero, Select_GPR_Using_CC_Simm5NonZero >;
1423
- def : SelectQCbi<SETNE, simm5nonzero, Select_GPR_Using_CC_Simm5NonZero >;
1424
- def : SelectQCbi<SETLT, simm5nonzero, Select_GPR_Using_CC_Simm5NonZero >;
1425
- def : SelectQCbi<SETGE, simm5nonzero, Select_GPR_Using_CC_Simm5NonZero >;
1426
- def : SelectQCbi<SETULT, uimm5nonzero, Select_GPR_Using_CC_Uimm5NonZero >;
1427
- def : SelectQCbi<SETUGE, uimm5nonzero, Select_GPR_Using_CC_Uimm5NonZero >;
1428
-
1429
- def : SelectQCbi<SETEQ, simm16nonzero, Select_GPR_Using_CC_Simm16NonZero >;
1430
- def : SelectQCbi<SETNE, simm16nonzero, Select_GPR_Using_CC_Simm16NonZero >;
1431
- def : SelectQCbi<SETLT, simm16nonzero, Select_GPR_Using_CC_Simm16NonZero >;
1432
- def : SelectQCbi<SETGE, simm16nonzero, Select_GPR_Using_CC_Simm16NonZero >;
1433
- def : SelectQCbi<SETULT, uimm16nonzero, Select_GPR_Using_CC_Uimm16NonZero >;
1434
- def : SelectQCbi<SETUGE, uimm16nonzero, Select_GPR_Using_CC_Uimm16NonZero >;
1412
+ def : SelectQCbi<SETEQ, simm5nonzero, Select_GPR_Using_CC_SImm5NonZero >;
1413
+ def : SelectQCbi<SETNE, simm5nonzero, Select_GPR_Using_CC_SImm5NonZero >;
1414
+ def : SelectQCbi<SETLT, simm5nonzero, Select_GPR_Using_CC_SImm5NonZero >;
1415
+ def : SelectQCbi<SETGE, simm5nonzero, Select_GPR_Using_CC_SImm5NonZero >;
1416
+ def : SelectQCbi<SETULT, uimm5nonzero, Select_GPR_Using_CC_UImm5NonZero >;
1417
+ def : SelectQCbi<SETUGE, uimm5nonzero, Select_GPR_Using_CC_UImm5NonZero >;
1418
+
1419
+ def : SelectQCbi<SETEQ, simm16nonzero, Select_GPR_Using_CC_SImm16NonZero >;
1420
+ def : SelectQCbi<SETNE, simm16nonzero, Select_GPR_Using_CC_SImm16NonZero >;
1421
+ def : SelectQCbi<SETLT, simm16nonzero, Select_GPR_Using_CC_SImm16NonZero >;
1422
+ def : SelectQCbi<SETGE, simm16nonzero, Select_GPR_Using_CC_SImm16NonZero >;
1423
+ def : SelectQCbi<SETULT, uimm16nonzero, Select_GPR_Using_CC_UImm16NonZero >;
1424
+ def : SelectQCbi<SETUGE, uimm16nonzero, Select_GPR_Using_CC_UImm16NonZero >;
1435
1425
} // let Predicates = [HasVendorXqcibi, IsRV32], AddedComplexity = 2
1436
1426
1437
1427
let Predicates = [HasVendorXqcibm, IsRV32] in {
0 commit comments