qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 47/48] target-arm: fix neon vshll (shift < max)


From: Riku Voipio
Subject: [Qemu-devel] [PATCH 47/48] target-arm: fix neon vshll (shift < max)
Date: Fri, 26 Mar 2010 16:07:07 +0000

From: Juha Riihimäki <address@hidden>

Signed-Off-By: Riku Voipio <address@hidden>
Signed-off-by: Juha Riihimäki <address@hidden>
---
 target-arm/neon_helper.c |    1 -
 target-arm/translate.c   |    4 ++--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/target-arm/neon_helper.c b/target-arm/neon_helper.c
index 7cef783..d75cb47 100644
--- a/target-arm/neon_helper.c
+++ b/target-arm/neon_helper.c
@@ -1484,7 +1484,6 @@ uint64_t HELPER(neon_negl_u16)(uint64_t x)
     return result;
 }
 
-#include <stdio.h>
 uint64_t HELPER(neon_negl_u32)(uint64_t x)
 {
     uint32_t low = -x;
diff --git a/target-arm/translate.c b/target-arm/translate.c
index fd3a72e..cd9dbce 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -4855,7 +4855,7 @@ static int disas_neon_data_insn(CPUState * env, 
DisasContext *s, uint32_t insn)
                         /* The shift is less than the width of the source
                            type, so we can just shift the whole register.  */
                         tcg_gen_shli_i64(cpu_V0, cpu_V0, shift);
-                        if (size < 2 || !u) {
+                        if (size < 2) {
                             uint64_t imm64;
                             if (size == 0) {
                                 imm = (0xffu >> (8 - shift));
@@ -4864,7 +4864,7 @@ static int disas_neon_data_insn(CPUState * env, 
DisasContext *s, uint32_t insn)
                                 imm = 0xffff >> (16 - shift);
                             }
                             imm64 = imm | (((uint64_t)imm) << 32);
-                            tcg_gen_andi_i64(cpu_V0, cpu_V0, imm64);
+                            tcg_gen_andi_i64(cpu_V0, cpu_V0, ~imm64);
                         }
                     }
                     neon_store_reg64(cpu_V0, rd + pass);
-- 
1.6.5





reply via email to

[Prev in Thread] Current Thread [Next in Thread]