------- Comment #3 from irar at il dot ibm dot com 2009-03-17 13:33 -------
(In reply to comment #2)
> Or like the following, which is just a bunch of reductions of two elements
> float data[1024];
> void foo(void)
> {
> int i;
> for (i = 1; i < 1024; ++i)
> data[i] = data[i] + data[i-1];
> }Actually, this loop is not vectorizable. res and data have to be different arrays, otherwise we get read after write dependence with distance 1. Ira -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35229
