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.

Reply via email to