|
From: <sv...@va...> - 2006-08-19 22:18:59
|
Author: sewardj
Date: 2006-08-19 23:18:53 +0100 (Sat, 19 Aug 2006)
New Revision: 1641
Log:
Fix previous commit (r1640?) so that it's actually correct :-)
Modified:
trunk/priv/guest-ppc/toIR.c
Modified: trunk/priv/guest-ppc/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-ppc/toIR.c 2006-08-19 18:31:53 UTC (rev 1640)
+++ trunk/priv/guest-ppc/toIR.c 2006-08-19 22:18:53 UTC (rev 1641)
@@ -2940,8 +2940,9 @@
doesn't depend on the contents of the reg. Therefore
remove the false dependency, which has been known to cause
memcheck to produce false errors. */
- if (rA_addr =3D=3D rB_addr)
- a =3D b =3D mode64 ? mkU64(0) : mkU32(0);
+ if (rA_addr =3D=3D rB_addr)
+ a =3D b =3D typeOfIRExpr(irbb->tyenv,a) =3D=3D Ity_I64
+ ? mkU64(0) : mkU32(0);
if (flag_L =3D=3D 1) {
putCR321(crfD, unop(Iop_64to8, binop(Iop_CmpORD64S, a, b)));
} else {
@@ -2958,8 +2959,9 @@
doesn't depend on the contents of the reg. Therefore
remove the false dependency, which has been known to cause
memcheck to produce false errors. */
- if (rA_addr =3D=3D rB_addr)
- a =3D b =3D mode64 ? mkU64(0) : mkU32(0);
+ if (rA_addr =3D=3D rB_addr)
+ a =3D b =3D typeOfIRExpr(irbb->tyenv,a) =3D=3D Ity_I64
+ ? mkU64(0) : mkU32(0);
if (flag_L =3D=3D 1) {
putCR321(crfD, unop(Iop_64to8, binop(Iop_CmpORD64U, a, b)));
} else {
|