| 1286 | } |
| 1287 | |
| 1288 | int decode_iclass_condcmp_imm(context *ctx, Instruction *dec) |
| 1289 | { |
| 1290 | uint32_t sf=INSWORD>>31, op=(INSWORD>>30)&1, S=(INSWORD>>29)&1, o2=(INSWORD>>10)&1, o3=(INSWORD>>4)&1; |
| 1291 | if(!sf && !op && S && !o2 && !o3) return CCMN_imm(ctx, dec); // -> CCMN_32_condcmp_imm |
| 1292 | if(!sf && op && S && !o2 && !o3) return CCMP_imm(ctx, dec); // -> CCMP_32_condcmp_imm |
| 1293 | if(sf && !op && S && !o2 && !o3) return CCMN_imm(ctx, dec); // -> CCMN_64_condcmp_imm |
| 1294 | if(sf && op && S && !o2 && !o3) return CCMP_imm(ctx, dec); // -> CCMP_64_condcmp_imm |
| 1295 | if(o3) UNALLOCATED(ENC_UNALLOCATED_11_CONDCMP_IMM); |
| 1296 | if(o2) UNALLOCATED(ENC_UNALLOCATED_10_CONDCMP_IMM); |
| 1297 | if(!S) UNALLOCATED(ENC_UNALLOCATED_12_CONDCMP_IMM); |
| 1298 | UNMATCHED; |
| 1299 | } |
| 1300 | |
| 1301 | int decode_iclass_condcmp_reg(context *ctx, Instruction *dec) |
| 1302 | { |
no test coverage detected