| /* { 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 } } } */ |