On Tue, Aug 24, 2021 at 05:11:05PM -0300, matheus.ferst@eldorado.org.br wrote: > From: Matheus Ferst > > These helpers shouldn't depend on the host endianness, as they only use > shifts, &s, and int128_* methods. > > Fixes: 60caf2216bf0 ("target-ppc: add vextu[bhw][lr]x instructions") > Signed-off-by: Matheus Ferst Reviewed-by: David Gibson > --- > target/ppc/int_helper.c | 38 ++++++++++---------------------------- > 1 file changed, 10 insertions(+), 28 deletions(-) > > diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c > index efa833ef64..c2d3248d1e 100644 > --- a/target/ppc/int_helper.c > +++ b/target/ppc/int_helper.c > @@ -1492,34 +1492,16 @@ void helper_vlogefp(CPUPPCState *env, ppc_avr_t *r, ppc_avr_t *b) > } > } > > -#if defined(HOST_WORDS_BIGENDIAN) > -#define VEXTU_X_DO(name, size, left) \ > - target_ulong glue(helper_, name)(target_ulong a, ppc_avr_t *b) \ > - { \ > - int index; \ > - if (left) { \ > - index = (a & 0xf) * 8; \ > - } else { \ > - index = ((15 - (a & 0xf) + 1) * 8) - size; \ > - } \ > - return int128_getlo(int128_rshift(b->s128, index)) & \ > - MAKE_64BIT_MASK(0, size); \ > - } > -#else > -#define VEXTU_X_DO(name, size, left) \ > - target_ulong glue(helper_, name)(target_ulong a, ppc_avr_t *b) \ > - { \ > - int index; \ > - if (left) { \ > - index = ((15 - (a & 0xf) + 1) * 8) - size; \ > - } else { \ > - index = (a & 0xf) * 8; \ > - } \ > - return int128_getlo(int128_rshift(b->s128, index)) & \ > - MAKE_64BIT_MASK(0, size); \ > - } > -#endif > - > +#define VEXTU_X_DO(name, size, left) \ > +target_ulong glue(helper_, name)(target_ulong a, ppc_avr_t *b) \ > +{ \ > + int index = (a & 0xf) * 8; \ > + if (left) { \ > + index = 128 - index - size; \ > + } \ > + return int128_getlo(int128_rshift(b->s128, index)) & \ > + MAKE_64BIT_MASK(0, size); \ > +} > VEXTU_X_DO(vextublx, 8, 1) > VEXTU_X_DO(vextuhlx, 16, 1) > VEXTU_X_DO(vextuwlx, 32, 1) -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson