1/* { dg-do compile } */ 2 3#define N 40 4signed short image[N][N]; 5signed short block[N][N]; 6signed short out[N]; 7 8/* Outer-loop cannot get vectorized because of non-consecutive access. */ 9 10void 11foo (){ 12 int i,j; 13 int diff; 14 15 for (i = 0; i < N; i++) { 16 diff = 0; 17 for (j = 0; j < N; j+=4) { 18 diff += (image[i][j] - block[i][j]); 19 } 20 out[i]=diff; 21 } 22} 23 24/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */ 25/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" } } */ 26/* { dg-final { cleanup-tree-dump "vect" } } */ 27