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