diff options
author | Tehila Meyzels <tehila@il.ibm.com> | 2007-02-11 11:46:07 +0000 |
---|---|---|
committer | Dorit Nuzman <dorit@gcc.gnu.org> | 2007-02-11 11:46:07 +0000 |
commit | f57d17f1fc2f31047644ed6f18f1087f65f8f88b (patch) | |
tree | e52f73a43ee97fe66d58356fa8f6c7468ab5a0c2 /gcc/tree-vect-generic.c | |
parent | 1c85c51a47ff6ce4433345fb768c89f7d8e047e6 (diff) | |
download | gcc-f57d17f1fc2f31047644ed6f18f1087f65f8f88b.tar.gz |
tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): New target hook.
* 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.
Co-Authored-By: Dorit Nuzman <dorit@il.ibm.com>
Co-Authored-By: Ira Rosen <irar@il.ibm.com>
From-SVN: r121818
Diffstat (limited to 'gcc/tree-vect-generic.c')
-rw-r--r-- | gcc/tree-vect-generic.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c index 82d4814a30e..db7a0ce61b1 100644 --- a/gcc/tree-vect-generic.c +++ b/gcc/tree-vect-generic.c @@ -405,7 +405,10 @@ expand_vector_operations_1 (block_stmt_iterator *bsi) && TREE_CODE_CLASS (code) != tcc_binary) return; - if (code == NOP_EXPR || code == VIEW_CONVERT_EXPR) + if (code == NOP_EXPR + || code == FLOAT_EXPR + || code == FIX_TRUNC_EXPR + || code == VIEW_CONVERT_EXPR) return; gcc_assert (code != CONVERT_EXPR); |