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

Function decode_iclass_condsel

arch/arm64/disassembler/decode1.c:1314–1328  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1312}
1313
1314int decode_iclass_condsel(context *ctx, Instruction *dec)
1315{
1316 uint32_t sf=INSWORD>>31, op=(INSWORD>>30)&1, S=(INSWORD>>29)&1, op2=(INSWORD>>10)&3;
1317 if(!sf && !op && !S && !op2) return CSEL(ctx, dec); // -> CSEL_32_condsel
1318 if(!sf && !op && !S && op2==1) return CSINC(ctx, dec); // -> CSINC_32_condsel
1319 if(!sf && op && !S && !op2) return CSINV(ctx, dec); // -> CSINV_32_condsel
1320 if(!sf && op && !S && op2==1) return CSNEG(ctx, dec); // -> CSNEG_32_condsel
1321 if(sf && !op && !S && !op2) return CSEL(ctx, dec); // -> CSEL_64_condsel
1322 if(sf && !op && !S && op2==1) return CSINC(ctx, dec); // -> CSINC_64_condsel
1323 if(sf && op && !S && !op2) return CSINV(ctx, dec); // -> CSINV_64_condsel
1324 if(sf && op && !S && op2==1) return CSNEG(ctx, dec); // -> CSNEG_64_condsel
1325 if((op2&2)==2) UNALLOCATED(ENC_UNALLOCATED_10_CONDSEL);
1326 if(S) UNALLOCATED(ENC_UNALLOCATED_11_CONDSEL);
1327 UNMATCHED;
1328}
1329
1330int decode_iclass_dp_1src(context *ctx, Instruction *dec)
1331{

Callers 1

decode_specFunction · 0.85

Calls 4

CSELFunction · 0.85
CSINCFunction · 0.85
CSINVFunction · 0.85
CSNEGFunction · 0.85

Tested by

no test coverage detected