[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/6] target-arm: fix Neon right shifts with shift am
From: |
christophe.lyon |
Subject: |
[Qemu-devel] [PATCH 2/6] target-arm: fix Neon right shifts with shift amount == input width. |
Date: |
Fri, 11 Feb 2011 16:10:58 +0100 |
From: Christophe Lyon <address@hidden>
Fix rshl helpers (s8, s16, s64, u8, u16)
Signed-off-by: Christophe Lyon <address@hidden>
---
target-arm/neon_helper.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/target-arm/neon_helper.c b/target-arm/neon_helper.c
index 3f1f3d4..1ac362f 100644
--- a/target-arm/neon_helper.c
+++ b/target-arm/neon_helper.c
@@ -548,7 +548,7 @@ uint64_t HELPER(neon_shl_s64)(uint64_t valop, uint64_t
shiftop)
} else if (tmp < -(ssize_t)sizeof(src1) * 8) { \
dest = src1 >> (sizeof(src1) * 8 - 1); \
} else if (tmp == -(ssize_t)sizeof(src1) * 8) { \
- dest = src1 >> (tmp - 1); \
+ dest = src1 >> (-tmp - 1); \
dest++; \
dest >>= 1; \
} else if (tmp < 0) { \
@@ -594,7 +594,7 @@ uint64_t HELPER(neon_rshl_s64)(uint64_t valop, uint64_t
shiftop)
val = 0;
} else if (shift < -64) {
val >>= 63;
- } else if (shift == -63) {
+ } else if (shift == -64) {
val >>= 63;
val++;
val >>= 1;
@@ -622,7 +622,7 @@ uint64_t HELPER(neon_rshl_s64)(uint64_t valop, uint64_t
shiftop)
tmp < -(ssize_t)sizeof(src1) * 8) { \
dest = 0; \
} else if (tmp == -(ssize_t)sizeof(src1) * 8) { \
- dest = src1 >> (tmp - 1); \
+ dest = src1 >> (-tmp - 1); \
} else if (tmp < 0) { \
dest = (src1 + (1 << (-1 - tmp))) >> -tmp; \
} else { \
--
1.7.2.3
- [Qemu-devel] [PATCH v3 0/6] target-arm: Fix Neon shift instructions., christophe.lyon, 2011/02/11
- [Qemu-devel] [PATCH 6/6] target-arm: fix decoding of Neon 64 bit shifts., christophe.lyon, 2011/02/11
- [Qemu-devel] [PATCH 4/6] target-arm: fix saturated values for Neon right shifts., christophe.lyon, 2011/02/11
- [Qemu-devel] [PATCH 1/6] target-arm: Fix rounding constant addition for Neon shift instructions., christophe.lyon, 2011/02/11
- [Qemu-devel] [PATCH 2/6] target-arm: fix Neon right shifts with shift amount == input width.,
christophe.lyon <=
- [Qemu-devel] [PATCH 5/6] target-arm: fix Neon VQSHRN and VSHRN., christophe.lyon, 2011/02/11
- [Qemu-devel] [PATCH 3/6] target-arm: fix unsigned 64 bit right shifts., christophe.lyon, 2011/02/11
- Re: [Qemu-devel] [PATCH v3 0/6] target-arm: Fix Neon shift instructions., Peter Maydell, 2011/02/14