/* { dg-do compile } */ #define N 320 #define M 1024 signed short in[N+M]; signed short coeff[M]; int out[N]; /* Outer-loop vectorization. */ void foo (){ int i,j; int diff; for (i = 0; i < N; i++) { diff = 0; for (j = 0; j < M; j+=8) { diff += in[j+i]*coeff[j]; } out[i]=diff; } } /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { target vect_widen_mult_hi_to_si } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */