From ffbda4e6820872284ec5b98295e0b4b0b1c0db25 Mon Sep 17 00:00:00 2001 From: Christophe Lyon Date: Tue, 25 Jan 2011 18:18:08 +0100 Subject: [PATCH] target-arm: Fix Neon vsra instructions. This patch fixes the errors reported by my tests in VSRA. Signed-off-by: Christophe Lyon Reviewed-by: Peter Maydell Signed-off-by: Aurelien Jarno (cherry picked from commit 5371cb81405a35ca4c1f6ab23f93a4f7260ffa53) --- target-arm/translate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target-arm/translate.c b/target-arm/translate.c index d95133f725f..92d0ef01992 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 */ -- 2.39.5