------- 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

Reply via email to