mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 11:39:53 +00:00
tcg/arm: fix qemu_st64 for big endian targets
Due to a typo, qemu_st64 doesn't properly byteswap the 32-bit low word of a 64 bit word before saving it. This patch fixes that. Acked-by: Andrzej Zaborowski <balrogg@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
c69806ab82
commit
9a3abc21a6
@ -1248,7 +1248,7 @@ static inline void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, int opc)
|
||||
tcg_out_bswap32(s, COND_EQ, TCG_REG_R0, data_reg2);
|
||||
tcg_out_st32_rwb(s, COND_EQ, TCG_REG_R0, TCG_REG_R1, addr_reg);
|
||||
tcg_out_bswap32(s, COND_EQ, TCG_REG_R0, data_reg);
|
||||
tcg_out_st32_12(s, COND_EQ, data_reg, TCG_REG_R1, 4);
|
||||
tcg_out_st32_12(s, COND_EQ, TCG_REG_R0, TCG_REG_R1, 4);
|
||||
} else {
|
||||
tcg_out_st32_rwb(s, COND_EQ, data_reg, TCG_REG_R1, addr_reg);
|
||||
tcg_out_st32_12(s, COND_EQ, data_reg2, TCG_REG_R1, 4);
|
||||
|
Loading…
Reference in New Issue
Block a user