|
From: <sv...@va...> - 2005-05-06 16:30:29
|
Author: sewardj
Date: 2005-05-06 17:30:21 +0100 (Fri, 06 May 2005)
New Revision: 1168
Modified:
trunk/priv/guest-amd64/ghelpers.c
Log:
Reinstate the specialisation rule which first exposed the bug fixed by
r1167.
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-06 16:29:26 UTC (rev 1167)
+++ trunk/priv/guest-amd64/ghelpers.c 2005-05-06 16:30:21 UTC (rev 1168)
@@ -936,14 +936,13 @@
=20
/*---------------- SUBW ----------------*/
=20
- // CAUSES xedit not to work
- // if (isU64(cc_op, AMD64G_CC_OP_SUBW) && isU64(cond, AMD64Co=
ndZ)) {
- // /* word sub/cmp, then Z --> test dst=3D=3Dsrc */
- // return unop(Iop_1Uto64,
- // binop(Iop_CmpEQ16,=20
- // unop(Iop_64to16,cc_dep1),
- // unop(Iop_64to16,cc_dep2)));
- // }
+ if (isU64(cc_op, AMD64G_CC_OP_SUBW) && isU64(cond, AMD64CondZ)) {
+ /* word sub/cmp, then Z --> test dst=3D=3Dsrc */
+ return unop(Iop_1Uto64,
+ binop(Iop_CmpEQ16,=20
+ unop(Iop_64to16,cc_dep1),
+ unop(Iop_64to16,cc_dep2)));
+ }
=20
/*---------------- SUBB ----------------*/
=20
|