Re: "unhandled use" in vectorizing a dot product?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Benjamin Redelings I <benjamin_redelings@xxxxxxxx> wrote on 01/12/2009
18:06:49:

> Hi Ira,
>
> 1.  That's actually quite helpful :-)  And thank you for all your work
> on this!  I can't wait to go make sure my actual code is autovectorized.
>
> Anyway, I didn't see this because I didn't use
> -ftree-vectorizer-verbose=9.  Would it be possible to mention this at
> verbosity levels less than 9?  Ideally, level 2, which tells me which
> loops aren't vectorized without mentioning all the cost model parameters.

The problem with this is that the vectorizer goes through all the
statements in the loop and checks if they are vectorizable in different
ways. (One of the possibilities, for example, is reduction). If one of the
possibilities fails, it doesn't mean that the statement/loop is not
vectorizable. Only if all of them fail, the vectorization fails. Therefore,
printing an error message for every vectorization possibility is not such a
good idea. But I'll try to see how we can improve the level 2 messages.

>
> ( BTW the gcc man pages indicate that 7 is the highest value for
> tree-vectorizer-verbose, although it seems that now 9 is the highest
value.)

Thanks, I'll fix this.

...
> 3. Finally, the following loop does not even receive a mention as being
> not vectorized (that I could find!)
>
>   for(i=0;i<argc;i++)
>      sum += d1[i]*d2[i]*d3[i]*d4[i];
>
> Here d1, d2, d3, and d4 are double*.  However, the loop is recognized if
> they are float * OR of they are double* but there are only three of
> them.  I presume this is intended... can you explain why?

No :). I tried to compile it and it looks normal. Could you please attach
the whole file and specify the exact command line? (The only reason I can
think of is that, somehow, the loop gets optimized out).

Ira

>
> Thanks for all your help!
>
> -BenRI
>
>
>
>


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux