https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78114
--- Comment #9 from amker at gcc dot gnu.org --- (In reply to r...@cebitec.uni-bielefeld.de from comment #8) > > --- Comment #6 from amker at gcc dot gnu.org --- > > But for tests: > > FAIL: gfortran.dg/vect/fast-math-mgrid-resid.f -O scan-tree-dump-times > > pcom > > "Executing predictive commoning without unrolling" 1 > > FAIL: gfortran.dg/vect/fast-math-mgrid-resid.f -O scan-tree-dump-times > > pcom > > "Predictive commoning failed: no suitable chains" 0 > > > > they happened before 20161011. I tried revision at: > > commit ab93a7014158ec67a0b34e2986742da8a55013f9 > > Author: sje <sje@138bc75d-0d04-0410-961f-82ee72b054a4> > > Date: Wed Oct 5 18:42:10 2016 +0000 > > > > 2016-10-05 Steve Ellcey <sell...@caviumnetworks.com> > > > > * MAINTAINERS: Update email address after it got reverted. > > > > > > git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240801 > > 138bc75d-0d04-0410-961f-82ee72b054a4 > > > > And it's not working either? > > In my tests (Solaris on various x86 systems, both Intel and AMD), the > failure started consistently between 20161011 (r240990) and 20161013 > (r241136). > > Rainer This case tests if predictive commoning finds out shared memory access between vectorized loop, but it has to check all possible predictive commoning opportunities for all loops, i.e, including prologue and epilogue loops. Unfortunately, vectorizer peels the loop in different ways depending on cost, and on different targets. For example, for solaris x86 toolchain, prologue loop isn't peeled, that's why the newly added test string failed. For haswel, I think it has been failed for long time because there is no predictive commonging opportunity with vf > 2. IMHO, we should refine test only checking predictive commoning for vectorized loop (which is the test means to do), and also skip test for vf!=2. For the latter issue, we maybe able to change test code making it stands for vf>2 cases too. Thanks, bin