OSDN Git Service

target-arm: neon vshll instruction fix
authorJuha Riihimäki <juha.riihimaki@nokia.com>
Fri, 5 Feb 2010 15:52:29 +0000 (15:52 +0000)
committerAurelien Jarno <aurelien@aurel32.net>
Sun, 28 Feb 2010 18:30:56 +0000 (19:30 +0100)
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.riihimaki@nokia.com>
Signed-off-by: Riku Voipio <riku.voipio@nokia.com>
Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-arm/translate.c

index cac157d..9607aae 100644 (file)
@@ -5438,6 +5438,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;