This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: missed vectorization (was Some thoughts about steerring commitee work)


Tim Prince <n8tm@aol.com> wrote on 17/06/2007 19:47:10:

> DORIT@il.ibm.com wrote:
> > Tim Prince <n8tm@aol.com> wrote on 17/06/2007 04:15:56:
> >
> >> hjl@lucon.org 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]