| 1312 | } |
| 1313 | |
| 1314 | int decode_iclass_condsel(context *ctx, Instruction *dec) |
| 1315 | { |
| 1316 | uint32_t sf=INSWORD>>31, op=(INSWORD>>30)&1, S=(INSWORD>>29)&1, op2=(INSWORD>>10)&3; |
| 1317 | if(!sf && !op && !S && !op2) return CSEL(ctx, dec); // -> CSEL_32_condsel |
| 1318 | if(!sf && !op && !S && op2==1) return CSINC(ctx, dec); // -> CSINC_32_condsel |
| 1319 | if(!sf && op && !S && !op2) return CSINV(ctx, dec); // -> CSINV_32_condsel |
| 1320 | if(!sf && op && !S && op2==1) return CSNEG(ctx, dec); // -> CSNEG_32_condsel |
| 1321 | if(sf && !op && !S && !op2) return CSEL(ctx, dec); // -> CSEL_64_condsel |
| 1322 | if(sf && !op && !S && op2==1) return CSINC(ctx, dec); // -> CSINC_64_condsel |
| 1323 | if(sf && op && !S && !op2) return CSINV(ctx, dec); // -> CSINV_64_condsel |
| 1324 | if(sf && op && !S && op2==1) return CSNEG(ctx, dec); // -> CSNEG_64_condsel |
| 1325 | if((op2&2)==2) UNALLOCATED(ENC_UNALLOCATED_10_CONDSEL); |
| 1326 | if(S) UNALLOCATED(ENC_UNALLOCATED_11_CONDSEL); |
| 1327 | UNMATCHED; |
| 1328 | } |
| 1329 | |
| 1330 | int decode_iclass_dp_1src(context *ctx, Instruction *dec) |
| 1331 | { |
no test coverage detected