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>
This commit is contained in:
Philippe Mathieu-Daudé
2025-12-24 17:20:34 +01:00
committed by Thomas Huth
parent ee4dae6a33
commit f0853c2586

View File

@@ -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);
}