On Fri, 30 Apr 2021 at 22:19, Richard Henderson <richard.hender...@linaro.org> wrote: > > From: Stephen Long <stepl...@quicinc.com> > > Implements both vectored and indexed FMLALB, FMLALT, FMLSLB, FMLSLT > > Signed-off-by: Stephen Long <stepl...@quicinc.com> > Message-Id: <20200504171240.11220-1-stepl...@quicinc.com> > [rth: Rearrange to use float16_to_float32_by_bits.] > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > target/arm/helper.h | 5 +++ > target/arm/sve.decode | 14 +++++++ > target/arm/translate-sve.c | 75 ++++++++++++++++++++++++++++++++++++++ > target/arm/vec_helper.c | 51 ++++++++++++++++++++++++++ > 4 files changed, 145 insertions(+) >
> diff --git a/target/arm/vec_helper.c b/target/arm/vec_helper.c > index 9b2a4d5b7e..ea08b15c55 100644 > --- a/target/arm/vec_helper.c > +++ b/target/arm/vec_helper.c > @@ -29,10 +29,14 @@ > so addressing units smaller than that needs a host-endian fixup. */ > #ifdef HOST_WORDS_BIGENDIAN > #define H1(x) ((x) ^ 7) > +#define H1_2(x) ((x) ^ 6) > +#define H1_4(x) ((x) ^ 4) > #define H2(x) ((x) ^ 3) > #define H4(x) ((x) ^ 1) > #else > #define H1(x) (x) > +#define H1_2(x) (x) > +#define H1_4(x) (x) > #define H2(x) (x) > #define H4(x) (x) > #endif We now have a full set of these macros in vec_helper.c and sve_helper.c, and I'm going to need them in the MVE mve_helper.c too. This seems like a good point to pull them out into a suitable header file and add a documentation comment that makes it clear what they're for (cf comment on previous patch). Otherwise Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM