Add runtime tests for interchange and blocking.
[official-gcc/constexpr.git] / gcc / testsuite / gcc.dg / graphite / block-1.c
blob64ff67b222666a2fa981e8d794bff38aba38c3f2
1 /* { dg-require-effective-target size32plus } */
3 #define DEBUG 0
4 #if DEBUG
5 #include <stdio.h>
6 #endif
8 #define MAX 100
10 int main()
12 int i, j;
13 int sum = 0;
14 int A[MAX * MAX];
15 int B[MAX * MAX];
17 for (i = 0; i < MAX; i++)
18 for (j = 0; j < MAX; j++)
20 A[i*MAX + j] = j;
21 B[i*MAX + j] = j;
24 for (i = 0; i < MAX; i++)
25 for (j = 0; j < MAX; j++)
26 A[i*MAX + j] += B[j*MAX + i];
28 for(i = 0; i < MAX; i++)
29 for(j = 0; j < MAX; j++)
30 sum += A[i*MAX + j];
32 #if DEBUG
33 fprintf (stderr, "sum = %d \n", sum);
34 #endif
36 return sum != 990000;
39 /* { dg-final { scan-tree-dump-times "will be loop blocked" 2 "graphite" { xfail *-*-* } } } */
40 /* { dg-final { cleanup-tree-dump "graphite" } } */