mirror of https://github.com/xemu-project/xemu.git
tcg-arm: The shift count of op_rotl_i32 is in args[2] not args[1].
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>
(cherry picked from commit 7a3a00979d
)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
parent
819ddf7d1f
commit
2cd72adb1c
|
@ -1868,7 +1868,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));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue