1 /* { dg-require-effective-target size32plus } */
2 
3 #define DEBUG 0
4 #if DEBUG
5 #include <stdio.h>
6 #endif
7 
8 #define N 111
9 #define M 111
10 
11 static int __attribute__((noinline))
foo(int * x)12 foo (int *x)
13 {
14   int i, j;
15   int sum = 0;
16 
17   for (j = 0; j < M; ++j)
18     for (i = 0;  i < N; ++i)
19       sum += x[M * i + j];
20 
21   return sum;
22 }
23 
24 extern void abort ();
25 
26 int
main(void)27 main (void)
28 {
29   int A[N*M];
30   int i, res;
31 
32   for (i = 0; i < N*M; i++)
33     A[i] = 2;
34 
35   res = foo (A);
36 
37 #if DEBUG
38   fprintf (stderr, "res = %d \n", res);
39 #endif
40 
41   if (res != 24642)
42     abort ();
43 
44   return 0;
45 }
46