From 4c9b70aeca70b3e0a68a771727f388551620b3ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juha=20Riihim=C3=A4ki?= Date: Tue, 7 Dec 2010 14:13:42 +0000 Subject: target-arm: Fix VQSHL of signed 64 bit values MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a missing '-' which meant that we were misinterpreting the shift argument for VQSHL of 64 bit signed values and treating almost every shift value as if it were an extremely large right shift. Signed-off-by: Juha Riihimäki Reviewed-by: Peter Maydell Signed-off-by: Aurelien Jarno --- target-arm/neon_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'target-arm/neon_helper.c') diff --git a/target-arm/neon_helper.c b/target-arm/neon_helper.c index 5e6452b9d9..d29b884614 100644 --- a/target-arm/neon_helper.c +++ b/target-arm/neon_helper.c @@ -610,7 +610,7 @@ uint64_t HELPER(neon_qshl_s64)(CPUState *env, uint64_t valop, uint64_t shiftop) SET_QC(); val = (val >> 63) & ~SIGNBIT64; } - } else if (shift <= 64) { + } else if (shift <= -64) { val >>= 63; } else if (shift < 0) { val >>= -shift; -- cgit v1.2.1