Hello,
Please have a look at updated patch.

On Tue, Aug 4, 2015 at 3:15 PM, Richard Biener <rguent...@suse.de> wrote:
> On Fri, 31 Jul 2015, Petr Murzin wrote:
> @@ -5586,8 +5770,6 @@ vectorizable_store (gimple stmt,
> gimple_stmt_iterator *gsi, gimple *vec_stmt,
>    prev_stmt_info = NULL;
>    for (j = 0; j < ncopies; j++)
>      {
> -      gimple new_stmt;
> -
>        if (j == 0)
>         {
>            if (slp)
>
> spurious change?

I have increased the scope of this variable to use it in checking for
STMT_VINFO_SCATTER_P (stmt_info).

Thanks,
Petr

2015-08-21  Andrey Turetskiy  <andrey.turets...@intel.com>
            Petr Murzin  <petr.mur...@intel.com>

gcc/

* config/i386/i386-builtin-types.def
(VOID_PFLOAT_HI_V8DI_V16SF_INT): New.
(VOID_PDOUBLE_QI_V16SI_V8DF_INT): Ditto.
(VOID_PINT_HI_V8DI_V16SI_INT): Ditto.
(VOID_PLONGLONG_QI_V16SI_V8DI_INT): Ditto.
* config/i386/i386.c
(ix86_builtins): Add IX86_BUILTIN_SCATTERALTSIV8DF,
IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
IX86_BUILTIN_SCATTERALTDIV16SI.
(ix86_init_mmx_sse_builtins): Define __builtin_ia32_scatteraltsiv8df,
__builtin_ia32_scatteraltdiv8sf, __builtin_ia32_scatteraltsiv8di,
__builtin_ia32_scatteraltdiv8si.
(ix86_expand_builtin): Handle IX86_BUILTIN_SCATTERALTSIV8DF,
IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
IX86_BUILTIN_SCATTERALTDIV16SI.
(ix86_vectorize_builtin_scatter): New.
(TARGET_VECTORIZE_BUILTIN_SCATTER): Define as
ix86_vectorize_builtin_scatter.
* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New.
* doc/tm.texi: Regenerate.
* target.def: Add scatter builtin.
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Add new
checkings for STMT_VINFO_SCATTER_P.
(vect_check_gather): Rename to ...
(vect_check_gather_scatter): this and enhance number of arguments.
(vect_analyze_data_refs): Add gatherscatter enum and maybe_scatter variable
and new checkings for it accordingly.
* tree-vectorizer.h: Rename gather_p to gather_scatter_p and use it
for loads/stores
 in case of gather/scatter accordingly.
(STMT_VINFO_SCATTER_P(S)): Define.
(vect_check_gather): Rename to ...
(vect_check_gather_scatter): this.
* triee-vect-stmts.c (vectorizable_mask_load_store): Ditto.
(vectorizable_store): Add checkings for STMT_VINFO_SCATTER_P.
(vect_mark_stmts_to_be_vectorized): Ditto.

Attachment: scatter_patch_upd
Description: Binary data

Reply via email to