|
From: <sv...@va...> - 2005-05-12 02:14:55
|
Author: sewardj
Date: 2005-05-12 03:14:52 +0100 (Thu, 12 May 2005)
New Revision: 1192
Modified:
trunk/priv/guest-amd64/ghelpers.c
Log:
More floating-point tuning.
Modified: trunk/priv/guest-amd64/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
--- trunk/priv/guest-amd64/ghelpers.c 2005-05-11 23:16:43 UTC (rev 1191)
+++ trunk/priv/guest-amd64/ghelpers.c 2005-05-12 02:14:52 UTC (rev 1192)
@@ -1079,22 +1079,22 @@
);
}
=20
-//.. if (isU32(cc_op, AMD64G_CC_OP_COPY) && isU32(cond, X86CondB))=
{
-//.. /* COPY, then B --> extract C dep1, and test (C =3D=3D 1).=
*/
-//.. return
-//.. unop(
-//.. Iop_1Uto32,
-//.. binop(
-//.. Iop_CmpNE32,
-//.. binop(
-//.. Iop_And32,
-//.. binop(Iop_Shr32, cc_dep1, mkU8(AMD64G_CC_SHIFT=
_C)),
-//.. mkU32(1)
-//.. ),
-//.. mkU32(0)
-//.. )
-//.. );
-//.. }
+ if (isU64(cc_op, AMD64G_CC_OP_COPY) && isU64(cond, AMD64CondB)) {
+ /* COPY, then B --> extract C dep1, and test (C =3D=3D 1). */
+ return
+ unop(
+ Iop_1Uto64,
+ binop(
+ Iop_CmpNE64,
+ binop(
+ Iop_And64,
+ binop(Iop_Shr64, cc_dep1, mkU8(AMD64G_CC_SHIFT_C)),
+ mkU64(1)
+ ),
+ mkU64(0)
+ )
+ );
+ }
=20
return NULL;
}
|