Lines Matching refs:RC
1248 class WrapperPat<SDNode node, Instruction ADDiuOp, RegisterClass RC>:
1249 MipsPat<(MipsWrapper RC:$gp, node:$in),
1250 (ADDiuOp RC:$gp, node:$in)>;
1284 multiclass BrcondPats<RegisterClass RC, Instruction BEQOp, Instruction BNEOp,
1287 def : MipsPat<(brcond (i32 (setne RC:$lhs, 0)), bb:$dst),
1288 (BNEOp RC:$lhs, ZEROReg, bb:$dst)>;
1289 def : MipsPat<(brcond (i32 (seteq RC:$lhs, 0)), bb:$dst),
1290 (BEQOp RC:$lhs, ZEROReg, bb:$dst)>;
1292 def : MipsPat<(brcond (i32 (setge RC:$lhs, RC:$rhs)), bb:$dst),
1293 (BEQ (SLTOp RC:$lhs, RC:$rhs), ZERO, bb:$dst)>;
1294 def : MipsPat<(brcond (i32 (setuge RC:$lhs, RC:$rhs)), bb:$dst),
1295 (BEQ (SLTuOp RC:$lhs, RC:$rhs), ZERO, bb:$dst)>;
1296 def : MipsPat<(brcond (i32 (setge RC:$lhs, immSExt16:$rhs)), bb:$dst),
1297 (BEQ (SLTiOp RC:$lhs, immSExt16:$rhs), ZERO, bb:$dst)>;
1298 def : MipsPat<(brcond (i32 (setuge RC:$lhs, immSExt16:$rhs)), bb:$dst),
1299 (BEQ (SLTiuOp RC:$lhs, immSExt16:$rhs), ZERO, bb:$dst)>;
1300 def : MipsPat<(brcond (i32 (setgt RC:$lhs, immSExt16Plus1:$rhs)), bb:$dst),
1301 (BEQ (SLTiOp RC:$lhs, (Plus1 imm:$rhs)), ZERO, bb:$dst)>;
1302 def : MipsPat<(brcond (i32 (setugt RC:$lhs, immSExt16Plus1:$rhs)), bb:$dst),
1303 (BEQ (SLTiuOp RC:$lhs, (Plus1 imm:$rhs)), ZERO, bb:$dst)>;
1305 def : MipsPat<(brcond (i32 (setle RC:$lhs, RC:$rhs)), bb:$dst),
1306 (BEQ (SLTOp RC:$rhs, RC:$lhs), ZERO, bb:$dst)>;
1307 def : MipsPat<(brcond (i32 (setule RC:$lhs, RC:$rhs)), bb:$dst),
1308 (BEQ (SLTuOp RC:$rhs, RC:$lhs), ZERO, bb:$dst)>;
1310 def : MipsPat<(brcond RC:$cond, bb:$dst),
1311 (BNEOp RC:$cond, ZEROReg, bb:$dst)>;
1322 multiclass SeteqPats<RegisterClass RC, Instruction SLTiuOp, Instruction XOROp,
1324 def : MipsPat<(seteq RC:$lhs, 0),
1325 (SLTiuOp RC:$lhs, 1)>;
1326 def : MipsPat<(setne RC:$lhs, 0),
1327 (SLTuOp ZEROReg, RC:$lhs)>;
1328 def : MipsPat<(seteq RC:$lhs, RC:$rhs),
1329 (SLTiuOp (XOROp RC:$lhs, RC:$rhs), 1)>;
1330 def : MipsPat<(setne RC:$lhs, RC:$rhs),
1331 (SLTuOp ZEROReg, (XOROp RC:$lhs, RC:$rhs))>;
1334 multiclass SetlePats<RegisterClass RC, Instruction SLTOp, Instruction SLTuOp> {
1335 def : MipsPat<(setle RC:$lhs, RC:$rhs),
1336 (XORi (SLTOp RC:$rhs, RC:$lhs), 1)>;
1337 def : MipsPat<(setule RC:$lhs, RC:$rhs),
1338 (XORi (SLTuOp RC:$rhs, RC:$lhs), 1)>;
1341 multiclass SetgtPats<RegisterClass RC, Instruction SLTOp, Instruction SLTuOp> {
1342 def : MipsPat<(setgt RC:$lhs, RC:$rhs),
1343 (SLTOp RC:$rhs, RC:$lhs)>;
1344 def : MipsPat<(setugt RC:$lhs, RC:$rhs),
1345 (SLTuOp RC:$rhs, RC:$lhs)>;
1348 multiclass SetgePats<RegisterClass RC, Instruction SLTOp, Instruction SLTuOp> {
1349 def : MipsPat<(setge RC:$lhs, RC:$rhs),
1350 (XORi (SLTOp RC:$lhs, RC:$rhs), 1)>;
1351 def : MipsPat<(setuge RC:$lhs, RC:$rhs),
1352 (XORi (SLTuOp RC:$lhs, RC:$rhs), 1)>;
1355 multiclass SetgeImmPats<RegisterClass RC, Instruction SLTiOp,
1357 def : MipsPat<(setge RC:$lhs, immSExt16:$rhs),
1358 (XORi (SLTiOp RC:$lhs, immSExt16:$rhs), 1)>;
1359 def : MipsPat<(setuge RC:$lhs, immSExt16:$rhs),
1360 (XORi (SLTiuOp RC:$lhs, immSExt16:$rhs), 1)>;