On Wed, Feb 20, 2013 at 1:00 PM, Yuri Rumyantsev <ysrum...@gmail.com> wrote: > Hi All, > > This patch is aimed to recognize (A & C) ^ (B & C) -> (A ^ B) & C > pattern in simpify_bitwise_binary for short integer types. > The fix is very simple - we simply turn off short type sinking at the > first pass of forward propagation allows to get > +10% speedup for important benchmark Coremark 1.0 at x86 Atom and > +5-7% for other x86 platforms too. > Bootstrapping and regression testing were successful on x86-64. > > Is it Ok for trunk?
It definitely needs a comment before the checks. Also I think it simply shows that the code is placed at the wrong spot. Simply moving it down in simplify_bitwise_binary to be done the very last should get both of the effects done. Can you rework the patch according to that? You also miss a testcase, we should make sure to not regress again here. Thanks, Richard. > ChangeLog. > > 2013-02-20 Yuri Rumyantsev <ysrum...@gmail.com> > > PR tree-optimization/56175 > * tree-ssa-forwprop.c (simplify_bitwise_binary) : Avoid type sinking > at 1st forwprop pass to recognize (A & C) ^ (B & C) -> (A ^ B) & C > for short integer types.