This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran 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: A prototype loop reverser for the scalarizer


Victor Kaplansky/Haifa/IBM wrote on 16/10/2006 11:45:29:

>
> > > My pet peeve (front end doesn't give necessary info to middle end):
> > >
> > >        DIMENSION A(100)
> > >        READ, A
> > >        PRINT*, SUM(A)
> > >        END
> > >
> > > This won't get vectorized, because, by the time the vectorizer sees
this
> > > code, it already has been scalarized into a loop with a definite
order
> > > of summation, contrary to the coder's intent ;-)
> >
> > Not even on the autovect branch?  Or are reductions on the trunk
> already, too?
> >

> Reductions will be put into mainline as soon as 4.3 is open.

Reductions are already in mainline, and this example will get vectorized if
-funsafe-math-optimizations is used (to allow changing the order of
computation). Victor was probably referring to the vectorization of
reduction idioms (like dot product, widening summation) which is indeed
scheduled to be incorporated to mainline in 4.3, but is already in
autovect-branch.

dorit

> -- Victor


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