Auto-vectorization with gcj

Andrew Pinski pinskia@physics.uc.edu
Sun May 15 19:12:00 GMT 2005


On May 15, 2005, at 6:07 AM, Andrew Haley wrote:
>> Test.java:9: note: not vectorized: multiple exits.
>> Test.java:14: note: not vectorized: multiple exits.
>> Test.java:7: note: vectorized 0 loops in function.
>>
>> Is it not possible to use auto-vectorization with gcj until now?
>
> Not as far as I am aware, no.  You may be the first person ever to
> try it.
>
> I don't know why the compiler believes the loops have multiple exits.
> If you want to find out, it's time to start looking at dumps.


The multiple exit comes bounds checking (which VRP does not remove still
because we don't pull out a load of the length).

If we add -fno-bounds-checks, we get:
Test.java:7: note: not vectorized: too many BBs in loop.
Test.java:11: note: not vectorized: too many BBs in loop.
Test.java:6: note: vectorized 0 loops in function.

And this is because we have a label in the loop (and the tree CFG
does not remove user labels, maybe setting DECL_ARTIFICIAL on the
labels will fix this fully).

Thanks,
Andrew Pinski



More information about the Java mailing list