From 8d2fe3f6db737d7b90a607470c41f58b8aae4c6c Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 20 Nov 2019 12:46:52 -0500 Subject: [PATCH] target/arm: Convert T16, Unconditional branch Backports commit 8d4a4dc849a28aded8f335a25b223e8e3391b6f2 from qemu --- qemu/target/arm/translate.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/qemu/target/arm/translate.c b/qemu/target/arm/translate.c index 15946d46..b4701ddd 100644 --- a/qemu/target/arm/translate.c +++ b/qemu/target/arm/translate.c @@ -11090,7 +11090,6 @@ static void disas_thumb2_insn(DisasContext *s, uint32_t insn) static void disas_thumb_insn(DisasContext *s, uint32_t insn) { TCGContext *tcg_ctx = s->uc->tcg_ctx; - uint32_t val; int32_t offset; TCGv_i32 tmp; TCGv_i32 tmp2; @@ -11136,12 +11135,8 @@ static void disas_thumb_insn(DisasContext *s, uint32_t insn) gen_bx(s, tmp); break; } - /* unconditional branch */ - val = read_pc(s); - offset = ((int32_t)insn << 21) >> 21; - val += offset << 1; - gen_jmp(s, val); - break; + /* unconditional branch, in decodetree */ + goto illegal_op; case 15: /* thumb_insn_is_16bit() ensures we can't get here for