2017-12-08 Richard Biener <rguenther@suse.de>
commit6d44bd9d44be5530a7cbdbdb2250f4648526294b
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Dec 2017 08:06:31 +0000 (8 08:06 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Dec 2017 08:06:31 +0000 (8 08:06 +0000)
treee7409b2670c511d8b3917122616fb4fbe1c09aa1
parentce075df5032df8bd58393372da9298bc32cb6e65
2017-12-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/81303
* tree-vect-stmts.c (vect_is_simple_cond): For invariant
conditions try to create a comparison vector type matching
the data vector type.
(vectorizable_condition): Adjust.
* tree-vect-patterns.c (vect_recog_mask_conversion_pattern):
Leave invariant conditions alone in case we can vectorize those.

* gcc.target/i386/vectorize9.c: New testcase.
* gcc.target/i386/vectorize10.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@255497 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/vectorize10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/vectorize9.c [new file with mode: 0644]
gcc/tree-vect-patterns.c
gcc/tree-vect-stmts.c