On Sun, 3 Aug 2025 at 02:42, Richard Henderson <richard.hender...@linaro.org> wrote: > > Wrapper to extract the low 32 bits, perform an operation, > and zero-extend back to 64 bits. > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > target/arm/tcg/translate-a64.c | 21 +++++++++++---------- > 1 file changed, 11 insertions(+), 10 deletions(-) > > diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c > index bb92bdc296..64a845d5fb 100644 > --- a/target/arm/tcg/translate-a64.c > +++ b/target/arm/tcg/translate-a64.c > @@ -8231,13 +8231,18 @@ static bool gen_rr(DisasContext *s, int rd, int rn, > ArithOneOp fn) > return true; > } >
A brief comment here would help: /* * Perform 32-bit operation fn on the low half of n; * the high half of the output is zeroed. */ > +static void gen_wrap2_i32(TCGv_i64 d, TCGv_i64 n, NeonGenOneOpFn fn) > +{ > + TCGv_i32 t = tcg_temp_new_i32(); > + > + tcg_gen_extrl_i64_i32(t, n); > + fn(t, t); > + tcg_gen_extu_i32_i64(d, t); > +} > + Otherwise Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM