From: Richard Henderson Date: Wed, 23 Sep 2015 17:19:44 +0000 (-0700) Subject: target-tilegx: Implement table index instructions X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.2~121^2~1^2~146^2~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0b4232f10895e863b1759a93ba0d0a1b3380dc31;p=sdk%2Femulator%2Fqemu.git target-tilegx: Implement table index instructions Signed-off-by: Richard Henderson --- diff --git a/target-tilegx/translate.c b/target-tilegx/translate.c index 3e5a8ea049..9f86fd3710 100644 --- a/target-tilegx/translate.c +++ b/target-tilegx/translate.c @@ -627,12 +627,27 @@ static TileExcp gen_rr_opcode(DisasContext *dc, unsigned opext, break; case OE_RR_X0(TBLIDXB0): case OE_RR_Y0(TBLIDXB0): + tcg_gen_deposit_tl(tdest, load_gr(dc, dest), tsrca, 2, 8); + mnemonic = "tblidxb0"; + break; case OE_RR_X0(TBLIDXB1): case OE_RR_Y0(TBLIDXB1): + tcg_gen_shri_tl(tdest, tsrca, 8); + tcg_gen_deposit_tl(tdest, load_gr(dc, dest), tdest, 2, 8); + mnemonic = "tblidxb1"; + break; case OE_RR_X0(TBLIDXB2): case OE_RR_Y0(TBLIDXB2): + tcg_gen_shri_tl(tdest, tsrca, 16); + tcg_gen_deposit_tl(tdest, load_gr(dc, dest), tdest, 2, 8); + mnemonic = "tblidxb2"; + break; case OE_RR_X0(TBLIDXB3): case OE_RR_Y0(TBLIDXB3): + tcg_gen_shri_tl(tdest, tsrca, 24); + tcg_gen_deposit_tl(tdest, load_gr(dc, dest), tdest, 2, 8); + mnemonic = "tblidxb3"; + break; default: return TILEGX_EXCP_OPCODE_UNIMPLEMENTED; }