diff options
author | Andrey Turetskiy <andrey.turetskiy@intel.com> | 2015-09-04 08:51:44 +0000 |
---|---|---|
committer | Kirill Yukhin <kyukhin@gcc.gnu.org> | 2015-09-04 08:51:44 +0000 |
commit | 3bab634221b45ccdae547b8536cb2bc722e75ea0 (patch) | |
tree | 136c31e4bcb07d3fdb5cc05b362b1dc480b14845 /gcc/target.def | |
parent | 301c092c8558aa6366013df03efa4a077d3ba61b (diff) | |
download | gcc-3bab634221b45ccdae547b8536cb2bc722e75ea0.zip gcc-3bab634221b45ccdae547b8536cb2bc722e75ea0.tar.gz gcc-3bab634221b45ccdae547b8536cb2bc722e75ea0.tar.bz2 |
tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New.
gcc/
* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New.
* doc/tm.texi: Regenerate.
* target.def: Add scatter builtin.
* tree-vectorizer.h: Rename gather_p to gather_scatter_p and use it
for loads/stores in case of gather/scatter accordingly.
(STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of STMT_VINFO_GATHER_P(S).
(vect_check_gather): Rename to ...
(vect_check_gather_scatter): this.
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Use
STMT_VINFO_GATHER_SCATTER_P instead of STMT_VINFO_SCATTER_P.
(vect_check_gather_scatter): Use it instead of vect_check_gather.
(vect_analyze_data_refs): Add gatherscatter enum and maybe_scatter variable
and new checkings for it accordingly.
* tree-vect-stmts.c
(STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of STMT_VINFO_GATHER_P(S).
(vect_check_gather_scatter): Use it instead of vect_check_gather.
(vectorizable_store): Add checkings for STMT_VINFO_GATHER_SCATTER_P.
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Petr Murzin <petr.murzin@intel.com>
From-SVN: r227481
Diffstat (limited to 'gcc/target.def')
-rw-r--r-- | gcc/target.def | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/target.def b/gcc/target.def index 4edc209..aa5a1f1 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -1801,6 +1801,18 @@ loads.", (const_tree mem_vectype, const_tree index_type, int scale), NULL) +/* Target builtin that implements vector scatter operation. */ +DEFHOOK +(builtin_scatter, +"Target builtin that implements vector scatter operation. @var{vectype}\n\ +is the vector type of the store and @var{index_type} is scalar type of\n\ +the index, scaled by @var{scale}.\n\ +The default is @code{NULL_TREE} which means to not vectorize scatter\n\ +stores.", + tree, + (const_tree vectype, const_tree index_type, int scale), + NULL) + /* Target function to initialize the cost model for a loop or block. */ DEFHOOK (init_cost, |