Unconditional gen_check_loop_end at the end of disas_xtensa_insn can emit tcg_gen_goto_tb with slot id already used in the TB (e.g. when TB ends at LEND with a branch).
Signed-off-by: Max Filippov <jcmvb...@gmail.com> Cc: qemu-stable <qemu-sta...@nongnu.org> --- target-xtensa/translate.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/target-xtensa/translate.c b/target-xtensa/translate.c index 7a1c528..b6643eb 100644 --- a/target-xtensa/translate.c +++ b/target-xtensa/translate.c @@ -2520,7 +2520,9 @@ static void disas_xtensa_insn(DisasContext *dc) break; } - gen_check_loop_end(dc, 0); + if (dc->is_jmp == DISAS_NEXT) { + gen_check_loop_end(dc, 0); + } dc->pc = dc->next_pc; return; -- 1.7.7.6