optabs.c (expand_binop_directly): Allow scalar mode for vec_pack_trunc_optab.
authorIlya Enkovich <enkovich.gnu@gmail.com>
Tue, 10 Nov 2015 12:17:30 +0000 (12:17 +0000)
committerIlya Enkovich <ienkovich@gcc.gnu.org>
Tue, 10 Nov 2015 12:17:30 +0000 (12:17 +0000)
commite6f5c25d913d3c4e437d6b8b5201a89eb425de9a
tree76e1468bb4db0910939806b18fe2186d568dc3f4
parentf79fe06f4d803a294ec182cc61972c7d706ede70
optabs.c (expand_binop_directly): Allow scalar mode for vec_pack_trunc_optab.

gcc/

* optabs.c (expand_binop_directly): Allow scalar mode for
vec_pack_trunc_optab.
* tree-vect-loop.c (vect_determine_vectorization_factor): Skip
boolean vector producers from pattern sequence when computing VF.
* tree-vect-patterns.c (vect_vect_recog_func_ptrs) Add
vect_recog_mask_conversion_pattern.
(search_type_for_mask): Choose the smallest
type if different size types are mixed.
(build_mask_conversion): New.
(vect_recog_mask_conversion_pattern): New.
(vect_pattern_recog_1): Allow scalar mode for boolean vectype.
* tree-vect-stmts.c (vectorizable_mask_load_store): Support masked
load with pattern.
(vectorizable_conversion): Support boolean vectors.
(free_stmt_vec_info): Allow patterns for statements with no lhs.
* tree-vectorizer.h (NUM_PATTERNS): Increase to 14.

From-SVN: r230103
gcc/ChangeLog
gcc/optabs.c
gcc/tree-vect-loop.c
gcc/tree-vect-patterns.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.h