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


Reply via email to