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()6foo () 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