1 /* { dg-require-effective-target vect_float } */ 2 /* { dg-require-effective-target vect_intfloat_cvt } */ 3 #include <stdarg.h> 4 #include "tree-vect.h" 5 6 #define N 160 7 float image[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))); 8 float out[N]; 9 10 /* Outer-loop vectorization. */ 11 12 __attribute__ ((noinline)) void foo()13foo (){ 14 int i,j; 15 16 for (i = 0; i < N; i++) { 17 for (j = 0; j < N; j++) { 18 image[j][i] = j+i; 19 } 20 } 21 } 22 main(void)23int main (void) 24 { 25 check_vect (); 26 int i, j; 27 28 foo (); 29 30 for (i = 0; i < N; i++) { 31 for (j = 0; j < N; j++) { 32 if (image[j][i] != j+i) 33 abort (); 34 } 35 } 36 37 return 0; 38 } 39 40 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" } } */ 41