From: Julian Seward Date: Thu, 21 Jul 2005 16:58:55 +0000 (+0000) Subject: Fix very stupid bug in my mtxer implementation. The relevant IRStmts X-Git-Tag: svn/VALGRIND_3_0_1^2~48 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=db7e41bbb17b521943199af9161923c84fadc5d2;p=thirdparty%2Fvalgrind.git Fix very stupid bug in my mtxer implementation. The relevant IRStmts would work better (viz, at all :-) if they were added to the IR code list after being created, instead of merely being dropped down the back of the fridge. git-svn-id: svn://svn.valgrind.org/vex/trunk@1286 --- diff --git a/VEX/priv/guest-ppc32/toIR.c b/VEX/priv/guest-ppc32/toIR.c index 4261591914..cb9617f854 100644 --- a/VEX/priv/guest-ppc32/toIR.c +++ b/VEX/priv/guest-ppc32/toIR.c @@ -3691,32 +3691,32 @@ static Bool dis_proc_ctl ( UInt theInstr ) switch (SPR_flipped) { // Choose a register... case 0x1: DIP("mtxer r%d\n", Rs_addr); - IRStmt_Put( + stmt(IRStmt_Put( OFFB_XER_SO, unop( Iop_32to8, binop( Iop_And32, - binop(Iop_Shr32, mkexpr(Rs_addr), mkU8(31)), + binop(Iop_Shr32, mkexpr(Rs), mkU8(31)), mkU32(1)) ) - ); - IRStmt_Put( + )); + stmt(IRStmt_Put( OFFB_XER_OV, unop( Iop_32to8, binop( Iop_And32, - binop(Iop_Shr32, mkexpr(Rs_addr), mkU8(30)), + binop(Iop_Shr32, mkexpr(Rs), mkU8(30)), mkU32(1)) ) - ); - IRStmt_Put( + )); + stmt(IRStmt_Put( OFFB_XER_CA, unop( Iop_32to8, binop( Iop_And32, - binop(Iop_Shr32, mkexpr(Rs_addr), mkU8(29)), + binop(Iop_Shr32, mkexpr(Rs), mkU8(29)), mkU32(1)) ) - ); - IRStmt_Put( + )); + stmt(IRStmt_Put( OFFB_XER_BC, unop( Iop_32to8, - binop( Iop_And32, mkexpr(Rs_addr), mkU32(0xFF)) ) - ); + binop( Iop_And32, mkexpr(Rs), mkU32(0xFF)) ) + )); break; case 0x8: DIP("mtlr r%d\n", Rs_addr);