OSDN Git Service

3e8ff92a19489c5d787bed3df2a2b7b234e6d4a6
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / graphite / block-7.c
1 /* { dg-require-effective-target size32plus } */
2
3 #define DEBUG 0
4 #if DEBUG
5 #include <stdio.h>
6 #endif
7
8 #define N 200
9
10 int A[N][N], B[N][N], C[N][N];
11
12 static void __attribute__((noinline))
13 matmult (void)
14 {
15   int i, j, k;
16
17   for (i = 0; i < N; i++)
18     for (j = 0; j < N; j++)
19       {
20         A[i][j] = 0;
21         for (k = 0; k < N; k++)
22           A[i][j] += B[i][k] * C[k][j];
23       }
24 }
25
26 int
27 main (void)
28 {
29   int i, j, res = 0;
30
31   for (i = 0; i < N; i++)
32     for (j = 0; j < N; j++)
33       {
34         B[i][j] = j;
35         C[i][j] = i;
36       }
37
38   matmult ();
39
40   for (i = 0; i < N; i++)
41     res += A[i][i];
42
43 #if DEBUG
44   fprintf (stderr, "res = %d \n", res);
45 #endif
46
47   return res != 529340000;
48 }
49
50 /* { dg-final { scan-tree-dump-times "SCoP will be loop blocked" 1 "graphite" } } */
51 /* { dg-final { cleanup-tree-dump "graphite" } } */