mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-06-20 18:37:48 +00:00
target/arm: Convert T16, Unconditional branch
Backports commit 8d4a4dc849a28aded8f335a25b223e8e3391b6f2 from qemu
This commit is contained in:
parent
482799d456
commit
8d2fe3f6db
|
@ -11090,7 +11090,6 @@ static void disas_thumb2_insn(DisasContext *s, uint32_t insn)
|
||||||
static void disas_thumb_insn(DisasContext *s, uint32_t insn)
|
static void disas_thumb_insn(DisasContext *s, uint32_t insn)
|
||||||
{
|
{
|
||||||
TCGContext *tcg_ctx = s->uc->tcg_ctx;
|
TCGContext *tcg_ctx = s->uc->tcg_ctx;
|
||||||
uint32_t val;
|
|
||||||
int32_t offset;
|
int32_t offset;
|
||||||
TCGv_i32 tmp;
|
TCGv_i32 tmp;
|
||||||
TCGv_i32 tmp2;
|
TCGv_i32 tmp2;
|
||||||
|
@ -11136,12 +11135,8 @@ static void disas_thumb_insn(DisasContext *s, uint32_t insn)
|
||||||
gen_bx(s, tmp);
|
gen_bx(s, tmp);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* unconditional branch */
|
/* unconditional branch, in decodetree */
|
||||||
val = read_pc(s);
|
goto illegal_op;
|
||||||
offset = ((int32_t)insn << 21) >> 21;
|
|
||||||
val += offset << 1;
|
|
||||||
gen_jmp(s, val);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 15:
|
case 15:
|
||||||
/* thumb_insn_is_16bit() ensures we can't get here for
|
/* thumb_insn_is_16bit() ensures we can't get here for
|
||||||
|
|
Loading…
Reference in a new issue