OSDN Git Service

* gcc.target/i386/sse-17.c: Include sse2-check.h.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / vect / vect-outer-4a.c
1 /* { dg-do compile } */
2
3 #define N 40
4 #define M 128
5 signed short in[N+M];
6 signed short coeff[M];
7 signed short out[N];
8
9 /* Outer-loop vectorization.
10    Currently not vectorized because of multiple-data-types in the inner-loop.  */
11
12 void
13 foo (){
14   int i,j;
15   int diff;
16
17   for (i = 0; i < N; i++) {
18     diff = 0;
19     for (j = 0; j < M; j+=8) {
20       diff += in[j+i]*coeff[j]; 
21     }
22     out[i]=diff;
23   }
24 }
25
26 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
27 /* FORNOW. not vectorized until we support 0-stride acceses like coeff[j]. should be:
28    { scan-tree-dump-not "multiple types in nested loop." "vect" { xfail *-*-* } } } */
29
30 /* { dg-final { scan-tree-dump-times "zero step in outer loop." 1  "vect" } } */
31 /* { dg-final { cleanup-tree-dump "vect" } } */