https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68542
--- Comment #8 from Ilya Enkovich <ienkovich at gcc dot gnu.org> --- Author: ienkovich Date: Tue Feb 2 09:46:26 2016 New Revision: 233068 URL: https://gcc.gnu.org/viewcvs?rev=233068&root=gcc&view=rev Log: gcc/ 2016-02-02 Yuri Rumyantsev <ysrum...@gmail.com> PR middle-end/68542 * config/i386/i386.c (ix86_expand_branch): Add support for conditional branch with vector comparison. * config/i386/sse.md (VI48_AVX): New mode iterator. (define_expand "cbranch<mode>4): Add support for conditional branch with vector comparison. * tree-vect-loop.c (optimize_mask_stores): New function. * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize has_mask_store field of vect_info. * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for vectorized loops having masked stores after vec_info destroy. * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and correspondent macros. (optimize_mask_stores): Add prototype. gcc/testsuite 2016-02-02 Yuri Rumyantsev <ysrum...@gmail.com> PR middle-end/68542 * gcc.dg/vect/vect-mask-store-move-1.c: New test. * gcc.target/i386/avx2-vect-mask-store-move1.c: New test. Added: trunk/gcc/testsuite/gcc.dg/vect/vect-mask-store-move-1.c trunk/gcc/testsuite/gcc.target/i386/avx2-vect-mask-store-move1.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/config/i386/sse.md trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-vect-loop.c trunk/gcc/tree-vect-stmts.c trunk/gcc/tree-vectorizer.c trunk/gcc/tree-vectorizer.h