From: Huw Davies Date: Thu, 13 Feb 2014 10:26:46 +0000 (+0000) Subject: tcg-arm: The shift count of op_rotl_i32 is in args[2] not args[1]. X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.1~386^2~42^2~166^2~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7a3a00979d9dfe2aaa66ce5fc68cd161b4f900ba;p=sdk%2Femulator%2Fqemu.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 Signed-off-by: Richard Henderson --- diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c index 82658a170c..c8884b31f4 100644 --- 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)); }