target-tricore: Fix mask handling JNZ.T being 7 bit long
authorBastian Koppelmann <kbastian@mail.uni-paderborn.de>
Mon, 15 Dec 2014 21:36:31 +0000 (21:36 +0000)
committerBastian Koppelmann <kbastian@mail.uni-paderborn.de>
Sun, 21 Dec 2014 18:34:05 +0000 (18:34 +0000)
The mask is actually 7 bit long, instead of 6, so the expression checking
for JNZ.T is always false. Let's make the mask 1 bit wider.

Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
target-tricore/translate.c

index 3d8734650b4406d64281f9723c878fe9a31b1460..8f9e13e085755284ce462cf75f3f54eda7e1b844 100644 (file)
@@ -3828,8 +3828,8 @@ static void decode_32Bit_opc(CPUTriCoreState *env, DisasContext *ctx)
 
     op1 = MASK_OP_MAJOR(ctx->opcode);
 
-    /* handle JNZ.T opcode only being 6 bit long */
-    if (unlikely((op1 & 0x3f) == OPCM_32_BRN_JTT)) {
+    /* handle JNZ.T opcode only being 7 bit long */
+    if (unlikely((op1 & 0x7f) == OPCM_32_BRN_JTT)) {
         op1 = OPCM_32_BRN_JTT;
     }