mirror of https://gitee.com/openkylin/qemu.git
target-m68k: manage pre-dec et post-inc in CAS
In these cases we must update the address register after the operation. Signed-off-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Richard Henderson <rth@twiddle.net> Message-Id: <1484332593-16782-4-git-send-email-laurent@vivier.eu>
This commit is contained in:
parent
695576db2d
commit
308feb9352
|
@ -1963,6 +1963,15 @@ DISAS_INSN(cas)
|
||||||
gen_partset_reg(opsize, DREG(ext, 0), load);
|
gen_partset_reg(opsize, DREG(ext, 0), load);
|
||||||
|
|
||||||
tcg_temp_free(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)
|
DISAS_INSN(cas2w)
|
||||||
|
|
Loading…
Reference in New Issue