This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix for 56175
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Yuri Rumyantsev <ysrumyan at gmail dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, Igor Zamyatin <izamyatin at gmail dot com>
- Date: Wed, 20 Feb 2013 14:19:55 +0100
- Subject: Re: Fix for 56175
- References: <CAEoMCqTLysuxuH8sxrcoxTmCZNNsLwCooUJoW8xRQnf+vvwAKA@mail.gmail.com>
On Wed, Feb 20, 2013 at 1:00 PM, Yuri Rumyantsev <ysrumyan@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 <ysrumyan@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.