| 1147 | } |
| 1148 | |
| 1149 | int decode_iclass_addsub_imm(context *ctx, Instruction *dec) |
| 1150 | { |
| 1151 | uint32_t sf=INSWORD>>31, op=(INSWORD>>30)&1, S=(INSWORD>>29)&1; |
| 1152 | if(!sf && !op && !S) return ADD_addsub_imm(ctx, dec); // -> ADD_32_addsub_imm |
| 1153 | if(!sf && !op && S) return ADDS_addsub_imm(ctx, dec); // -> ADDS_32S_addsub_imm |
| 1154 | if(!sf && op && !S) return SUB_addsub_imm(ctx, dec); // -> SUB_32_addsub_imm |
| 1155 | if(!sf && op && S) return SUBS_addsub_imm(ctx, dec); // -> SUBS_32S_addsub_imm |
| 1156 | if(sf && !op && !S) return ADD_addsub_imm(ctx, dec); // -> ADD_64_addsub_imm |
| 1157 | if(sf && !op && S) return ADDS_addsub_imm(ctx, dec); // -> ADDS_64S_addsub_imm |
| 1158 | if(sf && op && !S) return SUB_addsub_imm(ctx, dec); // -> SUB_64_addsub_imm |
| 1159 | if(sf && op && S) return SUBS_addsub_imm(ctx, dec); // -> SUBS_64S_addsub_imm |
| 1160 | UNMATCHED; |
| 1161 | } |
| 1162 | |
| 1163 | int decode_iclass_addsub_immtags(context *ctx, Instruction *dec) |
| 1164 | { |
no test coverage detected