missed vectorization (was Some thoughts about steerring commitee work)

Tim Prince n8tm@aol.com
Sun Jun 17 16:47:00 GMT 2007


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.

There are existing PRs on a somewhat similar issue involving type 
casting in C. IMHO, not vectorizing those might seem excusable.

Thanks,
Tim



More information about the Fortran mailing list