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

Function decode_iclass_floatdp3

arch/arm64/disassembler/decode1.c:2824–2843  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2822}
2823
2824int decode_iclass_floatdp3(context *ctx, Instruction *dec)
2825{
2826 uint32_t M=INSWORD>>31, S=(INSWORD>>29)&1, ptype=(INSWORD>>22)&3, o1=(INSWORD>>21)&1, o0=(INSWORD>>15)&1;
2827 if(!M && !S && !ptype && !o1 && !o0) return FMADD_float(ctx, dec); // -> FMADD_S_floatdp3
2828 if(!M && !S && !ptype && !o1 && o0) return FMSUB_float(ctx, dec); // -> FMSUB_S_floatdp3
2829 if(!M && !S && !ptype && o1 && !o0) return FNMADD_float(ctx, dec); // -> FNMADD_S_floatdp3
2830 if(!M && !S && !ptype && o1 && o0) return FNMSUB_float(ctx, dec); // -> FNMSUB_S_floatdp3
2831 if(!M && !S && ptype==1 && !o1 && !o0) return FMADD_float(ctx, dec); // -> FMADD_D_floatdp3
2832 if(!M && !S && ptype==1 && !o1 && o0) return FMSUB_float(ctx, dec); // -> FMSUB_D_floatdp3
2833 if(!M && !S && ptype==1 && o1 && !o0) return FNMADD_float(ctx, dec); // -> FNMADD_D_floatdp3
2834 if(!M && !S && ptype==1 && o1 && o0) return FNMSUB_float(ctx, dec); // -> FNMSUB_D_floatdp3
2835 if(!M && !S && ptype==3 && !o1 && !o0 && HasFP16()) return FMADD_float(ctx, dec); // -> FMADD_H_floatdp3
2836 if(!M && !S && ptype==3 && !o1 && o0 && HasFP16()) return FMSUB_float(ctx, dec); // -> FMSUB_H_floatdp3
2837 if(!M && !S && ptype==3 && o1 && !o0 && HasFP16()) return FNMADD_float(ctx, dec); // -> FNMADD_H_floatdp3
2838 if(!M && !S && ptype==3 && o1 && o0 && HasFP16()) return FNMSUB_float(ctx, dec); // -> FNMSUB_H_floatdp3
2839 if(ptype==2) UNALLOCATED(ENC_UNALLOCATED_10_FLOATDP3);
2840 if(S) UNALLOCATED(ENC_UNALLOCATED_12_FLOATDP3);
2841 if(M) UNALLOCATED(ENC_UNALLOCATED_11_FLOATDP3);
2842 UNMATCHED;
2843}
2844
2845int decode_iclass_floatimm(context *ctx, Instruction *dec)
2846{

Callers 1

decode_specFunction · 0.85

Calls 4

FMADD_floatFunction · 0.85
FMSUB_floatFunction · 0.85
FNMADD_floatFunction · 0.85
FNMSUB_floatFunction · 0.85

Tested by

no test coverage detected