This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Auto-vectorization with gcj
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