madd.xml */
| 17319 | |
| 17320 | /* madd.xml */ |
| 17321 | int MADD(context *ctx, Instruction *instr) |
| 17322 | { |
| 17323 | int rc = DECODE_STATUS_UNMATCHED; |
| 17324 | /* class iclass_general */ |
| 17325 | /* sf=x|op54=00|11011|op31=000|Rm=xxxxx|o0=0|Ra=xxxxx|Rn=xxxxx|Rd=xxxxx */ |
| 17326 | if((INSWORD & 0x7FE08000)==0x1B000000) { |
| 17327 | decode_fields32(ENC_MADD_32A_DP_3SRC, ctx, instr); |
| 17328 | ctx->d = UINT(ctx->Rd); |
| 17329 | ctx->n = UINT(ctx->Rn); |
| 17330 | ctx->m = UINT(ctx->Rm); |
| 17331 | ctx->a = UINT(ctx->Ra); |
| 17332 | ctx->destsize = (ctx->sf==1) ? 0x40 : 0x20; |
| 17333 | ctx->datasize = ctx->destsize; |
| 17334 | ctx->sub_op = (ctx->o0==1); |
| 17335 | /* regular aliases */ |
| 17336 | if(ctx->Ra==0x1f) return MUL_MADD(ctx, instr); |
| 17337 | if(ctx->sf==0) OK(ENC_MADD_32A_DP_3SRC); |
| 17338 | if(ctx->sf==1) OK(ENC_MADD_64A_DP_3SRC); |
| 17339 | } |
| 17340 | return rc; |
| 17341 | } |
| 17342 | |
| 17343 | /* mla_advsimd_elt.xml */ |
| 17344 | int MLA_advsimd_elt(context *ctx, Instruction *instr) |
no test coverage detected