Lines Matching refs:Rm
316 let Inst{6-3} = 0b1111; // Rm = pc
367 // ADD <Rm>, sp
379 // ADD sp, <Rm>
380 def tADDspr : T1pIt<(outs GPRsp:$Rdn), (ins GPRsp:$Rn, GPR:$Rm), IIC_iALUr,
381 "add", "\t$Rdn, $Rm", []>,
384 bits<4> Rm;
386 let Inst{6-3} = Rm;
397 def tBX : TI<(outs), (ins GPR:$Rm, pred:$p), IIC_Br, "bx${p}\t$Rm", []>,
400 bits<4> Rm;
401 let Inst{6-3} = Rm;
412 def tBX_RET_vararg : tPseudoExpand<(outs), (ins tGPR:$Rm, pred:$p),
414 (tBX GPR:$Rm, pred:$p)>;
765 bits<3> Rm;
767 let Inst{5-3} = Rm;
774 bits<3> Rm;
776 let Inst{5-3} = Rm;
794 bits<3> Rm;
797 let Inst{8-6} = Rm;
806 bits<3> Rm;
807 let Inst{5-3} = Rm;
817 bits<3> Rm;
818 let Inst{5-3} = Rm;
834 T1sItDPEncode<0b0101, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm), IIC_iALUr,
835 "adc", "\t$Rdn, $Rm",
836 [(set tGPR:$Rdn, (adde tGPR:$Rn, tGPR:$Rm))]>;
840 T1sIGenEncodeImm<0b01110, (outs tGPR:$Rd), (ins tGPR:$Rm, imm0_7:$imm3),
842 "add", "\t$Rd, $Rm, $imm3",
843 [(set tGPR:$Rd, (add tGPR:$Rm, imm0_7:$imm3))]> {
857 T1sIGenEncode<0b01100, (outs tGPR:$Rd), (ins tGPR:$Rn, tGPR:$Rm),
859 "add", "\t$Rd, $Rn, $Rm",
860 [(set tGPR:$Rd, (add tGPR:$Rn, tGPR:$Rm))]>;
863 def tADDhirr : T1pIt<(outs GPR:$Rdn), (ins GPR:$Rn, GPR:$Rm), IIC_iALUr,
864 "add", "\t$Rdn, $Rm", []>,
868 bits<4> Rm;
870 let Inst{6-3} = Rm;
877 T1sItDPEncode<0b0000, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
879 "and", "\t$Rdn, $Rm",
880 [(set tGPR:$Rdn, (and tGPR:$Rn, tGPR:$Rm))]>;
884 T1sIGenEncodeImm<{0,1,0,?,?}, (outs tGPR:$Rd), (ins tGPR:$Rm, imm_sr:$imm5),
886 "asr", "\t$Rd, $Rm, $imm5",
887 [(set tGPR:$Rd, (sra tGPR:$Rm, (i32 imm_sr:$imm5)))]> {
894 T1sItDPEncode<0b0100, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
896 "asr", "\t$Rdn, $Rm",
897 [(set tGPR:$Rdn, (sra tGPR:$Rn, tGPR:$Rm))]>;
901 T1sItDPEncode<0b1110, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
903 "bic", "\t$Rdn, $Rm",
904 [(set tGPR:$Rdn, (and tGPR:$Rn, (not tGPR:$Rm)))]>;
917 T1pIDPEncode<0b1011, (outs), (ins tGPR:$Rn, tGPR:$Rm),
919 "cmn", "\t$Rn, $Rm",
920 [(ARMcmpZ tGPR:$Rn, (ineg tGPR:$Rm))]>;
939 T1pIDPEncode<0b1010, (outs), (ins tGPR:$Rn, tGPR:$Rm),
941 "cmp", "\t$Rn, $Rm",
942 [(ARMcmp tGPR:$Rn, tGPR:$Rm)]>;
944 def tCMPhir : T1pI<(outs), (ins GPR:$Rn, GPR:$Rm), IIC_iCMPr,
945 "cmp", "\t$Rn, $Rm", []>,
948 bits<4> Rm;
951 let Inst{6-3} = Rm;
960 T1sItDPEncode<0b0001, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
962 "eor", "\t$Rdn, $Rm",
963 [(set tGPR:$Rdn, (xor tGPR:$Rn, tGPR:$Rm))]>;
967 T1sIGenEncodeImm<{0,0,0,?,?}, (outs tGPR:$Rd), (ins tGPR:$Rm, imm0_31:$imm5),
969 "lsl", "\t$Rd, $Rm, $imm5",
970 [(set tGPR:$Rd, (shl tGPR:$Rm, (i32 imm:$imm5)))]> {
977 T1sItDPEncode<0b0010, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
979 "lsl", "\t$Rdn, $Rm",
980 [(set tGPR:$Rdn, (shl tGPR:$Rn, tGPR:$Rm))]>;
984 T1sIGenEncodeImm<{0,0,1,?,?}, (outs tGPR:$Rd), (ins tGPR:$Rm, imm_sr:$imm5),
986 "lsr", "\t$Rd, $Rm, $imm5",
987 [(set tGPR:$Rd, (srl tGPR:$Rm, (i32 imm_sr:$imm5)))]> {
994 T1sItDPEncode<0b0011, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
996 "lsr", "\t$Rdn, $Rm",
997 [(set tGPR:$Rdn, (srl tGPR:$Rn, tGPR:$Rm))]>;
1019 def tMOVr : Thumb1pI<(outs GPR:$Rd), (ins GPR:$Rm), AddrModeNone,
1021 "mov", "\t$Rd, $Rm", "", []>,
1025 bits<4> Rm;
1027 let Inst{6-3} = Rm;
1031 def tMOVSr : T1I<(outs tGPR:$Rd), (ins tGPR:$Rm), IIC_iMOVr,
1032 "movs\t$Rd, $Rm", []>, Encoding16 {
1035 bits<3> Rm;
1037 let Inst{5-3} = Rm;
1045 Thumb1sI<(outs tGPR:$Rd), (ins tGPR:$Rn, tGPR:$Rm), AddrModeNone, 2,
1046 IIC_iMUL32, "mul", "\t$Rd, $Rn, $Rm", "$Rm = $Rd",
1047 [(set tGPR:$Rd, (mul tGPR:$Rn, tGPR:$Rm))]>,
1068 T1sItDPEncode<0b1100, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1070 "orr", "\t$Rdn, $Rm",
1071 [(set tGPR:$Rdn, (or tGPR:$Rn, tGPR:$Rm))]>;
1075 T1pIMiscEncode<{1,0,1,0,0,0,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1077 "rev", "\t$Rd, $Rm",
1078 [(set tGPR:$Rd, (bswap tGPR:$Rm))]>,
1082 T1pIMiscEncode<{1,0,1,0,0,1,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1084 "rev16", "\t$Rd, $Rm",
1085 [(set tGPR:$Rd, (rotr (bswap tGPR:$Rm), (i32 16)))]>,
1089 T1pIMiscEncode<{1,0,1,0,1,1,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1091 "revsh", "\t$Rd, $Rm",
1092 [(set tGPR:$Rd, (sra (bswap tGPR:$Rm), (i32 16)))]>,
1097 T1sItDPEncode<0b0111, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1099 "ror", "\t$Rdn, $Rm",
1100 [(set tGPR:$Rdn, (rotr tGPR:$Rn, tGPR:$Rm))]>;
1112 T1sItDPEncode<0b0110, (outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
1114 "sbc", "\t$Rdn, $Rm",
1115 [(set tGPR:$Rdn, (sube tGPR:$Rn, tGPR:$Rm))]>;
1119 T1sIGenEncodeImm<0b01111, (outs tGPR:$Rd), (ins tGPR:$Rm, imm0_7:$imm3),
1121 "sub", "\t$Rd, $Rm, $imm3",
1122 [(set tGPR:$Rd, (add tGPR:$Rm, imm0_7_neg:$imm3))]> {
1135 T1sIGenEncode<0b01101, (outs tGPR:$Rd), (ins tGPR:$Rn, tGPR:$Rm),
1137 "sub", "\t$Rd, $Rn, $Rm",
1138 [(set tGPR:$Rd, (sub tGPR:$Rn, tGPR:$Rm))]>;
1142 T1pIMiscEncode<{0,0,1,0,0,1,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1144 "sxtb", "\t$Rd, $Rm",
1145 [(set tGPR:$Rd, (sext_inreg tGPR:$Rm, i8))]>,
1150 T1pIMiscEncode<{0,0,1,0,0,0,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1152 "sxth", "\t$Rd, $Rm",
1153 [(set tGPR:$Rd, (sext_inreg tGPR:$Rm, i16))]>,
1159 T1pIDPEncode<0b1000, (outs), (ins tGPR:$Rn, tGPR:$Rm), IIC_iTSTr,
1160 "tst", "\t$Rn, $Rm",
1161 [(ARMcmpZ (and_su tGPR:$Rn, tGPR:$Rm), 0)]>;
1165 T1pIMiscEncode<{0,0,1,0,1,1,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1167 "uxtb", "\t$Rd, $Rm",
1168 [(set tGPR:$Rd, (and tGPR:$Rm, 0xFF))]>,
1173 T1pIMiscEncode<{0,0,1,0,1,0,?}, (outs tGPR:$Rd), (ins tGPR:$Rm),
1175 "uxth", "\t$Rd, $Rm",
1176 [(set tGPR:$Rd, (and tGPR:$Rm, 0xFFFF))]>,
1257 def : T1Pat<(ARMcmpZ tGPR:$Rn, tGPR:$Rm),
1258 (tCMPr tGPR:$Rn, tGPR:$Rm)>;
1386 // Indirect branch using "mov pc, $Rm"
1388 def tBRIND : tPseudoExpand<(outs), (ins GPR:$Rm, pred:$p),
1389 2, IIC_Br, [(brind GPR:$Rm)],
1390 (tMOVr PC, GPR:$Rm, pred:$p)>;
1407 def : tInstAlias<"neg${s}${p} $Rd, $Rm",
1408 (tRSB tGPR:$Rd, s_cc_out:$s, tGPR:$Rm, pred:$p)>;