From: Christophe Lyon Date: Tue, 25 Jan 2011 17:18:08 +0000 (+0100) Subject: target-arm: Fix Neon vsra instructions. X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=5371cb81405a35ca4c1f6ab23f93a4f7260ffa53;p=qemu.git 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 --- 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 */