Commit 7526aa2d0082558bc4e89dab9f7a37b0d509a71a
1 parent
bdbf22e6
SH4: Implement MOVUA.L
* target-sh4/translate.c (_decode_opc): Implement MOVUA.L. (Vladimir Prus) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5473 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
11 additions
and
0 deletions
target-sh4/translate.c
... | ... | @@ -1515,6 +1515,17 @@ void _decode_opc(DisasContext * ctx) |
1515 | 1515 | case 0x00c3: /* movca.l R0,@Rm */ |
1516 | 1516 | tcg_gen_qemu_st32(REG(0), REG(B11_8), ctx->memidx); |
1517 | 1517 | return; |
1518 | + case 0x40a9: | |
1519 | + /* MOVUA.L @Rm,R0 (Rm) -> R0 | |
1520 | + Load non-boundary-aligned data */ | |
1521 | + tcg_gen_qemu_ld32u(REG(0), REG(B11_8), ctx->memidx); | |
1522 | + return; | |
1523 | + case 0x40e9: | |
1524 | + /* MOVUA.L @Rm+,R0 (Rm) -> R0, Rm + 4 -> Rm | |
1525 | + Load non-boundary-aligned data */ | |
1526 | + tcg_gen_qemu_ld32u(REG(0), REG(B11_8), ctx->memidx); | |
1527 | + tcg_gen_addi_i32(REG(B11_8), REG(B11_8), 4); | |
1528 | + return; | |
1518 | 1529 | case 0x0029: /* movt Rn */ |
1519 | 1530 | tcg_gen_andi_i32(REG(B11_8), cpu_sr, SR_T); |
1520 | 1531 | return; | ... | ... |