On 3 September 2015 at 02:31, Richard Henderson <r...@twiddle.net> wrote: > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target-tilegx/translate.c | 56 > +++++++++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 54 insertions(+), 2 deletions(-) > > diff --git a/target-tilegx/translate.c b/target-tilegx/translate.c > index 9604320..c7208df 100644 > --- a/target-tilegx/translate.c > +++ b/target-tilegx/translate.c > @@ -470,6 +470,7 @@ static TileExcp gen_rrr_opcode(DisasContext *dc, unsigned > opext, > TCGv tdest = dest_gr(dc, dest); > TCGv tsrca = load_gr(dc, srca); > TCGv tsrcb = load_gr(dc, srcb); > + TCGv t0; > const char *mnemonic; > > switch (opext) { > @@ -662,7 +663,10 @@ static TileExcp gen_rrr_opcode(DisasContext *dc, > unsigned opext, > case OE_RRR(ROTL, 0, X1): > case OE_RRR(ROTL, 6, Y0): > case OE_RRR(ROTL, 6, Y1): > - return TILEGX_EXCP_OPCODE_UNIMPLEMENTED; > + tcg_gen_andi_tl(tdest, tsrcb, 63); > + tcg_gen_rotl_tl(tdest, tsrca, tdest); > + mnemonic = "torl";
"rotl", surely? Otherwise Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM