27 lines
461 B
C
27 lines
461 B
C
|
/* { dg-do compile } */
|
||
|
/* { dg-options "-O3 --param tree-reassoc-width=4" } */
|
||
|
/* { dg-additional-options "-mavx2" { target { x86_64-*-* i?86-*-* } } } */
|
||
|
|
||
|
#define N 40
|
||
|
#define M 128
|
||
|
unsigned int in[N+M];
|
||
|
unsigned short out[N];
|
||
|
|
||
|
/* Outer-loop vectorization. */
|
||
|
|
||
|
void
|
||
|
foo (){
|
||
|
int i,j;
|
||
|
unsigned int diff;
|
||
|
|
||
|
for (i = 0; i < N; i++) {
|
||
|
diff = 0;
|
||
|
for (j = 0; j < M; j+=8) {
|
||
|
diff += in[j+i];
|
||
|
}
|
||
|
out[i]=(unsigned short)diff;
|
||
|
}
|
||
|
|
||
|
return;
|
||
|
}
|