diff options
author | Alan Lawrence <alan.lawrence@arm.com> | 2014-11-13 16:20:13 +0000 |
---|---|---|
committer | Alan Lawrence <alalaw01@gcc.gnu.org> | 2014-11-13 16:20:13 +0000 |
commit | 557be5a8767902f204e8afa04551a387eac33a26 (patch) | |
tree | eec657cc746f77494e987ad6b044c2a73effafa8 /gcc/tree-vectorizer.h | |
parent | 1c5fd343ded2f26d6bf1e6459d6d7b80cb8564e6 (diff) | |
download | gcc-557be5a8767902f204e8afa04551a387eac33a26.zip gcc-557be5a8767902f204e8afa04551a387eac33a26.tar.gz gcc-557be5a8767902f204e8afa04551a387eac33a26.tar.bz2 |
[Vectorizer] Split vect_gen_perm_mask into _checked and _any variants
* tree-vectorizer.h (vect_gen_perm_mask): Remove.
(vect_gen_perm_mask_checked, vect_gen_perm_mask_any): New.
tree_vec_data_refs.c (vect_permute_load_chain, vec_permute_store_chain,
vec_shift_permute_load_chain): Replace vect_gen_perm_mask & assert
with vect_gen_perm_mask_checked.
* tree-vect-stmts.c (vectorizable_mask_load_store, vectorizable_load):
Likewise.
(vect_gen_perm_mask_checked): New.
(vect_gen_perm_mask): Remove can_vec_perm_p check, rename to...
(vect_gen_perm_mask_any): ...this.
(perm_mask_for_reverse): Call can_vec_perm_p and
vect_gen_perm_mask_checked.
From-SVN: r217508
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index 93aa73e..d817f9f 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -1040,7 +1040,8 @@ extern void vect_get_store_cost (struct data_reference *, int, extern bool vect_supportable_shift (enum tree_code, tree); extern void vect_get_vec_defs (tree, tree, gimple, vec<tree> *, vec<tree> *, slp_tree, int); -extern tree vect_gen_perm_mask (tree, unsigned char *); +extern tree vect_gen_perm_mask_any (tree, const unsigned char *); +extern tree vect_gen_perm_mask_checked (tree, const unsigned char *); /* In tree-vect-data-refs.c. */ extern bool vect_can_force_dr_alignment_p (const_tree, unsigned int); |