From 2d4dc2233b4a3aef3edeb23d6acaaa8a5327c137 Mon Sep 17 00:00:00 2001 From: Yuri Rumyantsev Date: Tue, 2 Feb 2016 09:46:26 +0000 Subject: re PR middle-end/68542 (10% 481.wrf performance regression) gcc/ 2016-02-02 Yuri Rumyantsev 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 "cbranch4): 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 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. From-SVN: r233068 --- gcc/tree-vect-stmts.c | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/tree-vect-stmts.c') diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index fa4a364..1aade9e 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -2023,6 +2023,7 @@ vectorizable_mask_load_store (gimple *stmt, gimple_stmt_iterator *gsi, { tree vec_rhs = NULL_TREE, vec_mask = NULL_TREE; prev_stmt_info = NULL; + LOOP_VINFO_HAS_MASK_STORE (loop_vinfo) = true; for (i = 0; i < ncopies; i++) { unsigned align, misalign; -- cgit v1.1