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

Function XPAC

arch/arm64/disassembler/decode2.c:30350–30376  ·  view source on GitHub ↗

xpac.xml */

Source from the content-addressed store, hash-verified

30348
30349/* xpac.xml */
30350int XPAC(context *ctx, Instruction *instr)
30351{
30352 int rc = DECODE_STATUS_UNMATCHED;
30353 /* class iclass_general */
30354 /* sf=1|1|S=0|11010110|opcode2=00001|opcode[5]=0|opcode[4]=1|opcode[3:1]=000|D=x|Rn=11111|Rd=xxxxx */
30355 if((INSWORD & 0xFFFFFBE0)==0xDAC143E0) {
30356 decode_fields32(ENC_XPACD_64Z_DP_1SRC, ctx, instr);
30357 ctx->data = (ctx->D==1);
30358 ctx->d = UINT(ctx->Rd);
30359 ctx->n = UINT(ctx->Rn);
30360 if(!HavePACExt()) {
30361 UNDEFINED;
30362 }
30363 if(ctx->n!=0x1f) {
30364 UNDEFINED;
30365 }
30366 if(ctx->D==1) OK(ENC_XPACD_64Z_DP_1SRC);
30367 if(ctx->D==0) OK(ENC_XPACI_64Z_DP_1SRC);
30368 }
30369 /* class iclass_system */
30370 /* 1101010100|L=0|op0=00|op1=011|CRn=0010|CRm=0000|op2=111|Rt=11111 */
30371 if((INSWORD & 0xFFFFFFFF)==0xD50320FF) {
30372 decode_fields32(ENC_XPACLRI_HI_HINTS, ctx, instr);
30373 OK(ENC_XPACLRI_HI_HINTS);
30374 }
30375 return rc;
30376}
30377
30378/* xtn_advsimd.xml */
30379int XTN_advsimd(context *ctx, Instruction *instr)

Callers 2

decode_iclass_hintsFunction · 0.85
decode_iclass_dp_1srcFunction · 0.85

Calls 1

decode_fields32Function · 0.85

Tested by

no test coverage detected