S390x instructions are always stored in big-endian order.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
---
target/s390x/tcg/mem_helper.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/target/s390x/tcg/mem_helper.c b/target/s390x/tcg/mem_helper.c
index 24675fc818d..84d901c2008 100644
--- a/target/s390x/tcg/mem_helper.c
+++ b/target/s390x/tcg/mem_helper.c
@@ -2437,7 +2437,7 @@ void HELPER(ex)(CPUS390XState *env, uint32_t ilen,
uint64_t r1, uint64_t addr)
tcg_s390_program_interrupt(env, PGM_SPECIFICATION, GETPC());
}
- insn = cpu_lduw_code(env, addr);
+ insn = cpu_lduw_be_code(env, addr);
opc = insn >> 8;
/* Or in the contents of R1[56:63]. */
@@ -2449,10 +2449,10 @@ void HELPER(ex)(CPUS390XState *env, uint32_t ilen,
uint64_t r1, uint64_t addr)
case 2:
break;
case 4:
- insn |= (uint64_t)cpu_lduw_code(env, addr + 2) << 32;
+ insn |= (uint64_t)cpu_lduw_be_code(env, addr + 2) << 32;
break;
case 6:
- insn |= (uint64_t)(uint32_t)cpu_ldl_code(env, addr + 2) << 16;
+ insn |= (uint64_t)(uint32_t)cpu_ldl_be_code(env, addr + 2) << 16;
break;
default:
g_assert_not_reached();
--
2.51.0