stz2g.xml */
| 26865 | |
| 26866 | /* stz2g.xml */ |
| 26867 | int STZ2G(context *ctx, Instruction *instr) |
| 26868 | { |
| 26869 | int rc = DECODE_STATUS_UNMATCHED; |
| 26870 | /* class iclass_post_indexed */ |
| 26871 | /* 11011001|opc=11|1|imm9=xxxxxxxxx|op2=01|Xn=xxxxx|Xt=xxxxx */ |
| 26872 | if((INSWORD & 0xFFE00C00)==0xD9E00400) { |
| 26873 | decode_fields32(ENC_STZ2G_64SPOST_LDSTTAGS, ctx, instr); |
| 26874 | if(!HaveMTEExt()) { |
| 26875 | UNDEFINED; |
| 26876 | } |
| 26877 | ctx->n = UINT(ctx->Xn); |
| 26878 | ctx->t = UINT(ctx->Xt); |
| 26879 | ctx->offset = LSL(SignExtend(ctx->imm9,9),LOG2_TAG_GRANULE); |
| 26880 | ctx->writeback = TRUE; |
| 26881 | ctx->postindex = TRUE; |
| 26882 | ctx->zero_data = TRUE; |
| 26883 | OK(ENC_STZ2G_64SPOST_LDSTTAGS); |
| 26884 | } |
| 26885 | /* class iclass_pre_indexed */ |
| 26886 | /* 11011001|opc=11|1|imm9=xxxxxxxxx|op2=11|Xn=xxxxx|Xt=xxxxx */ |
| 26887 | if((INSWORD & 0xFFE00C00)==0xD9E00C00) { |
| 26888 | decode_fields32(ENC_STZ2G_64SPRE_LDSTTAGS, ctx, instr); |
| 26889 | if(!HaveMTEExt()) { |
| 26890 | UNDEFINED; |
| 26891 | } |
| 26892 | ctx->n = UINT(ctx->Xn); |
| 26893 | ctx->t = UINT(ctx->Xt); |
| 26894 | ctx->offset = LSL(SignExtend(ctx->imm9,9),LOG2_TAG_GRANULE); |
| 26895 | ctx->writeback = TRUE; |
| 26896 | ctx->postindex = FALSE; |
| 26897 | ctx->zero_data = TRUE; |
| 26898 | OK(ENC_STZ2G_64SPRE_LDSTTAGS); |
| 26899 | } |
| 26900 | /* class iclass_signed_scaled_offset */ |
| 26901 | /* 11011001|opc=11|1|imm9=xxxxxxxxx|op2=10|Xn=xxxxx|Xt=xxxxx */ |
| 26902 | if((INSWORD & 0xFFE00C00)==0xD9E00800) { |
| 26903 | decode_fields32(ENC_STZ2G_64SOFFSET_LDSTTAGS, ctx, instr); |
| 26904 | if(!HaveMTEExt()) { |
| 26905 | UNDEFINED; |
| 26906 | } |
| 26907 | ctx->n = UINT(ctx->Xn); |
| 26908 | ctx->t = UINT(ctx->Xt); |
| 26909 | ctx->offset = LSL(SignExtend(ctx->imm9,9),LOG2_TAG_GRANULE); |
| 26910 | ctx->writeback = FALSE; |
| 26911 | ctx->postindex = FALSE; |
| 26912 | ctx->zero_data = TRUE; |
| 26913 | OK(ENC_STZ2G_64SOFFSET_LDSTTAGS); |
| 26914 | } |
| 26915 | return rc; |
| 26916 | } |
| 26917 | |
| 26918 | /* stzg.xml */ |
| 26919 | int STZG(context *ctx, Instruction *instr) |
no test coverage detected