|
From: <sv...@va...> - 2016-07-12 21:50:24
|
Author: philippe
Date: Tue Jul 12 21:49:05 2016
New Revision: 3223
Log:
Fix n-i-bz amd64: memcheck false positive with shr %edx
False positive analysis and fix by Julian.
Thanks
Modified:
trunk/priv/guest_amd64_helpers.c
Modified: trunk/priv/guest_amd64_helpers.c
==============================================================================
--- trunk/priv/guest_amd64_helpers.c (original)
+++ trunk/priv/guest_amd64_helpers.c Tue Jul 12 21:49:05 2016
@@ -1604,6 +1604,15 @@
mkU64(0)));
}
+ /*---------------- SHRL ----------------*/
+
+ if (isU64(cc_op, AMD64G_CC_OP_SHRL) && isU64(cond, AMD64CondZ)) {
+ /* SHRL, then Z --> test dep1 == 0 */
+ return unop(Iop_1Uto64,
+ binop(Iop_CmpEQ32, unop(Iop_64to32, cc_dep1),
+ mkU32(0)));
+ }
+
/*---------------- COPY ----------------*/
/* This can happen, as a result of amd64 FP compares: "comisd ... ;
jbe" for example. */
|