diff options
author | dorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-11 11:46:07 +0000 |
---|---|---|
committer | dorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-11 11:46:07 +0000 |
commit | 9d8bf4aaa54e04d9e4f1c39121f7b89e11c4202b (patch) | |
tree | e52f73a43ee97fe66d58356fa8f6c7468ab5a0c2 /gcc/tree-vectorizer.h | |
parent | 1b924cb3be34a12b13b54436065f046421016860 (diff) | |
download | gcc-9d8bf4aaa54e04d9e4f1c39121f7b89e11c4202b.tar.gz |
* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): New target hook.
* targhooks.c (default_builtin_vectorized_conversion): New.
* targhooks.h (default_builtin_vectorized_function): New declaration.
* target.h (struct vectorize): Add builtin_conversion field.
* tree-vectorizer.h (type_conversion_vec_info_type): New enum
stmt_vec_info_type value.
(vectorizable_conversion): New declaration.
* tree-vect-analyze.c (vect_analyze_operations): Add
vectorizable_conversion call.
* target-def.h (TARGET_VECTORIZE_BUILTIN_CONVERSION): New.
* tree-vect-transform.c (vectorizable_conversion): New function.
(vect_transform_stmt): Add case for type_conversion_vec_info_type.
* tree-vect-generic.c (expand_vector_operations_1): Consider correct
mode.
* config/rs6000/rs6000.c (rs6000_builtin_conversion): New.
(TARGET_VECTORIZE_BUILTIN_CONVERSION): Defined.
(rs6000_expand_builtin): Add handling a case of ALTIVEC_BUILTIN_VCFUX or
ALTIVEC_BUILTIN_VCFSX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121818 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index b523d880bfd..dd41f2b2b15 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -168,7 +168,8 @@ enum stmt_vec_info_type { condition_vec_info_type, reduc_vec_info_type, type_promotion_vec_info_type, - type_demotion_vec_info_type + type_demotion_vec_info_type, + type_conversion_vec_info_type }; /* Indicates whether/how a variable is used in the loop. */ @@ -411,6 +412,8 @@ extern bool vectorizable_store (tree, block_stmt_iterator *, tree *); extern bool vectorizable_operation (tree, block_stmt_iterator *, tree *); extern bool vectorizable_type_promotion (tree, block_stmt_iterator *, tree *); extern bool vectorizable_type_demotion (tree, block_stmt_iterator *, tree *); +extern bool vectorizable_conversion (tree, block_stmt_iterator *, + tree *); extern bool vectorizable_assignment (tree, block_stmt_iterator *, tree *); extern tree vectorizable_function (tree, tree, tree); extern bool vectorizable_call (tree, block_stmt_iterator *, tree *); |