projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
450445d
)
tcg-s390: Fix off-by-one in wraparound andi
author
Richard Henderson
<rth@twiddle.net>
Thu, 15 May 2014 04:09:47 +0000
(
00:09
-0400)
committer
Richard Henderson
<rth@twiddle.net>
Thu, 15 May 2014 04:09:47 +0000
(
00:09
-0400)
Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg/s390/tcg-target.c
patch
|
blob
|
history
diff --git
a/tcg/s390/tcg-target.c
b/tcg/s390/tcg-target.c
index ebdd0743cfa143bacab9cb3b802cb88d2eb4a04b..0f972ae5df7bf1fd7e4e95bc14f0b9a7966686db 100644
(file)
--- a/
tcg/s390/tcg-target.c
+++ b/
tcg/s390/tcg-target.c
@@
-983,8
+983,8
@@
static void tgen_andi(TCGContext *s, TCGType type, TCGReg dest, uint64_t val)
int msb, lsb;
if ((val & 0x8000000000000001ull) == 0x8000000000000001ull) {
/* Achieve wraparound by swapping msb and lsb. */
- msb = 6
3
- ctz64(~val);
- lsb = clz64(~val)
+
1;
+ msb = 6
4
- ctz64(~val);
+ lsb = clz64(~val)
-
1;
} else {
msb = clz64(val);
lsb = 63 - ctz64(val);