From: Juha Riihimäki <juha.riihim...@nokia.com>

implementation only widened the 32bit source vector elements into a
64bit destination vector but forgot to perform the actual shifting
operation.

Signed-off-by: Juha Riihimäki <juha.riihim...@nokia.com>
Signed-off-by: Riku Voipio <riku.voi...@nokia.com>
---
 target-arm/translate.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/target-arm/translate.c b/target-arm/translate.c
index 4bd813a..537d9d6 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -5385,6 +5385,7 @@ static int disas_neon_data_insn(CPUState * env, 
DisasContext *s, uint32_t insn)
                         if (pass == 1)
                             tmp = tmp2;
                         gen_neon_widen(cpu_V0, tmp, size, 1);
+                        tcg_gen_shli_i64(cpu_V0, cpu_V0, 8 << size);
                         neon_store_reg64(cpu_V0, rd + pass);
                     }
                     break;
-- 
1.6.5



Reply via email to