stgp.xml */
| 24777 | |
| 24778 | /* stgp.xml */ |
| 24779 | int STGP(context *ctx, Instruction *instr) |
| 24780 | { |
| 24781 | int rc = DECODE_STATUS_UNMATCHED; |
| 24782 | /* class iclass_post_indexed */ |
| 24783 | /* opc=01|101|V=0|001|L=0|simm7=xxxxxxx|Xt2=xxxxx|Xn=xxxxx|Xt=xxxxx */ |
| 24784 | if((INSWORD & 0xFFC00000)==0x68800000) { |
| 24785 | decode_fields32(ENC_STGP_64_LDSTPAIR_POST, ctx, instr); |
| 24786 | if(!HaveMTEExt()) { |
| 24787 | UNDEFINED; |
| 24788 | } |
| 24789 | ctx->n = UINT(ctx->Xn); |
| 24790 | ctx->t = UINT(ctx->Xt); |
| 24791 | ctx->t2 = UINT(ctx->Xt2); |
| 24792 | ctx->offset = LSL(SignExtend(ctx->simm7,7),LOG2_TAG_GRANULE); |
| 24793 | ctx->writeback = TRUE; |
| 24794 | ctx->postindex = TRUE; |
| 24795 | OK(ENC_STGP_64_LDSTPAIR_POST); |
| 24796 | } |
| 24797 | /* class iclass_pre_indexed */ |
| 24798 | /* opc=01|101|V=0|011|L=0|simm7=xxxxxxx|Xt2=xxxxx|Xn=xxxxx|Xt=xxxxx */ |
| 24799 | if((INSWORD & 0xFFC00000)==0x69800000) { |
| 24800 | decode_fields32(ENC_STGP_64_LDSTPAIR_PRE, ctx, instr); |
| 24801 | if(!HaveMTEExt()) { |
| 24802 | UNDEFINED; |
| 24803 | } |
| 24804 | ctx->n = UINT(ctx->Xn); |
| 24805 | ctx->t = UINT(ctx->Xt); |
| 24806 | ctx->t2 = UINT(ctx->Xt2); |
| 24807 | ctx->offset = LSL(SignExtend(ctx->simm7,7),LOG2_TAG_GRANULE); |
| 24808 | ctx->writeback = TRUE; |
| 24809 | ctx->postindex = FALSE; |
| 24810 | OK(ENC_STGP_64_LDSTPAIR_PRE); |
| 24811 | } |
| 24812 | /* class iclass_signed_scaled_offset */ |
| 24813 | /* opc=01|101|V=0|010|L=0|simm7=xxxxxxx|Xt2=xxxxx|Xn=xxxxx|Xt=xxxxx */ |
| 24814 | if((INSWORD & 0xFFC00000)==0x69000000) { |
| 24815 | decode_fields32(ENC_STGP_64_LDSTPAIR_OFF, ctx, instr); |
| 24816 | if(!HaveMTEExt()) { |
| 24817 | UNDEFINED; |
| 24818 | } |
| 24819 | ctx->n = UINT(ctx->Xn); |
| 24820 | ctx->t = UINT(ctx->Xt); |
| 24821 | ctx->t2 = UINT(ctx->Xt2); |
| 24822 | ctx->offset = LSL(SignExtend(ctx->simm7,7),LOG2_TAG_GRANULE); |
| 24823 | ctx->writeback = FALSE; |
| 24824 | ctx->postindex = FALSE; |
| 24825 | OK(ENC_STGP_64_LDSTPAIR_OFF); |
| 24826 | } |
| 24827 | return rc; |
| 24828 | } |
| 24829 | |
| 24830 | /* stllr.xml */ |
| 24831 | int STLLR(context *ctx, Instruction *instr) |
no test coverage detected