|
From: <sv...@va...> - 2011-03-27 22:16:17
|
Author: sewardj
Date: 2011-03-27 23:16:08 +0100 (Sun, 27 Mar 2011)
New Revision: 2118
Log:
Add a spec rule for NS after LOGICB. Fixes #266990.
Modified:
trunk/priv/guest_amd64_helpers.c
Modified: trunk/priv/guest_amd64_helpers.c
===================================================================
--- trunk/priv/guest_amd64_helpers.c 2011-03-26 07:28:51 UTC (rev 2117)
+++ trunk/priv/guest_amd64_helpers.c 2011-03-27 22:16:08 UTC (rev 2118)
@@ -1179,6 +1179,14 @@
binop(Iop_Shr64,cc_dep1,mkU8(7)),
mkU64(1));
}
+ if (isU64(cc_op, AMD64G_CC_OP_LOGICB) && isU64(cond, AMD64CondNS)) {
+ /* byte and/or/xor, then NS --> (UInt)!result[7] */
+ return binop(Iop_Xor64,
+ binop(Iop_And64,
+ binop(Iop_Shr64,cc_dep1,mkU8(7)),
+ mkU64(1)),
+ mkU64(1));
+ }
/*---------------- INCB ----------------*/
|