[Vectorizer] Split vect_gen_perm_mask into _checked and _any variants
authorAlan Lawrence <alan.lawrence@arm.com>
Thu, 13 Nov 2014 16:20:13 +0000 (16:20 +0000)
committerAlan Lawrence <alalaw01@gcc.gnu.org>
Thu, 13 Nov 2014 16:20:13 +0000 (16:20 +0000)
commit557be5a8767902f204e8afa04551a387eac33a26
treeeec657cc746f77494e987ad6b044c2a73effafa8
parent1c5fd343ded2f26d6bf1e6459d6d7b80cb8564e6
[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
gcc/ChangeLog
gcc/tree-vect-data-refs.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.h