Lines Matching refs:Rm
395 let Inst{6-3} = 0b1111; // Rm = pc
454 // ADD <Rm>, sp
466 // ADD sp, <Rm>
467 def tADDspr : T1pIt<(outs GPRsp:$Rdn), (ins GPRsp:$Rn, GPR:$Rm), IIC_iALUr,
468 "add", "\t$Rdn, $Rm", []>,
471 bits<4> Rm;
473 let Inst{6-3} = Rm;
484 def tBX : TI<(outs), (ins GPR:$Rm, pred:$p), IIC_Br, "bx${p}\t$Rm", []>,
487 bits<4> Rm;
488 let Inst{6-3} = Rm;
492 def tBXNS : TI<(outs), (ins GPR:$Rm, pred:$p), IIC_Br, "bxns${p}\t$Rm", []>,
495 bits<4> Rm;
496 let Inst{6-3} = Rm;
511 def tBX_RET_vararg : tPseudoExpand<(outs), (ins tGPR:$Rm, pred:$p),
513 (tBX GPR:$Rm, pred:$p)>, Sched<[WriteBr]>;
900 bits<3> Rm;
902 let Inst{5-3} = Rm;
909 bits<3> Rm;
911 let Inst{5-3} = Rm;
929 bits<3> Rm;
932 let Inst{8-6} = Rm;
941 bits<3> Rm;
942 let Inst{5-3} = Rm;
952 bits<3> Rm;
953 let Inst{5-3} = Rm;
970 T1sItDPEncode<0b0101, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm), IIC_iALUr,
971 "adc", "\t$Rdn, $Rm",
976 T1sIGenEncodeImm<0b01110, (outs tGPR:$Rd), (ins tGPR:$Rm, imm0_7:$imm3),
978 "add", "\t$Rd, $Rm, $imm3",
979 [(set tGPR:$Rd, (add tGPR:$Rm, imm0_7:$imm3))]>,
995 T1sIGenEncode<0b01100, (outs tGPR:$Rd), (ins tGPR:$Rn, tGPR:$Rm),
997 "add", "\t$Rd, $Rn, $Rm",
998 [(set tGPR:$Rd, (add tGPR:$Rn, tGPR:$Rm))]>, Sched<[WriteALU]>;
1007 def tADCS : tPseudoInst<(outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1009 [(set tGPR:$Rdn, CPSR, (ARMadde tGPR:$Rn, tGPR:$Rm,
1014 def tADDSi3 : tPseudoInst<(outs tGPR:$Rd), (ins tGPR:$Rm, imm0_7:$imm3),
1016 [(set tGPR:$Rd, CPSR, (ARMaddc tGPR:$Rm,
1029 def tADDSrr : tPseudoInst<(outs tGPR:$Rd), (ins tGPR:$Rn, tGPR:$Rm),
1032 tGPR:$Rm))]>,
1038 def tADDhirr : T1pIt<(outs GPR:$Rdn), (ins GPR:$Rn, GPR:$Rm), IIC_iALUr,
1039 "add", "\t$Rdn, $Rm", []>,
1043 bits<4> Rm;
1045 let Inst{6-3} = Rm;
1056 def : T1Pat<(or AddLikeOrOp:$Rn, tGPR:$Rm), (tADDrr $Rn, $Rm)>;
1059 def : tInstAlias <"add${s}${p} $Rdn, $Rm",
1060 (tADDrr tGPR:$Rdn,s_cc_out:$s, tGPR:$Rdn, tGPR:$Rm, pred:$p)>;
1071 T1sItDPEncode<0b0000, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1073 "and", "\t$Rdn, $Rm",
1074 [(set tGPR:$Rdn, (and tGPR:$Rn, tGPR:$Rm))]>, Sched<[WriteALU]>;
1078 T1sIGenEncodeImm<{0,1,0,?,?}, (outs tGPR:$Rd), (ins tGPR:$Rm, imm_sr:$imm5),
1080 "asr", "\t$Rd, $Rm, $imm5",
1081 [(set tGPR:$Rd, (sra tGPR:$Rm, (i32 imm_sr:$imm5)))]>,
1089 T1sItDPEncode<0b0100, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1091 "asr", "\t$Rdn, $Rm",
1092 [(set tGPR:$Rdn, (sra tGPR:$Rn, tGPR:$Rm))]>, Sched<[WriteALU]>;
1096 T1sItDPEncode<0b1110, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1098 "bic", "\t$Rdn, $Rm",
1099 [(set tGPR:$Rdn, (and tGPR:$Rn, (not tGPR:$Rm)))]>,
1113 T1pIDPEncode<0b1011, (outs), (ins tGPR:$Rn, tGPR:$Rm),
1115 "cmn", "\t$Rn, $Rm",
1116 [(ARMcmpZ tGPR:$Rn, (ineg tGPR:$Rm))]>, Sched<[WriteCMP]>;
1135 T1pIDPEncode<0b1010, (outs), (ins tGPR:$Rn, tGPR:$Rm),
1137 "cmp", "\t$Rn, $Rm",
1138 [(ARMcmp tGPR:$Rn, tGPR:$Rm)]>, Sched<[WriteCMP]>;
1140 def tCMPhir : T1pI<(outs), (ins GPR:$Rn, GPR:$Rm), IIC_iCMPr,
1141 "cmp", "\t$Rn, $Rm", []>,
1144 bits<4> Rm;
1147 let Inst{6-3} = Rm;
1156 T1sItDPEncode<0b0001, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1158 "eor", "\t$Rdn, $Rm",
1159 [(set tGPR:$Rdn, (xor tGPR:$Rn, tGPR:$Rm))]>, Sched<[WriteALU]>;
1163 T1sIGenEncodeImm<{0,0,0,?,?}, (outs tGPR:$Rd), (ins tGPR:$Rm, imm0_31:$imm5),
1165 "lsl", "\t$Rd, $Rm, $imm5",
1166 [(set tGPR:$Rd, (shl tGPR:$Rm, (i32 imm:$imm5)))]>,
1174 T1sItDPEncode<0b0010, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1176 "lsl", "\t$Rdn, $Rm",
1177 [(set tGPR:$Rdn, (shl tGPR:$Rn, tGPR:$Rm))]>, Sched<[WriteALU]>;
1181 T1sIGenEncodeImm<{0,0,1,?,?}, (outs tGPR:$Rd), (ins tGPR:$Rm, imm_sr:$imm5),
1183 "lsr", "\t$Rd, $Rm, $imm5",
1184 [(set tGPR:$Rd, (srl tGPR:$Rm, (i32 imm_sr:$imm5)))]>,
1192 T1sItDPEncode<0b0011, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1194 "lsr", "\t$Rdn, $Rm",
1195 [(set tGPR:$Rdn, (srl tGPR:$Rn, tGPR:$Rm))]>, Sched<[WriteALU]>;
1217 def tMOVr : Thumb1pI<(outs GPR:$Rd), (ins GPR:$Rm), AddrModeNone,
1219 "mov", "\t$Rd, $Rm", "", []>,
1223 bits<4> Rm;
1225 let Inst{6-3} = Rm;
1229 def tMOVSr : T1I<(outs tGPR:$Rd), (ins tGPR:$Rm), IIC_iMOVr,
1230 "movs\t$Rd, $Rm", []>, Encoding16, Sched<[WriteALU]> {
1233 bits<3> Rm;
1235 let Inst{5-3} = Rm;
1243 Thumb1sI<(outs tGPR:$Rd), (ins tGPR:$Rn, tGPR:$Rm), AddrModeNone, 2,
1244 IIC_iMUL32, "mul", "\t$Rd, $Rn, $Rm", "$Rm = $Rd",
1245 [(set tGPR:$Rd, (mul tGPR:$Rn, tGPR:$Rm))]>,
1266 T1sItDPEncode<0b1100, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1268 "orr", "\t$Rdn, $Rm",
1269 [(set tGPR:$Rdn, (or tGPR:$Rn, tGPR:$Rm))]>, Sched<[WriteALU]>;
1273 T1pIMiscEncode<{1,0,1,0,0,0,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1275 "rev", "\t$Rd, $Rm",
1276 [(set tGPR:$Rd, (bswap tGPR:$Rm))]>,
1280 T1pIMiscEncode<{1,0,1,0,0,1,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1282 "rev16", "\t$Rd, $Rm",
1283 [(set tGPR:$Rd, (rotr (bswap tGPR:$Rm), (i32 16)))]>,
1287 T1pIMiscEncode<{1,0,1,0,1,1,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1289 "revsh", "\t$Rd, $Rm",
1290 [(set tGPR:$Rd, (sra (bswap tGPR:$Rm), (i32 16)))]>,
1295 T1sItDPEncode<0b0111, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1297 "ror", "\t$Rdn, $Rm",
1298 [(set tGPR:$Rdn, (rotr tGPR:$Rn, tGPR:$Rm))]>,
1311 T1sItDPEncode<0b0110, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1313 "sbc", "\t$Rdn, $Rm",
1319 T1sIGenEncodeImm<0b01111, (outs tGPR:$Rd), (ins tGPR:$Rm, imm0_7:$imm3),
1321 "sub", "\t$Rd, $Rm, $imm3",
1322 [(set tGPR:$Rd, (add tGPR:$Rm, imm0_7_neg:$imm3))]>,
1345 T1sIGenEncode<0b01101, (outs tGPR:$Rd), (ins tGPR:$Rn, tGPR:$Rm),
1347 "sub", "\t$Rd, $Rn, $Rm",
1348 [(set tGPR:$Rd, (sub tGPR:$Rn, tGPR:$Rm))]>,
1351 def : tInstAlias <"sub${s}${p} $Rdn, $Rm",
1352 (tSUBrr tGPR:$Rdn,s_cc_out:$s, tGPR:$Rdn, tGPR:$Rm, pred:$p)>;
1361 def tSBCS : tPseudoInst<(outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1363 [(set tGPR:$Rdn, CPSR, (ARMsube tGPR:$Rn, tGPR:$Rm,
1368 def tSUBSi3 : tPseudoInst<(outs tGPR:$Rd), (ins tGPR:$Rm, imm0_7:$imm3),
1370 [(set tGPR:$Rd, CPSR, (ARMsubc tGPR:$Rm,
1382 def tSUBSrr : tPseudoInst<(outs tGPR:$Rd), (ins tGPR:$Rn, tGPR:$Rm),
1385 tGPR:$Rm))]>,
1403 def : T1Pat<(ARMsubs tGPR:$Rn, tGPR:$Rm), (tSUBSrr $Rn, $Rm)>;
1410 T1pIMiscEncode<{0,0,1,0,0,1,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1412 "sxtb", "\t$Rd, $Rm",
1413 [(set tGPR:$Rd, (sext_inreg tGPR:$Rm, i8))]>,
1419 T1pIMiscEncode<{0,0,1,0,0,0,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1421 "sxth", "\t$Rd, $Rm",
1422 [(set tGPR:$Rd, (sext_inreg tGPR:$Rm, i16))]>,
1429 T1pIDPEncode<0b1000, (outs), (ins tGPR:$Rn, tGPR:$Rm), IIC_iTSTr,
1430 "tst", "\t$Rn, $Rm",
1431 [(ARMcmpZ (and_su tGPR:$Rn, tGPR:$Rm), 0)]>,
1455 T1pIMiscEncode<{0,0,1,0,1,1,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1457 "uxtb", "\t$Rd, $Rm",
1458 [(set tGPR:$Rd, (and tGPR:$Rm, 0xFF))]>,
1464 T1pIMiscEncode<{0,0,1,0,1,0,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1466 "uxth", "\t$Rd, $Rm",
1467 [(set tGPR:$Rd, (and tGPR:$Rm, 0xFFFF))]>,
1574 def : T1Pat<(ARMcmpZ tGPR:$Rn, tGPR:$Rm),
1575 (tCMPr tGPR:$Rn, tGPR:$Rm)>;
1745 // Indirect branch using "mov pc, $Rm"
1747 def tBRIND : tPseudoExpand<(outs), (ins GPR:$Rm, pred:$p),
1748 2, IIC_Br, [(brind GPR:$Rm)],
1749 (tMOVr PC, GPR:$Rm, pred:$p)>, Sched<[WriteBr]>;
1759 def : tInstAlias<"neg${s}${p} $Rd, $Rm",
1760 (tRSB tGPR:$Rd, s_cc_out:$s, tGPR:$Rm, pred:$p)>;