MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / MSUB

Function MSUB

arch/arm64/disassembler/decode2.c:18205–18225  ·  view source on GitHub ↗

msub.xml */

Source from the content-addressed store, hash-verified

18203
18204/* msub.xml */
18205int MSUB(context *ctx, Instruction *instr)
18206{
18207 int rc = DECODE_STATUS_UNMATCHED;
18208 /* class iclass_general */
18209 /* sf=x|op54=00|11011|op31=000|Rm=xxxxx|o0=1|Ra=xxxxx|Rn=xxxxx|Rd=xxxxx */
18210 if((INSWORD & 0x7FE08000)==0x1B008000) {
18211 decode_fields32(ENC_MSUB_32A_DP_3SRC, ctx, instr);
18212 ctx->d = UINT(ctx->Rd);
18213 ctx->n = UINT(ctx->Rn);
18214 ctx->m = UINT(ctx->Rm);
18215 ctx->a = UINT(ctx->Ra);
18216 ctx->destsize = (ctx->sf==1) ? 0x40 : 0x20;
18217 ctx->datasize = ctx->destsize;
18218 ctx->sub_op = (ctx->o0==1);
18219 /* regular aliases */
18220 if(ctx->Ra==0x1f) return MNEG_MSUB(ctx, instr);
18221 if(ctx->sf==0) OK(ENC_MSUB_32A_DP_3SRC);
18222 if(ctx->sf==1) OK(ENC_MSUB_64A_DP_3SRC);
18223 }
18224 return rc;
18225}
18226
18227/* mul_madd.xml */
18228int MUL_MADD(context *ctx, Instruction *instr)

Callers 1

decode_iclass_dp_3srcFunction · 0.85

Calls 2

decode_fields32Function · 0.85
MNEG_MSUBFunction · 0.85

Tested by

no test coverage detected