From patchwork Fri Feb 5 15:52:28 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1/4] target-arm: neon - fix VRADDHN/VRSUBHN vs VADDHN/VSUBHN Date: Fri, 05 Feb 2010 05:52:28 -0000 From: Riku Voipio X-Patchwork-Id: 44653 Message-Id: <1265385151-11024-2-git-send-email-riku.voipio@iki.fi> To: qemu-devel@nongnu.org From: Riku Voipio The rounding/truncating options were inverted. truncating was done when rounding was meant and vice verse. Signed-off-by: Riku Voipio Acked-by: Laurent Desnogues --- 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 5cf3e06..4bd813a 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -4957,7 +4957,7 @@ static int disas_neon_data_insn(CPUState * env, DisasContext *s, uint32_t insn) case 0: case 1: case 4: /* VADDL, VADDW, VADDHN, VRADDHN */ gen_neon_addl(size); break; - case 2: case 3: case 6: /* VSUBL, VSUBW, VSUBHL, VRSUBHL */ + case 2: case 3: case 6: /* VSUBL, VSUBW, VSUBHN, VRSUBHN */ gen_neon_subl(size); break; case 5: case 7: /* VABAL, VABDL */ @@ -5026,7 +5026,7 @@ static int disas_neon_data_insn(CPUState * env, DisasContext *s, uint32_t insn) } else if (op == 4 || op == 6) { /* Narrowing operation. */ tmp = new_tmp(); - if (u) { + if (!u) { switch (size) { case 0: gen_helper_neon_narrow_high_u8(tmp, cpu_V0);