|
From: <sv...@va...> - 2012-04-20 22:33:51
|
sewardj 2012-04-20 23:33:44 +0100 (Fri, 20 Apr 2012)
New Revision: 2295
Log:
Add a spec rule for NE after COPY.
Modified files:
branches/TCHAIN/priv/guest_arm_helpers.c
Modified: branches/TCHAIN/priv/guest_arm_helpers.c (+12 -0)
===================================================================
--- branches/TCHAIN/priv/guest_arm_helpers.c 2012-04-20 23:32:34 +01:00 (rev 2294)
+++ branches/TCHAIN/priv/guest_arm_helpers.c 2012-04-20 23:33:44 +01:00 (rev 2295)
@@ -697,6 +697,18 @@
mkU32(1)));
}
+ /*---------------- COPY ----------------*/
+
+ if (isU32(cond_n_op, (ARMCondNE << 4) | ARMG_CC_OP_COPY)) {
+ /* NE after COPY --> ((cc_dep1 >> ARMG_CC_SHIFT_Z) ^ 1) & 1 */
+ return binop(Iop_And32,
+ binop(Iop_Xor32,
+ binop(Iop_Shr32, cc_dep1,
+ mkU8(ARMG_CC_SHIFT_Z)),
+ mkU32(1)),
+ mkU32(1));
+ }
+
/*----------------- AL -----------------*/
/* A critically important case for Thumb code.
|