https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78899
Bug ID: 78899 Summary: [7 Regression] Vestorized loop with optmized mask stores motion is completely deleted after r242520. Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ysrumyan at gmail dot com Target Milestone: --- Created attachment 40395 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40395&action=edit test-case to reproduce - compile with -Ofast -mavx2 -fopenmp We noticed a huge regression on avx2 and knl machines on couple improtant benchmarks. The issue can be reproduced with attached test-case. Before given revision produced assembly contains vptest and vpmaskmovd instructions but after this revision newly created basic blocks which are created for sinking masked stores are deleted: grep 'block 22' test.c.156t.vect test.c:11:15: note: Create new block 22 to sink mask stores.test.c:11:15: note: Move stmt to created bb Removing basic block 22 Attached test-case must be compiled with -Ofast -mavx2 -fopenmp options to reproduce.