diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2012-09-21 02:59:50 +0400 |
---|---|---|
committer | malc <av1474@comtv.ru> | 2012-09-21 03:07:27 +0400 |
commit | c26032b2c91721245bfec542d94f37a0238e986e (patch) | |
tree | 19f5a51dc69245a7661836ac1acb1fc869590926 /target-xtensa/translate.c | |
parent | f9cb5045d1eb6d187b0849d0f36735d3aac1a37f (diff) | |
download | hqemu-c26032b2c91721245bfec542d94f37a0238e986e.zip hqemu-c26032b2c91721245bfec542d94f37a0238e986e.tar.gz |
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/translate.c')
-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 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; |