This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH PR64746]
- 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: Thu, 29 Jan 2015 13:49:55 +0100
- Subject: Re: [PATCH PR64746]
- Authentication-results: sourceware.org; auth=none
- References: <CAEoMCqQetO+-ZWYwri9oFbuX8xRPHbAA+R8qVWFrV2Wp_FypLQ at mail dot gmail dot com>
On Fri, Jan 23, 2015 at 5:35 PM, Yuri Rumyantsev <ysrumyan@gmail.com> wrote:
> Hi All,
>
> In a process of testing omp-simd tests we found out that couple
> important benchmark did not show any speed-up with aggressive
> if-conversion since the hottest loops have not been vectorized.
> Here is a simple patch that resolves vectorization issue related to
> aggressive if-conversion:
> (1) Use the only mask for load/store of given size;
> (2) Use iterative algorithm to remove all multiple predicate uses in
> pattern tree - splitting of predicate definition may introduce new
> variable with multiple uses.
>
> Reproducer is included to patch.
>
> Bootstrap and regression testing did not show any new failures.
>
> Is it OK for trunk?
Ok.
Thanks,
Richard.
> 2015-01-23 Yuri Rumyantsev <ysrumyan@gmail.com>
>
> PR tree-optimization/64746
> * tree-if-conv.c (mask_exists): New function.
> (predicate_mem_writes): Save created mask with given size for further
> use.
> (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
> (ifcvt_repair_bool_pattern): Collect all statements that are root
> of bool pattern and use iterative algorithm to remove multiple uses
> of predicates, display number of required iterations.
>
> gcc/testsuite/ChangeLog
>
> * gcc.target/i386/avx2-vect-aggressive-1.c: New test.