prfm_lit.xml */
| 19242 | |
| 19243 | /* prfm_lit.xml */ |
| 19244 | int PRFM_lit(context *ctx, Instruction *instr) |
| 19245 | { |
| 19246 | int rc = DECODE_STATUS_UNMATCHED; |
| 19247 | /* class iclass_literal */ |
| 19248 | /* opc=11|011|V=0|00|imm19=xxxxxxxxxxxxxxxxxxx|Rt=xxxxx */ |
| 19249 | if((INSWORD & 0xFF000000)==0xD8000000) { |
| 19250 | decode_fields32(ENC_PRFM_P_LOADLIT, ctx, instr); |
| 19251 | ctx->t = UINT(ctx->Rt); |
| 19252 | ctx->memop = MemOp_LOAD; |
| 19253 | ctx->signed_ = FALSE; |
| 19254 | if(!ctx->opc) { |
| 19255 | ctx->size = 4; |
| 19256 | } |
| 19257 | else if(ctx->opc==1) { |
| 19258 | ctx->size = 8; |
| 19259 | } |
| 19260 | else if(ctx->opc==2) { |
| 19261 | ctx->size = 4; |
| 19262 | ctx->signed_ = TRUE; |
| 19263 | } |
| 19264 | else if(ctx->opc==3) { |
| 19265 | ctx->memop = MemOp_PREFETCH; |
| 19266 | } |
| 19267 | ctx->offset = SignExtend((ctx->imm19<<2),21); |
| 19268 | ctx->tag_checked = FALSE; |
| 19269 | OK(ENC_PRFM_P_LOADLIT); |
| 19270 | } |
| 19271 | return rc; |
| 19272 | } |
| 19273 | |
| 19274 | /* prfm_reg.xml */ |
| 19275 | int PRFM_reg(context *ctx, Instruction *instr) |
no test coverage detected