|
From: <sv...@va...> - 2006-12-26 02:24:14
|
Author: sewardj
Date: 2006-12-26 02:24:12 +0000 (Tue, 26 Dec 2006)
New Revision: 1697
Log:
Merge r1675 (x86 COPY-CondP rule)
Modified:
branches/VEX_3_2_BRANCH/priv/guest-x86/ghelpers.c
Modified: branches/VEX_3_2_BRANCH/priv/guest-x86/ghelpers.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
--- branches/VEX_3_2_BRANCH/priv/guest-x86/ghelpers.c 2006-12-26 02:22:38=
UTC (rev 1696)
+++ branches/VEX_3_2_BRANCH/priv/guest-x86/ghelpers.c 2006-12-26 02:24:12=
UTC (rev 1697)
@@ -1161,6 +1161,23 @@
);
}
=20
+ if (isU32(cc_op, X86G_CC_OP_COPY) && isU32(cond, X86CondP)) {
+ /* COPY, then P --> extract P from dep1, and test (P =3D=3D 1).=
*/
+ return
+ unop(
+ Iop_1Uto32,
+ binop(
+ Iop_CmpNE32,
+ binop(
+ Iop_And32,
+ binop(Iop_Shr32, cc_dep1, mkU8(X86G_CC_SHIFT_P)),
+ mkU32(1)
+ ),
+ mkU32(0)
+ )
+ );
+ }
+
return NULL;
}
=20
|