]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR middle-end/68542 (10% 481.wrf performance regression)
authorYuri Rumyantsev <ysrumyan@gmail.com>
Tue, 2 Feb 2016 09:46:26 +0000 (09:46 +0000)
committerIlya Enkovich <ienkovich@gcc.gnu.org>
Tue, 2 Feb 2016 09:46:26 +0000 (09:46 +0000)
commit2d4dc2233b4a3aef3edeb23d6acaaa8a5327c137
tree406eb48f3246bc92d314640f0b58301e7c2c6257
parent65c98fdec722720ae9b2a6765232fe4535e06d4e
re PR middle-end/68542 (10% 481.wrf performance regression)

gcc/

2016-02-02  Yuri Rumyantsev  <ysrumyan@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  <ysrumyan@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.

From-SVN: r233068
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/vect-mask-store-move-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx2-vect-mask-store-move1.c [new file with mode: 0644]
gcc/tree-vect-loop.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.c
gcc/tree-vectorizer.h