Tim Prince <[EMAIL PROTECTED]> wrote on 17/06/2007 19:47:10: > [EMAIL PROTECTED] wrote: > > Tim Prince <[EMAIL PROTECTED]> wrote on 17/06/2007 04:15:56: > > > >> [EMAIL PROTECTED] wrote: > >>> On Sat, Jun 16, 2007 at 06:54:46PM +0300, Dorit Nuzman wrote: > >>>>> There are quite a few known simple cases which vectorizer fails to > >>>>> vectorize. > >>>> by "known" you mean there are open missed-optimization PRs for them? > > (if > >>> Yes, that is what I meant. > >>> > >> I'd be happy to file some PRs along this line, if there is interest. C > > > > yes, there is > > > >> or C++, if there's more interest in that than in Fortran. But, gfortran > >> fails to vectorize more than 50% of the stuff I run into every day, > >> including most everything which involves distinct sections of the same > >> array or COMMON block. > > > > I thought there was already a PR opened for this issue (probably by Toon), > > but I can't find it :-( > > > > thanks, > > dorit > > > There are several issues. EQUIVALENCE produces such a problem (PR32373) > as do various kinds of references to multiple sections of the same array > (PR32375,32376,32377,32378,32379,32380). Only 2 of those PRs involve > actual source/destination overlap, where the vectorizer would have to > choose the correct direction (loop reversed or not). > In the bigger case (PR32380) there are loops which vectorize in > isolation but not in the presence of other loops. >
thanks for taking the time to extract the testcases and open the PRs. I guess the discussion can continue in bugzilla now... > There are existing PRs on a somewhat similar issue involving type > casting in C. IMHO, not vectorizing those might seem excusable. > I think we should teach the vectorizer to handle those as well (another issue I've been wanting to get to in a while...) thanks, dorit > Thanks, > Tim