Fixe ARM NEON vrshl.
authorPaul Brook <paul@codesourcery.com>
Sat, 9 May 2009 22:12:06 +0000 (23:12 +0100)
committerPaul Brook <paul@codesourcery.com>
Sat, 9 May 2009 22:12:06 +0000 (23:12 +0100)
Signed-off-by: Paul Brook <paul@codesourcery.com>

target-arm/neon_helper.c

index 4ee5658..35fbaf5 100644 (file)
@@ -456,11 +456,11 @@ uint64_t HELPER(neon_shl_s64)(uint64_t valop, uint64_t shiftop)
     if (tmp >= sizeof(src1) * 8) { \
         dest = 0; \
     } else if (tmp < -sizeof(src1) * 8) { \
-        dest >>= sizeof(src1) * 8 - 1; \
+        dest = src1 >> (sizeof(src1) * 8 - 1); \
     } else if (tmp == -sizeof(src1) * 8) { \
         dest = src1 >> (tmp - 1); \
         dest++; \
-        src2 >>= 1; \
+        dest >>= 1; \
     } else if (tmp < 0) { \
         dest = (src1 + (1 << (-1 - tmp))) >> -tmp; \
     } else { \