OSDN Git Service
(root)
/
qmiga
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4c9b70a
)
target-arm: Fix VQSHL of signed 64 bit values by shift counts >= 64
author
Peter Maydell
<peter.maydell@linaro.org>
Tue, 7 Dec 2010 14:13:43 +0000
(14:13 +0000)
committer
Aurelien Jarno
<aurelien@aurel32.net>
Mon, 27 Dec 2010 20:07:10 +0000
(21:07 +0100)
VQSHL of a signed 64 bit non-zero value by a shift count >= 64 should
saturate; return the correct value in this case.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-arm/neon_helper.c
patch
|
blob
|
history
diff --git
a/target-arm/neon_helper.c
b/target-arm/neon_helper.c
index
d29b884
..
2dc3d96
100644
(file)
--- a/
target-arm/neon_helper.c
+++ b/
target-arm/neon_helper.c
@@
-608,7
+608,7
@@
uint64_t HELPER(neon_qshl_s64)(CPUState *env, uint64_t valop, uint64_t shiftop)
if (shift >= 64) {
if (val) {
SET_QC();
- val = (val >> 63)
&
~SIGNBIT64;
+ val = (val >> 63)
^
~SIGNBIT64;
}
} else if (shift <= -64) {
val >>= 63;