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

Function STZG

arch/arm64/disassembler/decode2.c:26919–26968  ·  view source on GitHub ↗

stzg.xml */

Source from the content-addressed store, hash-verified

26917
26918/* stzg.xml */
26919int STZG(context *ctx, Instruction *instr)
26920{
26921 int rc = DECODE_STATUS_UNMATCHED;
26922 /* class iclass_post_indexed */
26923 /* 11011001|opc=01|1|imm9=xxxxxxxxx|op2=01|Xn=xxxxx|Xt=xxxxx */
26924 if((INSWORD & 0xFFE00C00)==0xD9600400) {
26925 decode_fields32(ENC_STZG_64SPOST_LDSTTAGS, ctx, instr);
26926 if(!HaveMTEExt()) {
26927 UNDEFINED;
26928 }
26929 ctx->n = UINT(ctx->Xn);
26930 ctx->t = UINT(ctx->Xt);
26931 ctx->offset = LSL(SignExtend(ctx->imm9,9),LOG2_TAG_GRANULE);
26932 ctx->writeback = TRUE;
26933 ctx->postindex = TRUE;
26934 ctx->zero_data = TRUE;
26935 OK(ENC_STZG_64SPOST_LDSTTAGS);
26936 }
26937 /* class iclass_pre_indexed */
26938 /* 11011001|opc=01|1|imm9=xxxxxxxxx|op2=11|Xn=xxxxx|Xt=xxxxx */
26939 if((INSWORD & 0xFFE00C00)==0xD9600C00) {
26940 decode_fields32(ENC_STZG_64SPRE_LDSTTAGS, ctx, instr);
26941 if(!HaveMTEExt()) {
26942 UNDEFINED;
26943 }
26944 ctx->n = UINT(ctx->Xn);
26945 ctx->t = UINT(ctx->Xt);
26946 ctx->offset = LSL(SignExtend(ctx->imm9,9),LOG2_TAG_GRANULE);
26947 ctx->writeback = TRUE;
26948 ctx->postindex = FALSE;
26949 ctx->zero_data = TRUE;
26950 OK(ENC_STZG_64SPRE_LDSTTAGS);
26951 }
26952 /* class iclass_signed_scaled_offset */
26953 /* 11011001|opc=01|1|imm9=xxxxxxxxx|op2=10|Xn=xxxxx|Xt=xxxxx */
26954 if((INSWORD & 0xFFE00C00)==0xD9600800) {
26955 decode_fields32(ENC_STZG_64SOFFSET_LDSTTAGS, ctx, instr);
26956 if(!HaveMTEExt()) {
26957 UNDEFINED;
26958 }
26959 ctx->n = UINT(ctx->Xn);
26960 ctx->t = UINT(ctx->Xt);
26961 ctx->offset = LSL(SignExtend(ctx->imm9,9),LOG2_TAG_GRANULE);
26962 ctx->writeback = FALSE;
26963 ctx->postindex = FALSE;
26964 ctx->zero_data = TRUE;
26965 OK(ENC_STZG_64SOFFSET_LDSTTAGS);
26966 }
26967 return rc;
26968}
26969
26970/* stzgm.xml */
26971int STZGM(context *ctx, Instruction *instr)

Callers 1

decode_iclass_ldsttagsFunction · 0.85

Calls 2

decode_fields32Function · 0.85
SignExtendFunction · 0.85

Tested by

no test coverage detected