aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.def
diff options
context:
space:
mode:
authorAndrey Turetskiy <andrey.turetskiy@intel.com>2015-09-04 08:51:44 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2015-09-04 08:51:44 +0000
commit3bab634221b45ccdae547b8536cb2bc722e75ea0 (patch)
tree136c31e4bcb07d3fdb5cc05b362b1dc480b14845 /gcc/target.def
parent301c092c8558aa6366013df03efa4a077d3ba61b (diff)
downloadgcc-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.def12
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,