diff options
author | Richard Henderson <rth@twiddle.net> | 2015-08-30 09:35:14 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2015-10-07 20:36:48 +1100 |
commit | bd03c791a6ed1bb7aec17df15cfeea649362e8fd (patch) | |
tree | 59e409ca7e3b1189f59839af4645542a324d8ee2 /target-cris/translate.c | |
parent | 07f3c16ced2b869228d58683c1dea06e3e1c9aa5 (diff) | |
download | qemu-bd03c791a6ed1bb7aec17df15cfeea649362e8fd.zip qemu-bd03c791a6ed1bb7aec17df15cfeea649362e8fd.tar.gz qemu-bd03c791a6ed1bb7aec17df15cfeea649362e8fd.tar.bz2 |
target-cris: Mirror gen_opc_pc into insn_start
This perhaps isn't ideal in terms of (ab)using the "pc" field
to encode both pc and ppc + delay branch state, as one has to
be aware of this when examining opcode dumps.
But it preserves existing logic, which will be good for bisection,
and it certainly does save storage space.
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-cris/translate.c')
-rw-r--r-- | target-cris/translate.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/target-cris/translate.c b/target-cris/translate.c index 477bddc..3d55a6a 100644 --- a/target-cris/translate.c +++ b/target-cris/translate.c @@ -3174,7 +3174,8 @@ gen_intermediate_code_internal(CRISCPU *cpu, TranslationBlock *tb, tcg_ctx.gen_opc_instr_start[lj] = 1; tcg_ctx.gen_opc_icount[lj] = num_insns; } - tcg_gen_insn_start(dc->pc); + tcg_gen_insn_start(dc->delayed_branch == 1 + ? dc->ppc | 1 : dc->pc); num_insns++; if (unlikely(cpu_breakpoint_test(cs, dc->pc, BP_ANY))) { |