|
From: <sv...@va...> - 2013-12-11 16:49:53
|
Author: sewardj
Date: Wed Dec 11 16:49:46 2013
New Revision: 13757
Log:
Select expensive add/sub/cmp interpretations for blocks containing
Iop_GetMSBs8x16, since the presence of those usually implies PMOVMSKB
instructions in the block, which can mean "inlined string operations".
Reduces the noise level a lot in some icc12 -O2 generated sequences.
Modified:
trunk/memcheck/mc_translate.c
Modified: trunk/memcheck/mc_translate.c
==============================================================================
--- trunk/memcheck/mc_translate.c (original)
+++ trunk/memcheck/mc_translate.c Wed Dec 11 16:49:46 2013
@@ -5736,6 +5736,8 @@
return (/*32*/ n == 0xFEFEFEFFULL
/*32*/ || n == 0x80808080ULL
/*32*/ || n == 0x7F7F7F7FULL
+ /*32*/ || n == 0x7EFEFEFFULL
+ /*32*/ || n == 0x81010100ULL
/*64*/ || n == 0xFFFFFFFFFEFEFEFFULL
/*64*/ || n == 0xFEFEFEFEFEFEFEFFULL
/*64*/ || n == 0x0000000000008080ULL
@@ -5760,7 +5762,8 @@
case Iex_Const:
return isBogusAtom(e);
case Iex_Unop:
- return isBogusAtom(e->Iex.Unop.arg);
+ return isBogusAtom(e->Iex.Unop.arg)
+ || e->Iex.Unop.op == Iop_GetMSBs8x16;
case Iex_GetI:
return isBogusAtom(e->Iex.GetI.ix);
case Iex_Binop:
|