diff options
author | Max Filippov | 2012-09-21 00:59:50 +0200 |
---|---|---|
committer | malc | 2012-09-21 01:07:27 +0200 |
commit | c26032b2c91721245bfec542d94f37a0238e986e (patch) | |
tree | 19f5a51dc69245a7661836ac1acb1fc869590926 /target-xtensa | |
parent | target-xtensa: fix extui shift amount (diff) | |
download | qemu-c26032b2c91721245bfec542d94f37a0238e986e.tar.gz qemu-c26032b2c91721245bfec542d94f37a0238e986e.tar.xz qemu-c26032b2c91721245bfec542d94f37a0238e986e.zip |
target-xtensa: don't emit extra tcg_gen_goto_tb
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 <jcmvbkbc@gmail.com>
Cc: qemu-stable <qemu-stable@nongnu.org>
Signed-off-by: malc <av1474@comtv.ru>
Diffstat (limited to 'target-xtensa')
-rw-r--r-- | 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 7a1c528fc8..b6643eb818 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; |