stg.xml */
| 24707 | |
| 24708 | /* stg.xml */ |
| 24709 | int STG(context *ctx, Instruction *instr) |
| 24710 | { |
| 24711 | int rc = DECODE_STATUS_UNMATCHED; |
| 24712 | /* class iclass_post_indexed */ |
| 24713 | /* 11011001|opc=00|1|imm9=xxxxxxxxx|op2=01|Xn=xxxxx|Xt=xxxxx */ |
| 24714 | if((INSWORD & 0xFFE00C00)==0xD9200400) { |
| 24715 | decode_fields32(ENC_STG_64SPOST_LDSTTAGS, ctx, instr); |
| 24716 | if(!HaveMTEExt()) { |
| 24717 | UNDEFINED; |
| 24718 | } |
| 24719 | ctx->n = UINT(ctx->Xn); |
| 24720 | ctx->t = UINT(ctx->Xt); |
| 24721 | ctx->offset = LSL(SignExtend(ctx->imm9,9),LOG2_TAG_GRANULE); |
| 24722 | ctx->writeback = TRUE; |
| 24723 | ctx->postindex = TRUE; |
| 24724 | ctx->zero_data = FALSE; |
| 24725 | OK(ENC_STG_64SPOST_LDSTTAGS); |
| 24726 | } |
| 24727 | /* class iclass_pre_indexed */ |
| 24728 | /* 11011001|opc=00|1|imm9=xxxxxxxxx|op2=11|Xn=xxxxx|Xt=xxxxx */ |
| 24729 | if((INSWORD & 0xFFE00C00)==0xD9200C00) { |
| 24730 | decode_fields32(ENC_STG_64SPRE_LDSTTAGS, ctx, instr); |
| 24731 | if(!HaveMTEExt()) { |
| 24732 | UNDEFINED; |
| 24733 | } |
| 24734 | ctx->n = UINT(ctx->Xn); |
| 24735 | ctx->t = UINT(ctx->Xt); |
| 24736 | ctx->offset = LSL(SignExtend(ctx->imm9,9),LOG2_TAG_GRANULE); |
| 24737 | ctx->writeback = TRUE; |
| 24738 | ctx->postindex = FALSE; |
| 24739 | ctx->zero_data = FALSE; |
| 24740 | OK(ENC_STG_64SPRE_LDSTTAGS); |
| 24741 | } |
| 24742 | /* class iclass_signed_scaled_offset */ |
| 24743 | /* 11011001|opc=00|1|imm9=xxxxxxxxx|op2=10|Xn=xxxxx|Xt=xxxxx */ |
| 24744 | if((INSWORD & 0xFFE00C00)==0xD9200800) { |
| 24745 | decode_fields32(ENC_STG_64SOFFSET_LDSTTAGS, ctx, instr); |
| 24746 | if(!HaveMTEExt()) { |
| 24747 | UNDEFINED; |
| 24748 | } |
| 24749 | ctx->n = UINT(ctx->Xn); |
| 24750 | ctx->t = UINT(ctx->Xt); |
| 24751 | ctx->offset = LSL(SignExtend(ctx->imm9,9),LOG2_TAG_GRANULE); |
| 24752 | ctx->writeback = FALSE; |
| 24753 | ctx->postindex = FALSE; |
| 24754 | ctx->zero_data = FALSE; |
| 24755 | OK(ENC_STG_64SOFFSET_LDSTTAGS); |
| 24756 | } |
| 24757 | return rc; |
| 24758 | } |
| 24759 | |
| 24760 | /* stgm.xml */ |
| 24761 | int STGM(context *ctx, Instruction *instr) |
no test coverage detected