|
From: <sv...@va...> - 2012-02-23 07:41:20
|
Author: sewardj
Date: 2012-02-23 07:36:43 +0000 (Thu, 23 Feb 2012)
New Revision: 2261
Log:
Add a spec rule for SUBQ/NBE.
Modified:
trunk/priv/guest_amd64_helpers.c
Modified: trunk/priv/guest_amd64_helpers.c
===================================================================
--- trunk/priv/guest_amd64_helpers.c 2012-02-21 11:02:44 UTC (rev 2260)
+++ trunk/priv/guest_amd64_helpers.c 2012-02-23 07:36:43 UTC (rev 2261)
@@ -954,6 +954,14 @@
return unop(Iop_1Uto64,
binop(Iop_CmpLE64U, cc_dep1, cc_dep2));
}
+ if (isU64(cc_op, AMD64G_CC_OP_SUBQ) && isU64(cond, AMD64CondNBE)) {
+ /* long long sub/cmp, then NBE (unsigned greater than)
+ --> test !(dst <=u src) */
+ return binop(Iop_Xor64,
+ unop(Iop_1Uto64,
+ binop(Iop_CmpLE64U, cc_dep1, cc_dep2)),
+ mkU64(1));
+ }
/*---------------- SUBL ----------------*/
|