]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix very stupid bug in my mtxer implementation. The relevant IRStmts
authorJulian Seward <jseward@acm.org>
Thu, 21 Jul 2005 16:58:55 +0000 (16:58 +0000)
committerJulian Seward <jseward@acm.org>
Thu, 21 Jul 2005 16:58:55 +0000 (16:58 +0000)
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

VEX/priv/guest-ppc32/toIR.c

index 4261591914a787c407b6506c015053c6572402a7..cb9617f85420318a47469b8c439e4a5f7553e8f8 100644 (file)
@@ -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);