| 1299 | } |
| 1300 | |
| 1301 | int decode_iclass_condcmp_reg(context *ctx, Instruction *dec) |
| 1302 | { |
| 1303 | uint32_t sf=INSWORD>>31, op=(INSWORD>>30)&1, S=(INSWORD>>29)&1, o2=(INSWORD>>10)&1, o3=(INSWORD>>4)&1; |
| 1304 | if(!sf && !op && S && !o2 && !o3) return CCMN_reg(ctx, dec); // -> CCMN_32_condcmp_reg |
| 1305 | if(!sf && op && S && !o2 && !o3) return CCMP_reg(ctx, dec); // -> CCMP_32_condcmp_reg |
| 1306 | if(sf && !op && S && !o2 && !o3) return CCMN_reg(ctx, dec); // -> CCMN_64_condcmp_reg |
| 1307 | if(sf && op && S && !o2 && !o3) return CCMP_reg(ctx, dec); // -> CCMP_64_condcmp_reg |
| 1308 | if(o3) UNALLOCATED(ENC_UNALLOCATED_11_CONDCMP_REG); |
| 1309 | if(o2) UNALLOCATED(ENC_UNALLOCATED_10_CONDCMP_REG); |
| 1310 | if(!S) UNALLOCATED(ENC_UNALLOCATED_12_CONDCMP_REG); |
| 1311 | UNMATCHED; |
| 1312 | } |
| 1313 | |
| 1314 | int decode_iclass_condsel(context *ctx, Instruction *dec) |
| 1315 | { |
no test coverage detected