target-tilegx: Handle v4int_l/h
authorRichard Henderson <rth@twiddle.net>
Mon, 24 Aug 2015 15:01:52 +0000 (08:01 -0700)
committerRichard Henderson <rth@twiddle.net>
Tue, 15 Sep 2015 14:45:34 +0000 (07:45 -0700)
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
target-tilegx/translate.c

index 7fb2ffb8bb51b7ad55381cef114bcb55ea2b3add..7719132f89695844cb88b658cfcdafd0ce2c253c 100644 (file)
@@ -1148,10 +1148,18 @@ static TileExcp gen_rrr_opcode(DisasContext *dc, unsigned opext,
     case OE_RRR(V4ADDSC, 0, X1):
     case OE_RRR(V4ADD, 0, X0):
     case OE_RRR(V4ADD, 0, X1):
+        return TILEGX_EXCP_OPCODE_UNIMPLEMENTED;
     case OE_RRR(V4INT_H, 0, X0):
     case OE_RRR(V4INT_H, 0, X1):
+        tcg_gen_shri_tl(tdest, tsrcb, 32);
+        tcg_gen_deposit_tl(tdest, tsrca, tdest, 0, 32);
+        mnemonic = "v4int_h";
+        break;
     case OE_RRR(V4INT_L, 0, X0):
     case OE_RRR(V4INT_L, 0, X1):
+        tcg_gen_deposit_tl(tdest, tsrcb, tsrca, 32, 32);
+        mnemonic = "v4int_l";
+        break;
     case OE_RRR(V4PACKSC, 0, X0):
     case OE_RRR(V4PACKSC, 0, X1):
     case OE_RRR(V4SHLSC, 0, X0):