URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.c-torture/] [compile/] [920501-4.c] - Rev 816
Go to most recent revision | Compare with Previous | Blame | View Log
/* This test fails on HC11/HC12 when it is compiled without -mshort because the 'r0' array is too large. Force to use 16-bit ints for it. */ /* { dg-do assemble } */ /* { dg-xfail-if "" { m6811-*-* m6812-*-* } { "*" } { "-mshort" } } */ foo () { int r0[8186 ]; int r1[2 ]; int r2[2 ]; int bitm0[2 ]; int bitm1[2 ]; int bitm2[2 ]; int i,j,k,m,n,m_max; int f; double fm,ft; while (1) { if (m%4 == 2) ++m; if (m_max != 0 && m > m_max) break; fm=m; r0[k=1]=0; bitm0[0] = 0; while ( n%f == 0 ) { while ( (ft != 0) && (ft < fm )) { bitm1[i] = 0; r1[i]=0; } while ( r0[i] != 0 && r1[i] != 0 ) { if ( r0[i] < r1[i] ) { bitm2[k] = bitm0[i]; r2[k++]=0; } else if ( r0[i] > r1[j] ) { bitm2[k] = bitm1[j]; r2[k++]=r1[j++]; } else { bitm1[k] = bitm0[i]; r2[k++]=r0[i++]; } } } } }
Go to most recent revision | Compare with Previous | Blame | View Log