1 /* { dg-require-effective-target size32plus } */ 2 3 #define DEBUG 0 4 #if DEBUG 5 #include <stdio.h> 6 #endif 7 8 #define MAX 100 9 10 extern void abort (); 11 12 int main(void)13main (void) 14 { 15 int i, j; 16 unsigned int sum = 0; 17 unsigned int A[MAX * MAX]; 18 unsigned int B[MAX * MAX]; 19 20 /* These loops should be loop blocked. */ 21 for (i = 0; i < MAX; i++) 22 for (j = 0; j < MAX; j++) 23 { 24 A[i*MAX + j] = j; 25 B[i*MAX + j] = j; 26 } 27 28 /* These loops should be loop blocked. */ 29 for (i = 0; i < MAX; i++) 30 for (j = 0; j < MAX; j++) 31 A[i*MAX + j] += B[j*MAX + i]; 32 33 /* These loops should be loop blocked. */ 34 for (i = 0; i < MAX; i++) 35 for (j = 0; j < MAX; j++) 36 sum += A[i*MAX + j]; 37 38 #if DEBUG 39 fprintf (stderr, "sum = %d \n", sum); 40 #endif 41 42 if (sum != 990000) 43 abort (); 44 45 return 0; 46 } 47 48 /* { dg-final { scan-tree-dump "tiled by" "graphite" } } */ 49