/* { dg-do compile } */ | |
/* { dg-options "-O -ftree-loop-vectorize -fdump-tree-vect-details -fno-tree-loop-im -msse2 -mno-avx" } */ | |
double x[1024][1024], red[1024]; | |
void foo (void) | |
{ | |
for (int i = 0; i < 1024; ++i) | |
for (int j = 0; j < 1024; ++j) | |
{ | |
double v = i == 0 ? 0.0 : red[j]; | |
v = v + x[i][j]; | |
red[j] = v; | |
} | |
} | |
/* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" } } */ |