Lines Matching refs:GPR

388   let MIOperandInfo = (ops GPR, uimm5);
473 [(set GPR:$rz, (or GPR:$rx, uimm16:$imm16))]>;
478 (outs GPR:$rz), (ins GPR:$rx, uimm5:$imm5),
479 [(set GPR:$rz, (shl GPR:$rx, uimm5:$imm5))]>;
481 (outs GPR:$rz), (ins GPR:$rx, uimm5:$imm5),
482 [(set GPR:$rz, (srl GPR:$rx, uimm5:$imm5))]>;
484 (outs GPR:$rz), (ins GPR:$rx, uimm5:$imm5),
485 [(set GPR:$rz, (sra GPR:$rx, uimm5:$imm5))]>;
487 (outs GPR:$rz), (ins GPR:$rx, uimm5:$imm5),
488 [(set GPR:$rz, (rotl GPR:$rx, uimm5:$imm5))]>;
490 def ROTRI32 : CSKYPseudo<(outs GPR:$rz), (ins GPR:$rx, oimm5:$imm5),
512 def NOT32 : R_XXZ<0b001001, 0b00100, (outs GPR:$rz), (ins GPR:$rx),
513 "not32", [(set GPR:$rz, (not GPR:$rx))]>;
516 def NEG32 : CSKYPseudo<(outs GPR:$rd), (ins GPR:$rx), "neg32 $rd, $rx", []>;
519 …def RSUBI32 : CSKYPseudo<(outs GPR:$rd), (ins GPR:$rx, uimm12:$imm12), "rsubi32 $rd, $rx, $imm12",…
532 (outs GPR:$rz, CARRY:$cout), (ins GPR:$rx, oimm5:$imm5), []>;
534 (outs GPR:$rz, CARRY:$cout), (ins GPR:$rx, oimm5:$imm5), []>;
536 (outs GPR:$rz, CARRY:$cout), (ins GPR:$rx, oimm5:$imm5), []>;
538 (outs GPR:$rz, CARRY:$cout), (ins GPR:$rx, oimm5:$imm5, CARRY:$cin), []>;
549 def ADDC32 : R_YXZ<0x31, 0x0, 0x2, (outs GPR:$rz, CARRY:$cout),
550 (ins GPR:$rx, GPR:$ry, CARRY:$cin), "addc32", []>;
551 def SUBC32 : R_YXZ<0x31, 0x0, 0x8, (outs GPR:$rz, CARRY:$cout),
552 (ins GPR:$rx, GPR:$ry, CARRY:$cin), "subc32", []>;
567 (outs GPR:$rz, CARRY:$cout), (ins GPR:$rx, uimm5:$imm5), []>;
569 (outs GPR:$rz, CARRY:$cout), (ins GPR:$rx, uimm5:$imm5), []>;
571 (outs GPR:$rz, CARRY:$cout), (ins GPR:$rx, uimm5:$imm5), []>;
573 def SEXT32 : I_5_XZ_U<0x16, (outs GPR:$rz), (ins GPR:$rx, uimm5:$msb, uimm5:$lsb), "sext32", []>;
580 def ZEXT32 : I_5_XZ_U<0x15, (outs GPR:$rz), (ins GPR:$rx, uimm5:$msb, uimm5:$lsb), "zext32",[]>;
583 …def INS32 : I_5_XZ_INS<0b010111, (outs GPR:$rz), (ins GPR:$rZ, GPR:$rx, uimm5_msb_size:$msb, uimm5…
588 (ins GPR:$rx, GPR:$ry), "mul.s32", []>;
590 (ins GPR:$rx, GPR:$ry), "mul.u32", []>;
594 (ins GPRPair:$rz, GPR:$rx, GPR:$ry), "mula.s32", []>;
596 (ins GPRPair:$rz, GPR:$rx, GPR:$ry), "mula.u32", []>;
600 def MULSH32 : R_YXZ<0x31, 0b100100, 0b00001, (outs GPR:$rz),
601 (ins GPR:$rx, GPR:$ry), "mulsh32", []>;
619 (outs), (ins GPR:$rx, regseq:$regs, variable_ops), "ldm32\t$regs, (${rx})", []>;
621 (outs), (ins GPR:$rx, regseq:$regs, variable_ops), "stm32\t$regs, (${rx})", []>;
624 def LDQ32 : CSKYPseudo<(outs), (ins GPR:$rx, regseq:$regs, variable_ops),
626 def STQ32 : CSKYPseudo<(outs), (ins GPR:$rx, regseq:$regs, variable_ops),
636 let InOperandList = (ins GPRPair:$rz, GPR:$rx, uimm12_2:$imm12 ) in
653 def SPILL_CARRY : CSKYPseudo<(outs), (ins CARRY:$cond, GPR:$rx, uimm12_2:$imm),
660 def RESTORE_CARRY : CSKYPseudo<(outs CARRY:$cond), (ins GPR:$rx, uimm12_2:$imm),
665 def STORE_PAIR : CSKYPseudo<(outs), (ins GPRPair:$rz, GPR:$rx, uimm12_2:$imm),
670 def LOAD_PAIR : CSKYPseudo<(outs GPRPair:$rz), (ins GPR:$rx, uimm12_2:$imm),
681 def CMPLEI32 : CSKYPseudo<(outs CARRY:$ca), (ins GPR:$rx, uimm16:$imm16),
710 (outs CARRY:$ca), (ins GPR:$rx), "tstnbz32", []>;
724 def BGENI : CSKYPseudo<(outs GPR:$dst), (ins uimm5:$imm), "bgeni\t$dst, $imm", []>;
731 def ISEL32 : CSKYPseudo<(outs GPR:$dst), (ins CARRY:$cond, GPR:$src1, GPR:$src2),
732 "!isel32\t$dst, $src1, src2", [(set GPR:$dst, (select CARRY:$cond, GPR:$src1, GPR:$src2))]>;
765 def JMP32 : I_16_JX<0x6, "jmp32", [(brind GPR:$rx)]>; // jmp to register
779 (outs GPR:$rx_u), (ins GPR:$rx, br_symbol:$imm16), "bnezad32\t$rx, $imm16", []> {
815 (outs GPR:$rz), (ins bare_symbol:$offset), []>;
819 (outs GPR:$rz), (ins data_symbol_b:$offset), []>;
821 (outs GPR:$rz), (ins data_symbol_h:$offset), []>;
823 (outs GPR:$rz), (ins data_symbol_w:$offset), []>;
825 (outs), (ins GPR:$rz, data_symbol_b:$offset), []>;
827 (outs), (ins GPR:$rz, data_symbol_h:$offset), []>;
829 (outs), (ins GPR:$rz, data_symbol_w:$offset), []>;
864 (outs GPR:$rd), (ins GPR:$rz, GPR:$rx, uimm12_2:$imm12), "stex32.w", []>;
888 (outs GPR:$rz), (ins GPR:$rx, uimm5:$imm5), []>;
890 (outs GPR:$rz), (ins GPR:$rx, uimm5:$imm5), []>;
898 (outs GPR:$rx), (ins), "mfcr\t$rx, fcr", []> {
911 (outs), (ins GPR:$rx), "mtcr\t$rx, fcr", []> {
976 def CPRCR32 : I_CP_Z<0b0010, (outs GPR:$rz), (ins uimm5:$cpid, uimm12:$usdef), "cprcr32 $rz, <$cpid…
977 def CPRGR32 : I_CP_Z<0b0000, (outs GPR:$rz), (ins uimm5:$cpid, uimm12:$usdef), "cprgr32 $rz, <$cpid…
978 def CPWCR32 : I_CP_Z<0b0011, (outs), (ins GPR:$rz, uimm5:$cpid, uimm12:$usdef), "cpwcr32 $rz, <$cpi…
979 def CPWGR32 : I_CP_Z<0b0001, (outs), (ins GPR:$rz, uimm5:$cpid, uimm12:$usdef), "cpwgr32 $rz, <$cpi…
1011 def PLDR32 :I_PLDR<AddrMode32WD, 0x36, 0b0110, (outs), (ins GPR:$rx, uimm12_2:$imm12), "pldr32", []…
1012 def PLDW32 :I_PLDR<AddrMode32WD, 0x37, 0b0110, (outs), (ins GPR:$rx, uimm12_2:$imm12), "pldw32", []…
1032 def : Pat<(Type (LoadOp GPR:$rs1)), (Inst GPR:$rs1, 0)>;
1034 def : Pat<(Type (LoadOp (add GPR:$rs1, imm_type:$uimm))),
1035 (Inst GPR:$rs1, imm_type:$uimm)>;
1040 def : Pat<(Type (LoadOp (add GPR:$rs1, tglobaladdr:$gd))),
1041 (Inst GPR:$rs1, tglobaladdr:$gd)>;
1057 def : Pat<(Type (LoadOp (add GPR:$rs1, GPR:$rs2))), (Inst GPR:$rs1, GPR:$rs2, 0)>;
1058 def : Pat<(Type (LoadOp (add GPR:$rs1, (shl GPR:$rs2, (i32 1))))), (Inst GPR:$rs1, GPR:$rs2, 1)>;
1059 def : Pat<(Type (LoadOp (add GPR:$rs1, (shl GPR:$rs2, (i32 2))))), (Inst GPR:$rs1, GPR:$rs2, 2)>;
1060 def : Pat<(Type (LoadOp (add GPR:$rs1, (shl GPR:$rs2, (i32 3))))), (Inst GPR:$rs1, GPR:$rs2, 3)>;
1074 def : Pat<(StoreOp Type:$rs2, GPR:$rs1), (Inst Type:$rs2, GPR:$rs1, 0)>;
1076 def : Pat<(StoreOp Type:$rs2, (add GPR:$rs1, imm_type:$uimm12)),
1077 (Inst Type:$rs2, GPR:$rs1, imm_type:$uimm12)>;
1089 def : Pat<(StoreOp Type:$rz, (add GPR:$rs1, GPR:$rs2)), (Inst Type:$rz, GPR:$rs1, GPR:$rs2, 0)>;
1090 …def : Pat<(StoreOp Type:$rz, (add GPR:$rs1, (shl GPR:$rs2, (i32 1)))), (Inst Type:$rz, GPR:$rs1, G…
1091 …def : Pat<(StoreOp Type:$rz, (add GPR:$rs1, (shl GPR:$rs2, (i32 2)))), (Inst Type:$rz, GPR:$rs1, G…
1092 …def : Pat<(StoreOp Type:$rz, (add GPR:$rs1, (shl GPR:$rs2, (i32 3)))), (Inst Type:$rz, GPR:$rs1, G…
1101 def : Pat<(sext_inreg GPR:$src, i1), (SEXT32 GPR:$src, 0, 0)>;
1102 def : Pat<(and GPR:$src, 255), (ZEXT32 GPR:$src, 7, 0)>;
1103 def : Pat<(and GPR:$src, 65535), (ZEXT32 GPR:$src, 15, 0)>;
1111 def : Pat<(CSKY_CALLReg GPR:$src), (JSR32 GPR:$src)>;
1112 def : Pat<(CSKY_TAILReg GPR:$src), (JMP32 GPR:$src)>;
1136 def : Pat<(brcond (i32 (setne GPR:$rs1, uimm16:$rs2)), bb:$imm16),
1137 (BT32 (CMPNEI32 GPR:$rs1, uimm16:$rs2), bb:$imm16)>;
1138 def : Pat<(brcond (i32 (seteq GPR:$rs1, uimm16:$rs2)), bb:$imm16),
1139 (BF32 (CMPNEI32 GPR:$rs1, uimm16:$rs2), bb:$imm16)>;
1140 def : Pat<(brcond (i32 (setuge GPR:$rs1, oimm16:$rs2)), bb:$imm16),
1141 (BT32 (CMPHSI32 GPR:$rs1, oimm16:$rs2), bb:$imm16)>;
1142 def : Pat<(brcond (i32 (setult GPR:$rs1, oimm16:$rs2)), bb:$imm16),
1143 (BF32 (CMPHSI32 GPR:$rs1, oimm16:$rs2), bb:$imm16)>;
1144 def : Pat<(brcond (i32 (setlt GPR:$rs1, oimm16:$rs2)), bb:$imm16),
1145 (BT32 (CMPLTI32 GPR:$rs1, oimm16:$rs2), bb:$imm16)>;
1146 def : Pat<(brcond (i32 (setge GPR:$rs1, oimm16:$rs2)), bb:$imm16),
1147 (BF32 (CMPLTI32 GPR:$rs1, oimm16:$rs2), bb:$imm16)>;
1153 def : Pat<(brcond (i32 (setne GPR:$rs1, GPR:$rs2)), bb:$imm16),
1154 (BT32 (CMPNE32 GPR:$rs1, GPR:$rs2), bb:$imm16)>;
1155 def : Pat<(brcond (i32 (seteq GPR:$rs1, GPR:$rs2)), bb:$imm16),
1156 (BF32 (CMPNE32 GPR:$rs1, GPR:$rs2), bb:$imm16)>;
1157 def : Pat<(brcond (i32 (setuge GPR:$rs1, GPR:$rs2)), bb:$imm16),
1158 (BT32 (CMPHS32 GPR:$rs1, GPR:$rs2), bb:$imm16)>;
1159 def : Pat<(brcond (i32 (setule GPR:$rs1, GPR:$rs2)), bb:$imm16),
1160 (BT32 (CMPHS32 GPR:$rs2, GPR:$rs1), bb:$imm16)>;
1161 def : Pat<(brcond (i32 (setult GPR:$rs1, GPR:$rs2)), bb:$imm16),
1162 (BF32 (CMPHS32 GPR:$rs1, GPR:$rs2), bb:$imm16)>;
1163 def : Pat<(brcond (i32 (setugt GPR:$rs1, GPR:$rs2)), bb:$imm16),
1164 (BF32 (CMPHS32 GPR:$rs2, GPR:$rs1), bb:$imm16)>;
1165 def : Pat<(brcond (i32 (setlt GPR:$rs1, GPR:$rs2)), bb:$imm16),
1166 (BT32 (CMPLT32 GPR:$rs1, GPR:$rs2), bb:$imm16)>;
1167 def : Pat<(brcond (i32 (setgt GPR:$rs1, GPR:$rs2)), bb:$imm16),
1168 (BT32 (CMPLT32 GPR:$rs2, GPR:$rs1), bb:$imm16)>;
1169 def : Pat<(brcond (i32 (setge GPR:$rs1, GPR:$rs2)), bb:$imm16),
1170 (BF32 (CMPLT32 GPR:$rs1, GPR:$rs2), bb:$imm16)>;
1171 def : Pat<(brcond (i32 (setle GPR:$rs1, GPR:$rs2)), bb:$imm16),
1172 (BF32 (CMPLT32 GPR:$rs2, GPR:$rs1), bb:$imm16)>;
1174 def : Pat<(brcond (i32 (seteq GPR:$rs1, (i32 0))), bb:$imm16),
1175 (BEZ32 GPR:$rs1, bb:$imm16)>;
1176 def : Pat<(brcond (i32 (setne GPR:$rs1, (i32 0))), bb:$imm16),
1177 (BNEZ32 GPR:$rs1, bb:$imm16)>;
1178 def : Pat<(brcond (i32 (setlt GPR:$rs1, (i32 0))), bb:$imm16),
1179 (BLZ32 GPR:$rs1, bb:$imm16)>;
1180 def : Pat<(brcond (i32 (setge GPR:$rs1, (i32 0))), bb:$imm16),
1181 (BHSZ32 GPR:$rs1, bb:$imm16)>;
1182 def : Pat<(brcond (i32 (setgt GPR:$rs1, (i32 0))), bb:$imm16),
1183 (BHZ32 GPR:$rs1, bb:$imm16)>;
1184 def : Pat<(brcond (i32 (setle GPR:$rs1, (i32 0))), bb:$imm16),
1185 (BLSZ32 GPR:$rs1, bb:$imm16)>;
1190 def : Pat<(setne GPR:$rs1, GPR:$rs2),
1191 (CMPNE32 GPR:$rs1, GPR:$rs2)>;
1192 def : Pat<(i32 (seteq GPR:$rs1, GPR:$rs2)),
1193 (MVCV32 (CMPNE32 GPR:$rs1, GPR:$rs2))>;
1194 def : Pat<(setuge GPR:$rs1, GPR:$rs2),
1195 (CMPHS32 GPR:$rs1, GPR:$rs2)>;
1196 def : Pat<(setule GPR:$rs1, GPR:$rs2),
1197 (CMPHS32 GPR:$rs2, GPR:$rs1)>;
1198 def : Pat<(i32 (setult GPR:$rs1, GPR:$rs2)),
1199 (MVCV32 (CMPHS32 GPR:$rs1, GPR:$rs2))>;
1200 def : Pat<(i32 (setugt GPR:$rs1, GPR:$rs2)),
1201 (MVCV32 (CMPHS32 GPR:$rs2, GPR:$rs1))>;
1202 def : Pat<(setlt GPR:$rs1, GPR:$rs2),
1203 (CMPLT32 GPR:$rs1, GPR:$rs2)>;
1204 def : Pat<(setgt GPR:$rs1, GPR:$rs2),
1205 (CMPLT32 GPR:$rs2, GPR:$rs1)>;
1206 def : Pat<(i32 (setge GPR:$rs1, GPR:$rs2)),
1207 (MVCV32 (CMPLT32 GPR:$rs1, GPR:$rs2))>;
1208 def : Pat<(i32 (setle GPR:$rs1, GPR:$rs2)),
1209 (MVCV32 (CMPLT32 GPR:$rs2, GPR:$rs1))>;
1213 def : Pat<(setne GPR:$rs1, uimm16:$rs2),
1214 (CMPNEI32 GPR:$rs1, uimm16:$rs2)>;
1216 def : Pat<(i32 (seteq GPR:$rs1, uimm16:$rs2)),
1217 (MVCV32 (CMPNEI32 GPR:$rs1, uimm16:$rs2))>;
1218 def : Pat<(setuge GPR:$rs1, oimm16:$rs2),
1219 (CMPHSI32 GPR:$rs1, oimm16:$rs2)>;
1221 def : Pat<(i32 (setult GPR:$rs1, oimm16:$rs2)),
1222 (MVCV32 (CMPHSI32 GPR:$rs1, oimm16:$rs2))>;
1223 def : Pat<(setlt GPR:$rs1, oimm16:$rs2),
1224 (CMPLTI32 GPR:$rs1, oimm16:$rs2)>;
1226 def : Pat<(i32 (setge GPR:$rs1, oimm16:$rs2)),
1227 (MVCV32 (CMPLTI32 GPR:$rs1, oimm16:$rs2))>;
1232 def : Pat<(select CARRY:$ca, GPR:$rx, GPR:$false),
1233 (MOVT32 CARRY:$ca, GPR:$rx, GPR:$false)>;
1234 def : Pat<(select (and CARRY:$ca, 1), GPR:$rx, GPR:$false),
1235 (MOVT32 CARRY:$ca, GPR:$rx, GPR:$false)>;
1237 def : Pat<(select (i32 (setne GPR:$rs1, GPR:$rs2)), GPR:$rx, GPR:$false),
1238 (MOVT32 (CMPNE32 GPR:$rs1, GPR:$rs2), GPR:$rx, GPR:$false)>;
1239 def : Pat<(select (i32 (setne GPR:$rs1, uimm16:$rs2)), GPR:$rx, GPR:$false),
1240 (MOVT32 (CMPNEI32 GPR:$rs1, uimm16:$rs2), GPR:$rx, GPR:$false)>;
1241 def : Pat<(select (i32 (seteq GPR:$rs1, GPR:$rs2)), GPR:$rx, GPR:$false),
1242 (MOVF32 (CMPNE32 GPR:$rs1, GPR:$rs2), GPR:$rx, GPR:$false)>;
1243 def : Pat<(select (i32 (seteq GPR:$rs1, uimm16:$rs2)), GPR:$rx, GPR:$false),
1244 (MOVF32 (CMPNEI32 GPR:$rs1, uimm16:$rs2), GPR:$rx, GPR:$false)>;
1246 def : Pat<(select (i32 (setuge GPR:$rs1, GPR:$rs2)), GPR:$rx, GPR:$false),
1247 (MOVT32 (CMPHS32 GPR:$rs1, GPR:$rs2), GPR:$rx, GPR:$false)>;
1248 def : Pat<(select (i32 (setuge GPR:$rs1, oimm16:$rs2)), GPR:$rx, GPR:$false),
1249 (MOVT32 (CMPHSI32 GPR:$rs1, oimm16:$rs2), GPR:$rx, GPR:$false)>;
1250 def : Pat<(select (i32 (setule GPR:$rs1, GPR:$rs2)), GPR:$rx, GPR:$false),
1251 (MOVT32 (CMPHS32 GPR:$rs2, GPR:$rs1), GPR:$rx, GPR:$false)>;
1252 def : Pat<(select (i32 (setult GPR:$rs1, GPR:$rs2)), GPR:$rx, GPR:$false),
1253 (MOVF32 (CMPHS32 GPR:$rs1, GPR:$rs2), GPR:$rx, GPR:$false)>;
1254 def : Pat<(select (i32 (setult GPR:$rs1, oimm16:$rs2)), GPR:$rx, GPR:$false),
1255 (MOVF32 (CMPHSI32 GPR:$rs1, oimm16:$rs2), GPR:$rx, GPR:$false)>;
1256 def : Pat<(select (i32 (setugt GPR:$rs1, GPR:$rs2)), GPR:$rx, GPR:$false),
1257 (MOVF32 (CMPHS32 GPR:$rs2, GPR:$rs1), GPR:$rx, GPR:$false)>;
1259 def : Pat<(select (i32 (setlt GPR:$rs1, GPR:$rs2)), GPR:$rx, GPR:$false),
1260 (MOVT32 (CMPLT32 GPR:$rs1, GPR:$rs2), GPR:$rx, GPR:$false)>;
1261 def : Pat<(select (i32 (setlt GPR:$rs1, oimm16:$rs2)), GPR:$rx, GPR:$false),
1262 (MOVT32 (CMPLTI32 GPR:$rs1, oimm16:$rs2), GPR:$rx, GPR:$false)>;
1263 def : Pat<(select (i32 (setgt GPR:$rs1, GPR:$rs2)), GPR:$rx, GPR:$false),
1264 (MOVT32 (CMPLT32 GPR:$rs2, GPR:$rs1), GPR:$rx, GPR:$false)>;
1265 def : Pat<(select (i32 (setge GPR:$rs1, GPR:$rs2)), GPR:$rx, GPR:$false),
1266 (MOVF32 (CMPLT32 GPR:$rs1, GPR:$rs2), GPR:$rx, GPR:$false)>;
1267 def : Pat<(select (i32 (setge GPR:$rs1, oimm16:$rs2)), GPR:$rx, GPR:$false),
1268 (MOVF32 (CMPLTI32 GPR:$rs1, oimm16:$rs2), GPR:$rx, GPR:$false)>;
1269 def : Pat<(select (i32 (setle GPR:$rs1, GPR:$rs2)), GPR:$rx, GPR:$false),
1270 (MOVF32 (CMPLT32 GPR:$rs2, GPR:$rs1), GPR:$rx, GPR:$false)>;
1272 def : Pat<(select CARRY:$ca, GPR:$rx, GPR:$false),
1273 (ISEL32 CARRY:$ca, GPR:$rx, GPR:$false)>;
1274 def : Pat<(select (and CARRY:$ca, 1), GPR:$rx, GPR:$false),
1275 (ISEL32 CARRY:$ca, GPR:$rx, GPR:$false)>;
1286 def : Pat<(rotl GPR:$rs1, GPR:$rs2),
1287 (ROTL32 GPR:$rs1, (ANDI32 GPR:$rs2, 0x1f))>;
1289 def : Pat<(bitreverse GPR:$rx), (BREV32 GPR:$rx)>;
1290 def : Pat<(bswap GPR:$rx), (REVB32 GPR:$rx)>;
1292 def : Pat<(i32 (ctlz GPR:$rx)), (FF1 GPR:$rx)>;
1344 def PseudoLRW32 : CSKYPseudo<(outs GPR:$rz), (ins bare_symbol:$src), "lrw32 $rz, $src", []>;
1356 def PseudoTLSLA32 : CSKYPseudo<(outs GPR:$dst1, GPR:$dst2),