projects
/
sdk
/
emulator
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f6aa2f7
)
tcg-arm: The shift count of op_rotl_i32 is in args[2] not args[1].
author
Huw Davies
<huw@codeweavers.com>
Thu, 13 Feb 2014 10:26:46 +0000
(10:26 +0000)
committer
Richard Henderson
<rth@twiddle.net>
Mon, 17 Feb 2014 16:12:08 +0000
(10:12 -0600)
It's this that should be subtracted from 0x20 when converting to a right rotate.
Cc: qemu-stable@nongnu.org
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg/arm/tcg-target.c
patch
|
blob
|
history
diff --git
a/tcg/arm/tcg-target.c
b/tcg/arm/tcg-target.c
index
82658a1
..
c8884b3
100644
(file)
--- a/
tcg/arm/tcg-target.c
+++ b/
tcg/arm/tcg-target.c
@@
-1866,7
+1866,7
@@
static inline void tcg_out_op(TCGContext *s, TCGOpcode opc,
SHIFT_IMM_ROR((0x20 - args[2]) & 0x1f) :
SHIFT_IMM_LSL(0));
} else {
- tcg_out_dat_imm(s, COND_AL, ARITH_RSB, TCG_REG_TMP, args[
1
], 0x20);
+ tcg_out_dat_imm(s, COND_AL, ARITH_RSB, TCG_REG_TMP, args[
2
], 0x20);
tcg_out_dat_reg(s, COND_AL, ARITH_MOV, args[0], 0, args[1],
SHIFT_REG_ROR(TCG_REG_TMP));
}