aboutsummaryrefslogtreecommitdiff
path: root/target-cris
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2015-08-30 09:35:14 -0700
committerRichard Henderson <rth@twiddle.net>2015-10-07 20:36:48 +1100
commitbd03c791a6ed1bb7aec17df15cfeea649362e8fd (patch)
tree59e409ca7e3b1189f59839af4645542a324d8ee2 /target-cris
parent07f3c16ced2b869228d58683c1dea06e3e1c9aa5 (diff)
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')
-rw-r--r--target-cris/translate.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/target-cris/translate.c b/target-cris/translate.c
index 477bddc64b..3d55a6ad68 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))) {