Message ID | 1484311923-28637-4-git-send-email-laurent@vivier.eu |
---|---|
State | New |
Headers | show |
On 01/13/2017 04:52 AM, Laurent Vivier wrote: > In these cases we must update the address register after > the operation. > > Signed-off-by: Laurent Vivier <laurent@vivier.eu> > --- > target/m68k/translate.c | 9 +++++++++ > 1 file changed, 9 insertions(+) Reviewed-by: Richard Henderson <rth@twiddle.net> r~
diff --git a/target/m68k/translate.c b/target/m68k/translate.c index 0e97900..23e2b06 100644 --- a/target/m68k/translate.c +++ b/target/m68k/translate.c @@ -1963,6 +1963,15 @@ DISAS_INSN(cas) gen_partset_reg(opsize, DREG(ext, 0), load); tcg_temp_free(load); + + switch (extract32(insn, 3, 3)) { + case 3: /* Indirect postincrement. */ + tcg_gen_addi_i32(AREG(insn, 0), addr, opsize_bytes(opsize)); + break; + case 4: /* Indirect predecrememnt. */ + tcg_gen_mov_i32(AREG(insn, 0), addr); + break; + } } DISAS_INSN(cas2w)
In these cases we must update the address register after the operation. Signed-off-by: Laurent Vivier <laurent@vivier.eu> --- target/m68k/translate.c | 9 +++++++++ 1 file changed, 9 insertions(+)