On Sat, 25 May 2024 at 00:27, Richard Henderson
<[email protected]> wrote:
>
> Signed-off-by: Richard Henderson <[email protected]>
> ---
> 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