| 1467 | } |
| 1468 | |
| 1469 | int decode_iclass_log_shift(context *ctx, Instruction *dec) |
| 1470 | { |
| 1471 | uint32_t sf=INSWORD>>31, opc=(INSWORD>>29)&3, N=(INSWORD>>21)&1, imm6=(INSWORD>>10)&0x3f; |
| 1472 | if(!sf && !opc && !N) return AND_log_shift(ctx, dec); // -> AND_32_log_shift |
| 1473 | if(!sf && !opc && N) return BIC_log_shift(ctx, dec); // -> BIC_32_log_shift |
| 1474 | if(!sf && opc==1 && !N) return ORR_log_shift(ctx, dec); // -> ORR_32_log_shift |
| 1475 | if(!sf && opc==1 && N) return ORN_log_shift(ctx, dec); // -> ORN_32_log_shift |
| 1476 | if(!sf && opc==2 && !N) return EOR_log_shift(ctx, dec); // -> EOR_32_log_shift |
| 1477 | if(!sf && opc==2 && N) return EON(ctx, dec); // -> EON_32_log_shift |
| 1478 | if(!sf && opc==3 && !N) return ANDS_log_shift(ctx, dec); // -> ANDS_32_log_shift |
| 1479 | if(!sf && opc==3 && N) return BICS(ctx, dec); // -> BICS_32_log_shift |
| 1480 | if(sf && !opc && !N) return AND_log_shift(ctx, dec); // -> AND_64_log_shift |
| 1481 | if(sf && !opc && N) return BIC_log_shift(ctx, dec); // -> BIC_64_log_shift |
| 1482 | if(sf && opc==1 && !N) return ORR_log_shift(ctx, dec); // -> ORR_64_log_shift |
| 1483 | if(sf && opc==1 && N) return ORN_log_shift(ctx, dec); // -> ORN_64_log_shift |
| 1484 | if(sf && opc==2 && !N) return EOR_log_shift(ctx, dec); // -> EOR_64_log_shift |
| 1485 | if(sf && opc==2 && N) return EON(ctx, dec); // -> EON_64_log_shift |
| 1486 | if(sf && opc==3 && !N) return ANDS_log_shift(ctx, dec); // -> ANDS_64_log_shift |
| 1487 | if(sf && opc==3 && N) return BICS(ctx, dec); // -> BICS_64_log_shift |
| 1488 | if(!sf && (imm6&0x20)==0x20) UNALLOCATED(ENC_UNALLOCATED_10_LOG_SHIFT); |
| 1489 | UNMATCHED; |
| 1490 | } |
| 1491 | |
| 1492 | int decode_iclass_rmif(context *ctx, Instruction *dec) |
| 1493 | { |
no test coverage detected