A prototype loop reverser for the scalarizer
Dorit Nuzman
DORIT@il.ibm.com
Wed Oct 18 13:47:00 GMT 2006
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
More information about the Fortran
mailing list