>> @@ -924,7 +924,11 @@ uint32_t HELPER(neon_qrshl_s32)(CPUState *env, uint32_t
>> valop, uint32_t shiftop)
>> dest = val << shift;
>> if ((dest >> shift) != val) {
>> SET_QC();
>> -dest = (uint32_t)(1 << (sizeof(val) * 8 - 1)) - (val > 0 ? 1 :
>> 0);
>> +
On 14 February 2011 17:46, Peter Maydell wrote:
> On 11 February 2011 15:11, wrote:
>> NEON_VOP_ENV(qrshl_s8, neon_s8, 4)
>> @@ -924,7 +924,11 @@ uint32_t HELPER(neon_qrshl_s32)(CPUState *env, uint32_t
>> valop, uint32_t shiftop)
>> dest = val << shift;
>> if ((dest >> shift) !
On 11 February 2011 15:11, wrote:
> --- a/target-arm/neon_helper.c
> +++ b/target-arm/neon_helper.c
> @@ -903,7 +903,7 @@ uint64_t HELPER(neon_qrshl_u64)(CPUState *env, uint64_t
> val, uint64_t shiftop)
> dest = src1 << tmp; \
> if ((dest >> tmp) != src1) { \
> SET_Q
From: Christophe Lyon
Fix value returned by signed qrshl helpers (8, 16 and 32 bits).
Signed-off-by: Christophe Lyon
---
target-arm/neon_helper.c |8 ++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/target-arm/neon_helper.c b/target-arm/neon_helper.c
index 907f7b7..8