25 lines
748 B
C
25 lines
748 B
C
/* { dg-do compile { target size32plus } } */
|
|
/* The desire is to show we can generate a memset from the outer loop
|
|
store. Both store motion and PRE expose a DSE opportunity for this
|
|
zeroing - while desirable this defeats the purpose of this testcase. */
|
|
/* { dg-options "-O2 -fno-tree-loop-im -fno-tree-pre -ftree-loop-distribution -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
|
|
|
|
#define N (1024)
|
|
double a[N][N], b[N][N], c[N][N];
|
|
|
|
void
|
|
foo (void)
|
|
{
|
|
unsigned i, j, k;
|
|
|
|
for (i = 0; i < N; ++i)
|
|
for (j = 0; j < N; ++j)
|
|
{
|
|
c[i][j] = 0.0;
|
|
for (k = 0; k < N; ++k)
|
|
c[i][j] += a[i][k] * b[k][j];
|
|
}
|
|
}
|
|
|
|
/* { dg-final { scan-tree-dump "Loop nest . distributed: split to 1 loops and 1 library" "ldist" } } */
|