This avoids other opcodes being incorrectly decoded as TBB/TBH. The LDA/STL instructions new in ARMv8 use this space.
Signed-off-by: Mans Rullgard <m...@mansr.com> --- This was previously sent as part of the LDA/STL patch. Separating it seems clearer. --- target-arm/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-arm/translate.c b/target-arm/translate.c index 3ffe7b8..bc41f7e 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -8126,7 +8126,7 @@ static int disas_thumb2_insn(CPUARMState *env, DisasContext *s, uint16_t insn_hw gen_store_exclusive(s, rd, rs, 15, addr, 2); } tcg_temp_free_i32(addr); - } else if ((insn & (1 << 6)) == 0) { + } else if ((insn & (7 << 5)) == 0) { /* Table Branch. */ if (rn == 15) { addr = tcg_temp_new_i32(); -- 1.8.2.1