• Home
  • Raw
  • Download

Lines Matching refs:InstMIPS32

180 class InstMIPS32 : public InstTarget {
181 InstMIPS32() = delete;
182 InstMIPS32(const InstMIPS32 &) = delete;
183 InstMIPS32 &operator=(const InstMIPS32 &) = delete;
305 static void emitUnaryopGPR(const char *Opcode, const InstMIPS32 *Inst,
307 static void emitUnaryopGPRFLoHi(const char *Opcode, const InstMIPS32 *Inst,
309 static void emitUnaryopGPRTLoHi(const char *Opcode, const InstMIPS32 *Inst,
311 static void emitTwoAddr(const char *Opcode, const InstMIPS32 *Inst,
313 static void emitThreeAddr(const char *Opcode, const InstMIPS32 *Inst,
315 static void emitThreeAddrLoHi(const char *Opcode, const InstMIPS32 *Inst,
319 InstMIPS32(Cfg *Func, InstKindMIPS32 Kind, SizeT Maxsrcs, Variable *Dest) in InstMIPS32() function
333 class InstMIPS32Ret : public InstMIPS32 {
355 template <InstMIPS32::InstKindMIPS32 K>
356 class InstMIPS32UnaryopGPR : public InstMIPS32 {
391 : InstMIPS32(Func, K, 1, Dest), Reloc(Reloc) {
401 template <InstMIPS32::InstKindMIPS32 K>
402 class InstMIPS32TwoAddrFPR : public InstMIPS32 {
437 : InstMIPS32(Func, K, 1, Dest) { in InstMIPS32TwoAddrFPR()
445 template <InstMIPS32::InstKindMIPS32 K>
446 class InstMIPS32TwoAddrGPR : public InstMIPS32 {
481 : InstMIPS32(Func, K, 1, Dest) { in InstMIPS32TwoAddrGPR()
490 template <InstMIPS32::InstKindMIPS32 K>
491 class InstMIPS32ThreeAddrFPR : public InstMIPS32 {
529 : InstMIPS32(Func, K, 2, Dest) { in InstMIPS32ThreeAddrFPR()
539 template <InstMIPS32::InstKindMIPS32 K>
540 class InstMIPS32ThreeAddrGPR : public InstMIPS32 {
578 : InstMIPS32(Func, K, 2, Dest) { in InstMIPS32ThreeAddrGPR()
588 template <InstMIPS32::InstKindMIPS32 K>
589 class InstMIPS32Load : public InstMIPS32 {
668 : InstMIPS32(Func, K, 2, Value), Reloc(Reloc) {
677 template <InstMIPS32::InstKindMIPS32 K>
678 class InstMIPS32Store : public InstMIPS32 {
758 : InstMIPS32(Func, K, 2, nullptr), Reloc(Reloc) {
769 class InstMIPS32Label : public InstMIPS32 {
797 class InstMIPS32Br : public InstMIPS32 {
875 class InstMIPS32Call : public InstMIPS32 {
896 template <InstMIPS32::InstKindMIPS32 K>
897 class InstMIPS32FPCmp : public InstMIPS32 {
938 : InstMIPS32(Func, K, 2, nullptr) { in InstMIPS32FPCmp()
946 class InstMIPS32Sync : public InstMIPS32 {
970 return isClassof(Inst, InstMIPS32::Sync); in classof()
976 InstMIPS32Sync(Cfg *Func) : InstMIPS32(Func, InstMIPS32::Sync, 0, nullptr) {} in InstMIPS32Sync()
981 template <InstMIPS32::InstKindMIPS32 K>
982 class InstMIPS32Trap : public InstMIPS32 {
1026 : InstMIPS32(Func, K, 2, nullptr), TrapCode(Tcode) { in InstMIPS32Trap()
1035 template <InstMIPS32::InstKindMIPS32 K, bool Signed = false>
1036 class InstMIPS32Imm16 : public InstMIPS32 {
1121 : InstMIPS32(Func, K, 1, Dest), Reloc(Reloc), Imm(Imm) {
1127 : InstMIPS32(Func, K, 0, Dest), Reloc(Reloc), Imm(Imm) {}
1131 : InstMIPS32(Func, K, 1, Dest), Reloc(Reloc), Imm(0) {
1142 template <InstMIPS32::InstKindMIPS32 K>
1143 class InstMIPS32MovConditional : public InstMIPS32 {
1189 : InstMIPS32(Func, K, 2, Dest) { in InstMIPS32MovConditional()
1197 using InstMIPS32Abs_d = InstMIPS32TwoAddrFPR<InstMIPS32::Abs_d>;
1198 using InstMIPS32Abs_s = InstMIPS32TwoAddrFPR<InstMIPS32::Abs_s>;
1199 using InstMIPS32Add = InstMIPS32ThreeAddrGPR<InstMIPS32::Add>;
1200 using InstMIPS32Add_d = InstMIPS32ThreeAddrFPR<InstMIPS32::Add_d>;
1201 using InstMIPS32Add_s = InstMIPS32ThreeAddrFPR<InstMIPS32::Add_s>;
1202 using InstMIPS32Addu = InstMIPS32ThreeAddrGPR<InstMIPS32::Addu>;
1203 using InstMIPS32Addi = InstMIPS32Imm16<InstMIPS32::Addi, true>;
1204 using InstMIPS32Addiu = InstMIPS32Imm16<InstMIPS32::Addiu, true>;
1205 using InstMIPS32And = InstMIPS32ThreeAddrGPR<InstMIPS32::And>;
1206 using InstMIPS32Andi = InstMIPS32Imm16<InstMIPS32::Andi>;
1207 using InstMIPS32C_eq_d = InstMIPS32FPCmp<InstMIPS32::C_eq_d>;
1208 using InstMIPS32C_eq_s = InstMIPS32FPCmp<InstMIPS32::C_eq_s>;
1209 using InstMIPS32C_ole_d = InstMIPS32FPCmp<InstMIPS32::C_ole_d>;
1210 using InstMIPS32C_ole_s = InstMIPS32FPCmp<InstMIPS32::C_ole_s>;
1211 using InstMIPS32C_olt_d = InstMIPS32FPCmp<InstMIPS32::C_olt_d>;
1212 using InstMIPS32C_olt_s = InstMIPS32FPCmp<InstMIPS32::C_olt_s>;
1213 using InstMIPS32C_ueq_d = InstMIPS32FPCmp<InstMIPS32::C_ueq_d>;
1214 using InstMIPS32C_ueq_s = InstMIPS32FPCmp<InstMIPS32::C_ueq_s>;
1215 using InstMIPS32C_ule_d = InstMIPS32FPCmp<InstMIPS32::C_ule_d>;
1216 using InstMIPS32C_ule_s = InstMIPS32FPCmp<InstMIPS32::C_ule_s>;
1217 using InstMIPS32C_ult_d = InstMIPS32FPCmp<InstMIPS32::C_ult_d>;
1218 using InstMIPS32C_ult_s = InstMIPS32FPCmp<InstMIPS32::C_ult_s>;
1219 using InstMIPS32C_un_d = InstMIPS32FPCmp<InstMIPS32::C_un_d>;
1220 using InstMIPS32C_un_s = InstMIPS32FPCmp<InstMIPS32::C_un_s>;
1221 using InstMIPS32Clz = InstMIPS32TwoAddrGPR<InstMIPS32::Clz>;
1222 using InstMIPS32Cvt_d_s = InstMIPS32TwoAddrFPR<InstMIPS32::Cvt_d_s>;
1223 using InstMIPS32Cvt_d_l = InstMIPS32TwoAddrFPR<InstMIPS32::Cvt_d_l>;
1224 using InstMIPS32Cvt_d_w = InstMIPS32TwoAddrFPR<InstMIPS32::Cvt_d_w>;
1225 using InstMIPS32Cvt_s_d = InstMIPS32TwoAddrFPR<InstMIPS32::Cvt_s_d>;
1226 using InstMIPS32Cvt_s_l = InstMIPS32TwoAddrFPR<InstMIPS32::Cvt_s_l>;
1227 using InstMIPS32Cvt_s_w = InstMIPS32TwoAddrFPR<InstMIPS32::Cvt_s_w>;
1228 using InstMIPS32Div = InstMIPS32ThreeAddrGPR<InstMIPS32::Div>;
1229 using InstMIPS32Div_d = InstMIPS32ThreeAddrFPR<InstMIPS32::Div_d>;
1230 using InstMIPS32Div_s = InstMIPS32ThreeAddrFPR<InstMIPS32::Div_s>;
1231 using InstMIPS32Divu = InstMIPS32ThreeAddrGPR<InstMIPS32::Divu>;
1232 using InstMIPS32La = InstMIPS32UnaryopGPR<InstMIPS32::La>;
1233 using InstMIPS32Ldc1 = InstMIPS32Load<InstMIPS32::Ldc1>;
1234 using InstMIPS32Ll = InstMIPS32Load<InstMIPS32::Ll>;
1235 using InstMIPS32Lui = InstMIPS32UnaryopGPR<InstMIPS32::Lui>;
1236 using InstMIPS32Lw = InstMIPS32Load<InstMIPS32::Lw>;
1237 using InstMIPS32Lwc1 = InstMIPS32Load<InstMIPS32::Lwc1>;
1238 using InstMIPS32Mfc1 = InstMIPS32TwoAddrGPR<InstMIPS32::Mfc1>;
1239 using InstMIPS32Mfhi = InstMIPS32UnaryopGPR<InstMIPS32::Mfhi>;
1240 using InstMIPS32Mflo = InstMIPS32UnaryopGPR<InstMIPS32::Mflo>;
1241 using InstMIPS32Mov_d = InstMIPS32TwoAddrFPR<InstMIPS32::Mov_d>;
1242 using InstMIPS32Mov_s = InstMIPS32TwoAddrFPR<InstMIPS32::Mov_s>;
1243 using InstMIPS32Movf = InstMIPS32MovConditional<InstMIPS32::Movf>;
1244 using InstMIPS32Movn = InstMIPS32ThreeAddrGPR<InstMIPS32::Movn>;
1245 using InstMIPS32Movn_d = InstMIPS32ThreeAddrGPR<InstMIPS32::Movn_d>;
1246 using InstMIPS32Movn_s = InstMIPS32ThreeAddrGPR<InstMIPS32::Movn_s>;
1247 using InstMIPS32Movt = InstMIPS32MovConditional<InstMIPS32::Movt>;
1248 using InstMIPS32Movz = InstMIPS32ThreeAddrGPR<InstMIPS32::Movz>;
1249 using InstMIPS32Movz_d = InstMIPS32ThreeAddrGPR<InstMIPS32::Movz_d>;
1250 using InstMIPS32Movz_s = InstMIPS32ThreeAddrGPR<InstMIPS32::Movz_s>;
1251 using InstMIPS32Mtc1 = InstMIPS32TwoAddrGPR<InstMIPS32::Mtc1>;
1252 using InstMIPS32Mthi = InstMIPS32UnaryopGPR<InstMIPS32::Mthi>;
1253 using InstMIPS32Mtlo = InstMIPS32UnaryopGPR<InstMIPS32::Mtlo>;
1254 using InstMIPS32Mul = InstMIPS32ThreeAddrGPR<InstMIPS32::Mul>;
1255 using InstMIPS32Mul_d = InstMIPS32ThreeAddrFPR<InstMIPS32::Mul_d>;
1256 using InstMIPS32Mul_s = InstMIPS32ThreeAddrFPR<InstMIPS32::Mul_s>;
1257 using InstMIPS32Mult = InstMIPS32ThreeAddrGPR<InstMIPS32::Mult>;
1258 using InstMIPS32Multu = InstMIPS32ThreeAddrGPR<InstMIPS32::Multu>;
1259 using InstMIPS32Nor = InstMIPS32ThreeAddrGPR<InstMIPS32::Nor>;
1260 using InstMIPS32Or = InstMIPS32ThreeAddrGPR<InstMIPS32::Or>;
1261 using InstMIPS32Ori = InstMIPS32Imm16<InstMIPS32::Ori>;
1262 using InstMIPS32Sc = InstMIPS32Store<InstMIPS32::Sc>;
1263 using InstMIPS32Sdc1 = InstMIPS32Store<InstMIPS32::Sdc1>;
1264 using InstMIPS32Sll = InstMIPS32Imm16<InstMIPS32::Sll>;
1265 using InstMIPS32Sllv = InstMIPS32ThreeAddrGPR<InstMIPS32::Sllv>;
1266 using InstMIPS32Slt = InstMIPS32ThreeAddrGPR<InstMIPS32::Slt>;
1267 using InstMIPS32Slti = InstMIPS32Imm16<InstMIPS32::Slti>;
1268 using InstMIPS32Sltiu = InstMIPS32Imm16<InstMIPS32::Sltiu>;
1269 using InstMIPS32Sltu = InstMIPS32ThreeAddrGPR<InstMIPS32::Sltu>;
1270 using InstMIPS32Sqrt_d = InstMIPS32TwoAddrFPR<InstMIPS32::Sqrt_d>;
1271 using InstMIPS32Sqrt_s = InstMIPS32TwoAddrFPR<InstMIPS32::Sqrt_s>;
1272 using InstMIPS32Sra = InstMIPS32Imm16<InstMIPS32::Sra>;
1273 using InstMIPS32Srav = InstMIPS32ThreeAddrGPR<InstMIPS32::Srav>;
1274 using InstMIPS32Srl = InstMIPS32Imm16<InstMIPS32::Srl>;
1275 using InstMIPS32Srlv = InstMIPS32ThreeAddrGPR<InstMIPS32::Srlv>;
1276 using InstMIPS32Sub = InstMIPS32ThreeAddrGPR<InstMIPS32::Sub>;
1277 using InstMIPS32Sub_d = InstMIPS32ThreeAddrFPR<InstMIPS32::Sub_d>;
1278 using InstMIPS32Sub_s = InstMIPS32ThreeAddrFPR<InstMIPS32::Sub_s>;
1279 using InstMIPS32Subu = InstMIPS32ThreeAddrGPR<InstMIPS32::Subu>;
1280 using InstMIPS32Sw = InstMIPS32Store<InstMIPS32::Sw>;
1281 using InstMIPS32Swc1 = InstMIPS32Store<InstMIPS32::Swc1>;
1282 using InstMIPS32Teq = InstMIPS32Trap<InstMIPS32::Teq>;
1283 using InstMIPS32Trunc_l_d = InstMIPS32TwoAddrFPR<InstMIPS32::Trunc_l_d>;
1284 using InstMIPS32Trunc_l_s = InstMIPS32TwoAddrFPR<InstMIPS32::Trunc_l_s>;
1285 using InstMIPS32Trunc_w_d = InstMIPS32TwoAddrFPR<InstMIPS32::Trunc_w_d>;
1286 using InstMIPS32Trunc_w_s = InstMIPS32TwoAddrFPR<InstMIPS32::Trunc_w_s>;
1287 using InstMIPS32Ori = InstMIPS32Imm16<InstMIPS32::Ori>;
1288 using InstMIPS32Xor = InstMIPS32ThreeAddrGPR<InstMIPS32::Xor>;
1289 using InstMIPS32Xori = InstMIPS32Imm16<InstMIPS32::Xori>;
1292 class InstMIPS32Mov final : public InstMIPS32 {
1326 class InstMIPS32MovFP64ToI64 final : public InstMIPS32 {