> From: Aleksandar Markovic <aleksandar.marko...@rt-rk.com> > Sent: Wednesday, August 28, 2019 6:20 PM > To: qemu-devel@nongnu.org <qemu-devel@nongnu.org> > Cc: Aleksandar Markovic <amarko...@wavecomp.com>; Aleksandar Rikalo > <arik...@wavecomp.com> > Subject: [EXTERNAL][PATCH] target/mips: Fix emulation of ST.W in system mode > > From: Aleksandar Markovic <amarko...@wavecomp.com> > > Order of arguments in helper_ret_stl_mmu() invocations was wrong, > apparently caused by misplaced multiline copy-and-paste. > > Fixes: 6decc57 "target/mips: Fix MSA instructions ST.<B|H|W|D> on > big endian host" > > Signed-off-by: Aleksandar Markovic <amarko...@wavecomp.com> > --- > target/mips/op_helper.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/target/mips/op_helper.c b/target/mips/op_helper.c > index 5874029..e55e300 100644 > --- a/target/mips/op_helper.c > +++ b/target/mips/op_helper.c > @@ -4842,15 +4842,15 @@ void helper_msa_st_w(CPUMIPSState *env, uint32_t wd, > ensure_writable_pages(env, addr, mmu_idx, GETPC()); > #if !defined(CONFIG_USER_ONLY) > #if !defined(HOST_WORDS_BIGENDIAN) > - helper_ret_stl_mmu(env, addr + (0 << DF_WORD), oi, GETPC(), pwd->w[0]); > - helper_ret_stl_mmu(env, addr + (1 << DF_WORD), oi, GETPC(), pwd->w[1]); > - helper_ret_stl_mmu(env, addr + (2 << DF_WORD), oi, GETPC(), pwd->w[2]); > - helper_ret_stl_mmu(env, addr + (3 << DF_WORD), oi, GETPC(), pwd->w[3]); > + helper_ret_stl_mmu(env, addr + (0 << DF_WORD), pwd->w[0], oi, GETPC()); > + helper_ret_stl_mmu(env, addr + (1 << DF_WORD), pwd->w[1], oi, GETPC()); > + helper_ret_stl_mmu(env, addr + (2 << DF_WORD), pwd->w[2], oi, GETPC()); > + helper_ret_stl_mmu(env, addr + (3 << DF_WORD), pwd->w[3], oi, GETPC()); > #else > - helper_ret_stl_mmu(env, addr + (1 << DF_WORD), oi, GETPC(), pwd->w[0]); > - helper_ret_stl_mmu(env, addr + (0 << DF_WORD), oi, GETPC(), pwd->w[1]); > - helper_ret_stl_mmu(env, addr + (3 << DF_WORD), oi, GETPC(), pwd->w[2]); > - helper_ret_stl_mmu(env, addr + (2 << DF_WORD), oi, GETPC(), pwd->w[3]); > + helper_ret_stl_mmu(env, addr + (1 << DF_WORD), pwd->w[0], oi, GETPC()); > + helper_ret_stl_mmu(env, addr + (0 << DF_WORD), pwd->w[1], oi, GETPC()); > + helper_ret_stl_mmu(env, addr + (3 << DF_WORD), pwd->w[2], oi, GETPC()); > + helper_ret_stl_mmu(env, addr + (2 << DF_WORD), pwd->w[3], oi, GETPC()); > #endif > #else > #if !defined(HOST_WORDS_BIGENDIAN) > -- > 2.7.4
Reviewed-by: Aleksandar Rikalo <arik...@wavecomp.com>