target/arm: Convert T16, Unconditional branch

Backports commit 8d4a4dc849a28aded8f335a25b223e8e3391b6f2 from qemu
This commit is contained in:
Richard Henderson 2019-11-20 12:46:52 -05:00 committed by Lioncash
parent 482799d456
commit 8d2fe3f6db
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -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