URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 298 |
Rev 338 |
/* { dg-do compile } */
|
/* { dg-do compile } */
|
|
|
#define N 40
|
#define N 40
|
#define M 128
|
#define M 128
|
signed short in[N+M];
|
signed short in[N+M];
|
signed short coeff[M];
|
signed short coeff[M];
|
signed short out[N];
|
signed short out[N];
|
|
|
/* Outer-loop vectorization. */
|
/* Outer-loop vectorization. */
|
|
|
void
|
void
|
foo (){
|
foo (){
|
int i,j;
|
int i,j;
|
int diff;
|
int diff;
|
|
|
for (i = 0; i < N; i++) {
|
for (i = 0; i < N; i++) {
|
diff = 0;
|
diff = 0;
|
for (j = 0; j < M; j+=8) {
|
for (j = 0; j < M; j+=8) {
|
diff += in[j+i]*coeff[j];
|
diff += in[j+i]*coeff[j];
|
}
|
}
|
out[i]=diff;
|
out[i]=diff;
|
}
|
}
|
}
|
}
|
|
|
/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { target { vect_widen_mult_hi_to_si && vect_pack_trunc } } } } */
|
/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { target { vect_widen_mult_hi_to_si && vect_pack_trunc } } } } */
|
/* { dg-final { cleanup-tree-dump "vect" } } */
|
/* { dg-final { cleanup-tree-dump "vect" } } */
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.