1282 inline void subfmeo_(Register d, Register a);
1283 inline void addzeo( Register d, Register a);
1284 inline void addzeo_( Register d, Register a);
1285 inline void subfzeo( Register d, Register a);
1286 inline void subfzeo_(Register d, Register a);
1287 inline void nego( Register d, Register a);
1288 inline void nego_( Register d, Register a);
1289 inline void mulldo( Register d, Register a, Register b);
1290 inline void mulldo_( Register d, Register a, Register b);
1291 inline void mullwo( Register d, Register a, Register b);
1292 inline void mullwo_( Register d, Register a, Register b);
1293 inline void divdo( Register d, Register a, Register b);
1294 inline void divdo_( Register d, Register a, Register b);
1295 inline void divwo( Register d, Register a, Register b);
1296 inline void divwo_( Register d, Register a, Register b);
1297
1298 // extended mnemonics
1299 inline void li( Register d, int si16);
1300 inline void lis( Register d, int si16);
1301 inline void addir(Register d, int si16, Register a);
1302
1303 static bool is_addi(int x) {
1304 return ADDI_OPCODE == (x & ADDI_OPCODE_MASK);
1305 }
1306 static bool is_addis(int x) {
1307 return ADDIS_OPCODE == (x & ADDIS_OPCODE_MASK);
1308 }
1309 static bool is_bxx(int x) {
1310 return BXX_OPCODE == (x & BXX_OPCODE_MASK);
1311 }
1312 static bool is_b(int x) {
1313 return BXX_OPCODE == (x & BXX_OPCODE_MASK) && inv_lk_field(x) == 0;
1314 }
1315 static bool is_bl(int x) {
1316 return BXX_OPCODE == (x & BXX_OPCODE_MASK) && inv_lk_field(x) == 1;
1317 }
1318 static bool is_bcxx(int x) {
1319 return BCXX_OPCODE == (x & BCXX_OPCODE_MASK);
1320 }
1321 static bool is_bxx_or_bcxx(int x) {
|
1282 inline void subfmeo_(Register d, Register a);
1283 inline void addzeo( Register d, Register a);
1284 inline void addzeo_( Register d, Register a);
1285 inline void subfzeo( Register d, Register a);
1286 inline void subfzeo_(Register d, Register a);
1287 inline void nego( Register d, Register a);
1288 inline void nego_( Register d, Register a);
1289 inline void mulldo( Register d, Register a, Register b);
1290 inline void mulldo_( Register d, Register a, Register b);
1291 inline void mullwo( Register d, Register a, Register b);
1292 inline void mullwo_( Register d, Register a, Register b);
1293 inline void divdo( Register d, Register a, Register b);
1294 inline void divdo_( Register d, Register a, Register b);
1295 inline void divwo( Register d, Register a, Register b);
1296 inline void divwo_( Register d, Register a, Register b);
1297
1298 // extended mnemonics
1299 inline void li( Register d, int si16);
1300 inline void lis( Register d, int si16);
1301 inline void addir(Register d, int si16, Register a);
1302 inline void subi( Register d, Register a, int si16);
1303
1304 static bool is_addi(int x) {
1305 return ADDI_OPCODE == (x & ADDI_OPCODE_MASK);
1306 }
1307 static bool is_addis(int x) {
1308 return ADDIS_OPCODE == (x & ADDIS_OPCODE_MASK);
1309 }
1310 static bool is_bxx(int x) {
1311 return BXX_OPCODE == (x & BXX_OPCODE_MASK);
1312 }
1313 static bool is_b(int x) {
1314 return BXX_OPCODE == (x & BXX_OPCODE_MASK) && inv_lk_field(x) == 0;
1315 }
1316 static bool is_bl(int x) {
1317 return BXX_OPCODE == (x & BXX_OPCODE_MASK) && inv_lk_field(x) == 1;
1318 }
1319 static bool is_bcxx(int x) {
1320 return BCXX_OPCODE == (x & BCXX_OPCODE_MASK);
1321 }
1322 static bool is_bxx_or_bcxx(int x) {
|