|
From: <sv...@va...> - 2005-07-21 16:59:48
|
Author: sewardj
Date: 2005-07-21 17:58:55 +0100 (Thu, 21 Jul 2005)
New Revision: 1286
Log:
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.
Modified:
trunk/priv/guest-ppc32/toIR.c
Modified: trunk/priv/guest-ppc32/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-ppc32/toIR.c 2005-07-21 14:48:31 UTC (rev 1285)
+++ trunk/priv/guest-ppc32/toIR.c 2005-07-21 16:58:55 UTC (rev 1286)
@@ -3691,32 +3691,32 @@
switch (SPR_flipped) { // Choose a register...
case 0x1:
DIP("mtxer r%d\n", Rs_addr);
- IRStmt_Put(=20
+ stmt(IRStmt_Put(=20
OFFB_XER_SO,=20
unop( Iop_32to8,=20
binop( Iop_And32,=20
- binop(Iop_Shr32, mkexpr(Rs_addr), mkU8(31)),=
=20
+ binop(Iop_Shr32, mkexpr(Rs), mkU8(31)),=20
mkU32(1)) )=20
- );
- IRStmt_Put(=20
+ ));
+ stmt(IRStmt_Put(=20
OFFB_XER_OV,=20
unop( Iop_32to8,=20
binop( Iop_And32,=20
- binop(Iop_Shr32, mkexpr(Rs_addr), mkU8(30)),=
=20
+ binop(Iop_Shr32, mkexpr(Rs), mkU8(30)),=20
mkU32(1)) )=20
- );
- IRStmt_Put(=20
+ ));
+ stmt(IRStmt_Put(=20
OFFB_XER_CA,=20
unop( Iop_32to8,=20
binop( Iop_And32,=20
- binop(Iop_Shr32, mkexpr(Rs_addr), mkU8(29)),=
=20
+ binop(Iop_Shr32, mkexpr(Rs), mkU8(29)),=20
mkU32(1)) )=20
- );
- IRStmt_Put(=20
+ ));
+ stmt(IRStmt_Put(=20
OFFB_XER_BC,=20
unop( Iop_32to8,=20
- 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);
|