diff mbox

tcg-arm: The shift count of op_rotl_i32 is in args[2] not args[1].

Message ID 1392287206-30889-1-git-send-email-huw@codeweavers.com
State New
Headers show

Commit Message

Huw Davies Feb. 13, 2014, 10:26 a.m. UTC
It's this that should be subtracted from 0x20 when converting to a right rotate.

Signed-off-by: Huw Davies <huw@codeweavers.com>
---
 tcg/arm/tcg-target.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Richard Henderson Feb. 13, 2014, 2:59 p.m. UTC | #1
On 02/13/2014 02:26 AM, Huw Davies wrote:
> It's this that should be subtracted from 0x20 when converting to a right rotate.
> 
> Signed-off-by: Huw Davies <huw@codeweavers.com>
> ---
>  tcg/arm/tcg-target.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Richard Henderson <rth@twiddle.net>


r~
diff mbox

Patch

diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c
index 82658a1..c8884b3 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));
         }