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

Function FDIV_float

arch/arm64/disassembler/decode2.c:7874–7906  ·  view source on GitHub ↗

fdiv_float.xml */

Source from the content-addressed store, hash-verified

7872
7873/* fdiv_float.xml */
7874int FDIV_float(context *ctx, Instruction *instr)
7875{
7876 int rc = DECODE_STATUS_UNMATCHED;
7877 /* class iclass_float */
7878 /* M=0|0|S=0|11110|ftype=xx|1|Rm=xxxxx|opcode=0001|10|Rn=xxxxx|Rd=xxxxx */
7879 if((INSWORD & 0xFF20FC00)==0x1E201800) {
7880 decode_fields32(ENC_FDIV_H_FLOATDP2, ctx, instr);
7881 ctx->d = UINT(ctx->Rd);
7882 ctx->n = UINT(ctx->Rn);
7883 ctx->m = UINT(ctx->Rm);
7884 if(!ctx->ftype) {
7885 ctx->esize = 0x20;
7886 }
7887 else if(ctx->ftype==1) {
7888 ctx->esize = 0x40;
7889 }
7890 else if(ctx->ftype==2) {
7891 UNDEFINED;
7892 }
7893 else if(ctx->ftype==3) {
7894 if(HaveFP16Ext()) {
7895 ctx->esize = 0x10;
7896 }
7897 else {
7898 UNDEFINED;
7899 }
7900 }
7901 if(ctx->ftype==3) OK(ENC_FDIV_H_FLOATDP2);
7902 if(ctx->ftype==0) OK(ENC_FDIV_S_FLOATDP2);
7903 if(ctx->ftype==1) OK(ENC_FDIV_D_FLOATDP2);
7904 }
7905 return rc;
7906}
7907
7908/* fjcvtzs.xml */
7909int FJCVTZS(context *ctx, Instruction *instr)

Callers 1

decode_iclass_floatdp2Function · 0.85

Calls 1

decode_fields32Function · 0.85

Tested by

no test coverage detected