translator_ldl() is defined in "exec/translator.h" as:
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_LE
since LoongArch use little-endian order.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
---
target/loongarch/tcg/translate.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/target/loongarch/tcg/translate.c b/target/loongarch/tcg/translate.c
index 055f6fb6046..c23d2a614ae 100644
--- a/target/loongarch/tcg/translate.c
+++ b/target/loongarch/tcg/translate.c
@@ -286,7 +286,8 @@ static void loongarch_tr_translate_insn(DisasContextBase
*dcbase, CPUState *cs)
{
DisasContext *ctx = container_of(dcbase, DisasContext, base);
- ctx->opcode = translator_ldl(cpu_env(cs), &ctx->base, ctx->base.pc_next);
+ ctx->opcode = translator_ldl_end(cpu_env(cs), &ctx->base,
+ ctx->base.pc_next, MO_LE);
if (!decode(ctx, ctx->opcode)) {
qemu_log_mask(LOG_UNIMP, "Error: unknown opcode. "
--
2.52.0