ldr_lit_fpsimd.xml */
| 15254 | |
| 15255 | /* ldr_lit_fpsimd.xml */ |
| 15256 | int LDR_lit_fpsimd(context *ctx, Instruction *instr) |
| 15257 | { |
| 15258 | int rc = DECODE_STATUS_UNMATCHED; |
| 15259 | /* class iclass_literal */ |
| 15260 | /* opc=xx|011|V=1|00|imm19=xxxxxxxxxxxxxxxxxxx|Rt=xxxxx */ |
| 15261 | if((INSWORD & 0x3F000000)==0x1C000000) { |
| 15262 | decode_fields32(ENC_LDR_S_LOADLIT, ctx, instr); |
| 15263 | ctx->t = UINT(ctx->Rt); |
| 15264 | if(!ctx->opc) { |
| 15265 | ctx->size = 4; |
| 15266 | } |
| 15267 | else if(ctx->opc==1) { |
| 15268 | ctx->size = 8; |
| 15269 | } |
| 15270 | else if(ctx->opc==2) { |
| 15271 | ctx->size = 0x10; |
| 15272 | } |
| 15273 | else if(ctx->opc==3) { |
| 15274 | UNDEFINED; |
| 15275 | } |
| 15276 | ctx->offset = SignExtend((ctx->imm19<<2),21); |
| 15277 | ctx->tag_checked = FALSE; |
| 15278 | if(ctx->opc==0) OK(ENC_LDR_S_LOADLIT); |
| 15279 | if(ctx->opc==1) OK(ENC_LDR_D_LOADLIT); |
| 15280 | if(ctx->opc==2) OK(ENC_LDR_Q_LOADLIT); |
| 15281 | } |
| 15282 | return rc; |
| 15283 | } |
| 15284 | |
| 15285 | /* ldr_lit_gen.xml */ |
| 15286 | int LDR_lit_gen(context *ctx, Instruction *instr) |
no test coverage detected