From: Cerion Armour-Brown Date: Fri, 25 Feb 2005 10:23:46 +0000 (+0000) Subject: Fix to guest-ppc32 subfic X-Git-Tag: svn/VALGRIND_3_0_1^2~373 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4bec5bcc68c9d9b584f90c7666ff98d6b166ff7b;p=thirdparty%2Fvalgrind.git Fix to guest-ppc32 subfic git-svn-id: svn://svn.valgrind.org/vex/trunk@961 --- diff --git a/VEX/priv/guest-ppc32/toIR.c b/VEX/priv/guest-ppc32/toIR.c index e46acb0f15..7eb8f23680 100644 --- a/VEX/priv/guest-ppc32/toIR.c +++ b/VEX/priv/guest-ppc32/toIR.c @@ -1153,8 +1153,7 @@ static Bool dis_int_arith ( UInt theInstr ) case 0x08: // subfic (Subtract from Immediate Carrying, p613) DIP("subfic r%d,r%d,0x%x\n", Rd_addr, Ra_addr, SIMM_16); - assign( Rd, binop(Iop_Add32, unop(Iop_Not32, mkexpr(Ra)), - mkU32(EXTS_SIMM)) ); + assign( Rd, binop(Iop_Sub32, mkU32(EXTS_SIMM), mkexpr(Ra)) ); op = PPC32G_FLAG_OP_SUBFI; do_ca = True; break;