On Sat, 25 May 2024 at 00:27, Richard Henderson <richard.hender...@linaro.org> wrote: > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > target/arm/helper.h | 10 +++++++++ > target/arm/tcg/translate.h | 4 ++++ > target/arm/tcg/neon-dp.decode | 10 ++------- > target/arm/tcg/gengvec.c | 22 +++++++++++++++++++ > target/arm/tcg/neon_helper.c | 38 ++++++++++++++++++++++++++++++++- > target/arm/tcg/translate-a64.c | 17 ++++++--------- > target/arm/tcg/translate-neon.c | 6 ++---- > 7 files changed, 84 insertions(+), 23 deletions(-)
> uint32_t HELPER(glue(neon_,name))(CPUARMState *env, uint32_t arg1, uint32_t > arg2) \ > NEON_VOP_BODY(vtype, n) > > +#define NEON_GVEC_VOP2(name, vtype) \ > +void HELPER(name)(void *vd, void *vn, void *vm, uint32_t desc) \ > +{ \ > + intptr_t i, opr_sz = simd_oprsz(desc); \ > + vtype *d = vd, *n = vn, *m = vm; \ > + for (i = 0; i < opr_sz / sizeof(vtype); i++) { \ > + NEON_FN(d[i], n[i], m[i]); \ Does this need H macros for the bigendian case ? It looks like we use it for smaller-than-64-bit element cases. > + } \ > + clear_tail(d, opr_sz, simd_maxsz(desc)); \ > +} > + thanks -- PMM