target-tilegx: Let x1 pipe process bpt instruction only
authorChen Gang <gang.chen.5i5j@gmail.com>
Fri, 25 Sep 2015 23:42:54 +0000 (07:42 +0800)
committerRichard Henderson <rth@twiddle.net>
Wed, 7 Oct 2015 09:03:15 +0000 (20:03 +1100)
According to the related document, bpt can be only in x1 pipe.

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Message-Id: <1443224574-2718-1-git-send-email-gang.chen.5i5j@gmail.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
target-tilegx/translate.c

index d7e4d52..3566b88 100644 (file)
@@ -458,8 +458,14 @@ static TileExcp gen_rr_opcode(DisasContext *dc, unsigned opext,
         mnemonic = "flushwb";
         goto done0;
     case OE_RR_X1(ILL):
+        if (dest == 0x1c && srca == 0x25) {
+            mnemonic = "bpt";
+            goto done2;
+        }
+        /* Fall through */
     case OE_RR_Y1(ILL):
-        mnemonic = (dest == 0x1c && srca == 0x25 ? "bpt" : "ill");
+        mnemonic = "ill";
+    done2:
         qemu_log_mask(CPU_LOG_TB_IN_ASM, "%s", mnemonic);
         return TILEGX_EXCP_OPCODE_UNKNOWN;
     case OE_RR_X1(MF):