On Wed, Dec 24, 2025 at 6:21 PM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> 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>
> target/s390x/tcg/translate.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
> index db2276f1cfc..e38607ee18c 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);
> }
> --
> 2.52.0
>