From: malc Date: Fri, 26 Feb 2010 22:59:47 +0000 (+0300) Subject: tcg/ppc: Fix right rotation X-Git-Tag: v0.13.0-rc0~1259 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d616cf1d1510c963fc1876cb10f5f1fa226b54ef;p=thirdparty%2Fqemu.git tcg/ppc: Fix right rotation Signed-off-by: malc --- diff --git a/tcg/ppc/tcg-target.c b/tcg/ppc/tcg-target.c index 96cc4619003..b40246d411c 100644 --- a/tcg/ppc/tcg-target.c +++ b/tcg/ppc/tcg-target.c @@ -328,6 +328,7 @@ static int tcg_target_const_match(tcg_target_long val, #define MULLI OPCD( 7) #define CMPLI OPCD(10) #define CMPI OPCD(11) +#define SUBFIC OPCD( 8) #define LWZU OPCD(33) #define STWU OPCD(37) @@ -1588,7 +1589,7 @@ static void tcg_out_op(TCGContext *s, int opc, const TCGArg *args, } } else { - tcg_out32 (s, ADDI | RT (0) | RA (args[2]) | 0xffe0); + tcg_out32 (s, SUBFIC | RT (0) | RA (args[2]) | 32); tcg_out32 (s, RLWNM | RA (args[0]) | RS (args[1])