diff options
author | Christophe Lyon <christophe.lyon@st.com> | 2011-01-25 18:18:08 +0100 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2011-02-04 20:50:21 +0100 |
commit | ffbda4e6820872284ec5b98295e0b4b0b1c0db25 (patch) | |
tree | e50749554ecc55a18c4bd6e0e7404b8c4a9f84f8 /target-arm | |
parent | 81cd8f604711d25086720add5864d4235e889e16 (diff) |
target-arm: Fix Neon vsra instructions.
This patch fixes the errors reported by my tests in VSRA.
Signed-off-by: Christophe Lyon <christophe.lyon@st.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
(cherry picked from commit 5371cb81405a35ca4c1f6ab23f93a4f7260ffa53)
Diffstat (limited to 'target-arm')
-rw-r--r-- | target-arm/translate.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/target-arm/translate.c b/target-arm/translate.c index d95133f725..92d0ef0199 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -4686,7 +4686,7 @@ static int disas_neon_data_insn(CPUState * env, DisasContext *s, uint32_t insn) } if (op == 1 || op == 3) { /* Accumulate. */ - neon_load_reg64(cpu_V0, rd + pass); + neon_load_reg64(cpu_V1, rd + pass); tcg_gen_add_i64(cpu_V0, cpu_V0, cpu_V1); } else if (op == 4 || (op == 5 && u)) { /* Insert */ @@ -4750,7 +4750,7 @@ static int disas_neon_data_insn(CPUState * env, DisasContext *s, uint32_t insn) if (op == 1 || op == 3) { /* Accumulate. */ tmp2 = neon_load_reg(rd, pass); - gen_neon_add(size, tmp2, tmp); + gen_neon_add(size, tmp, tmp2); dead_tmp(tmp2); } else if (op == 4 || (op == 5 && u)) { /* Insert */ |