On Tue, 22 Aug 2023 at 12:01, Philippe Mathieu-Daudé <phi...@linaro.org> wrote: > > Commit 46be8425ff ("tcg: Implement tcg_gen_{h,w}swap_{i32,i64}") > introduced the generic hswap_i32(). Use it instead of open-coding > it as t_gen_swapw(). > > Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> > --- > target/cris/translate.c | 14 +------------- > target/cris/translate_v10.c.inc | 2 +- > 2 files changed, 2 insertions(+), 14 deletions(-) > > diff --git a/target/cris/translate.c b/target/cris/translate.c > index 42103b5558..925ed2c6f6 100644 > --- a/target/cris/translate.c > +++ b/target/cris/translate.c > @@ -399,18 +399,6 @@ static inline void t_gen_swapb(TCGv d, TCGv s) > tcg_gen_or_tl(d, d, t); > } > > -/* Swap the halfwords of the s operand. */ > -static inline void t_gen_swapw(TCGv d, TCGv s) > -{ > - TCGv t; > - /* d and s refer the same object. */ > - t = tcg_temp_new(); > - tcg_gen_mov_tl(t, s); > - tcg_gen_shli_tl(d, t, 16); > - tcg_gen_shri_tl(t, t, 16); > - tcg_gen_or_tl(d, d, t); > -} > - > /* > * Reverse the bits within each byte. > * > @@ -1675,7 +1663,7 @@ static int dec_swap_r(CPUCRISState *env, DisasContext > *dc) > tcg_gen_not_tl(t0, t0); > } > if (dc->op2 & 4) { > - t_gen_swapw(t0, t0); > + tcg_gen_hswap_i32(t0, t0); > } > if (dc->op2 & 2) { > t_gen_swapb(t0, t0); > diff --git a/target/cris/translate_v10.c.inc b/target/cris/translate_v10.c.inc > index b7b0517982..0ff15769ec 100644 > --- a/target/cris/translate_v10.c.inc > +++ b/target/cris/translate_v10.c.inc > @@ -506,7 +506,7 @@ static void dec10_reg_swap(DisasContext *dc) > if (dc->dst & 8) > tcg_gen_not_tl(t0, t0); > if (dc->dst & 4) > - t_gen_swapw(t0, t0); > + tcg_gen_hswap_i32(t0, t0);
Both these are operating on TCGv, not TCGv_i32, so I think this should be tcg_gen_hswap_tl(). (Compare the tcg_gen_not_tl() calls.) > if (dc->dst & 2) > t_gen_swapb(t0, t0); > if (dc->dst & 1) thanks -- PMM