1 /* { dg-do assemble } */
2 /* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O1" } { "" } } */
3 /* { dg-skip-if "Array too big" { "pdp11-*-*" } { "-mint32" } } */
4 /* { dg-require-stack-size "8196*4" } */
5 
foo()6 foo ()
7 {
8   int r0[8186 ];
9   int r1[2 ];
10   int r2[2 ];
11   int bitm0[2 ];
12   int bitm1[2 ];
13   int bitm2[2 ];
14 
15   int i,j,k,m,n,m_max;
16   int f;
17   double fm,ft;
18 
19   while (1) {
20 
21     if (m%4 == 2)
22       ++m;
23 
24     if (m_max != 0 && m > m_max)
25       break;
26 
27     fm=m;
28 
29     r0[k=1]=0;
30     bitm0[0] = 0;
31 
32       while ( n%f == 0 ) {
33 	while ( (ft != 0) && (ft < fm )) {
34 	  bitm1[i] = 0;
35 	  r1[i]=0;
36           }
37 
38 	while ( r0[i] != 0 && r1[i] != 0 ) {
39 	  if ( r0[i] < r1[i] ) {
40 	    bitm2[k] = bitm0[i];
41 	    r2[k++]=0;
42 	  }
43 	  else if ( r0[i] > r1[j] ) {
44 	    bitm2[k] = bitm1[j];
45 	    r2[k++]=r1[j++];
46 	  }
47 	  else {
48 	    bitm1[k] = bitm0[i];
49 	    r2[k++]=r0[i++];
50 	  }
51 	}
52       }
53   }
54 }
55