On 2/2/26 6:39 AM, Anton Johansson wrote:
On 02/02/26, Anton Johansson wrote:
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?

Ignore this comment, I see we do it for translator_ld*()!:)

I agree that even though it's used there, it's far from being obvious when reading it :)

Reply via email to