Commit f0853c2586 for qemu.org
commit f0853c25862d3b91584f7b763ead22796c818c28
Author: Philippe Mathieu-Daudé <philmd@linaro.org>
Date: Wed Dec 24 17:20:34 2025 +0100
target/s390x: Inline translator_lduw() and translator_ldl()
translator_lduw() and translator_ldl() are defined in
"exec/translator.h" as:
192 static inline uint16_t
193 translator_lduw(CPUArchState *env, DisasContextBase *db, vaddr pc)
194 {
195 return translator_lduw_end(env, db, pc, MO_TE);
196 }
198 static inline uint32_t
199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
200 {
201 return translator_ldl_end(env, db, pc, MO_TE);
202 }
Directly use the inlined form, expanding MO_TE -> MO_BE
since we only build the S390x target as big-endian.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20251224162036.90404-8-philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
index db2276f1cf..e38607ee18 100644
--- a/target/s390x/tcg/translate.c
+++ b/target/s390x/tcg/translate.c
@@ -365,13 +365,13 @@ static void update_cc_op(DisasContext *s)
static inline uint64_t ld_code2(CPUS390XState *env, DisasContext *s,
uint64_t pc)
{
- return (uint64_t)translator_lduw(env, &s->base, pc);
+ return (uint64_t) translator_lduw_end(env, &s->base, pc, MO_BE);
}
static inline uint64_t ld_code4(CPUS390XState *env, DisasContext *s,
uint64_t pc)
{
- return (uint64_t)(uint32_t)translator_ldl(env, &s->base, pc);
+ return (uint64_t)(uint32_t) translator_ldl_end(env, &s->base, pc, MO_BE);
}
static int get_mem_index(DisasContext *s)
@@ -6408,7 +6408,7 @@ static void s390x_tr_insn_start(DisasContextBase *dcbase, CPUState *cs)
static target_ulong get_next_pc(CPUS390XState *env, DisasContext *s,
uint64_t pc)
{
- uint64_t insn = translator_lduw(env, &s->base, pc);
+ uint64_t insn = translator_lduw_end(env, &s->base, pc, MO_BE);
return pc + get_ilen((insn >> 8) & 0xff);
}