> 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>


Reply via email to