On 22/01/26, Philippe Mathieu-Daudé wrote: > Introduce the ppc_code_endian() helper which returns the > MemOp endianness for the CODE path. > > Use it in need_byteswap(), removing one TARGET_BIG_ENDIAN. > > Signed-off-by: Philippe Mathieu-Daudé <[email protected]> > --- > target/ppc/translate.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/target/ppc/translate.c b/target/ppc/translate.c > index 17e6d07c8c2..4a9199a4473 100644 > --- a/target/ppc/translate.c > +++ b/target/ppc/translate.c > @@ -214,14 +214,15 @@ static inline bool is_ppe(const DisasContext *ctx) > return !!(ctx->flags & POWERPC_FLAG_PPE42); > } > > +static inline MemOp ppc_code_endian(const DisasContext *ctx) > +{ > + return MO_BE ^ (ctx->le_mode * MO_BSWAP); > +}
This was not super obvious to me, is this a common pattern? Either way the behaviour is correct: Reviewed-by: Anton Johansson <[email protected]>
