| 1172 | } |
| 1173 | |
| 1174 | int decode_iclass_bitfield(context *ctx, Instruction *dec) |
| 1175 | { |
| 1176 | uint32_t sf=INSWORD>>31, opc=(INSWORD>>29)&3, N=(INSWORD>>22)&1; |
| 1177 | if(!sf && !opc && !N) return SBFM(ctx, dec); // -> SBFM_32M_bitfield |
| 1178 | if(!sf && opc==1 && !N) return BFM(ctx, dec); // -> BFM_32M_bitfield |
| 1179 | if(!sf && opc==2 && !N) return UBFM(ctx, dec); // -> UBFM_32M_bitfield |
| 1180 | if(sf && !opc && N) return SBFM(ctx, dec); // -> SBFM_64M_bitfield |
| 1181 | if(sf && opc==1 && N) return BFM(ctx, dec); // -> BFM_64M_bitfield |
| 1182 | if(sf && opc==2 && N) return UBFM(ctx, dec); // -> UBFM_64M_bitfield |
| 1183 | if(opc==3) UNALLOCATED(ENC_UNALLOCATED_19_BITFIELD); |
| 1184 | if(!sf && N) UNALLOCATED(ENC_UNALLOCATED_12_BITFIELD); |
| 1185 | if(sf && !N) UNALLOCATED(ENC_UNALLOCATED_11_BITFIELD); |
| 1186 | UNMATCHED; |
| 1187 | } |
| 1188 | |
| 1189 | int decode_iclass_extract(context *ctx, Instruction *dec) |
| 1190 | { |
no test coverage detected