OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [gcc.c-torture/] [compile/] [920501-4.c] - Diff between revs 297 and 338

Only display areas with differences | Details | Blame | View Log

Rev 297 Rev 338
/* This test fails on HC11/HC12 when it is compiled without -mshort because
/* 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.  */
   the 'r0' array is too large.  Force to use 16-bit ints for it.  */
/* { dg-do assemble } */
/* { dg-do assemble } */
/* { dg-xfail-if "" { m6811-*-* m6812-*-* } { "*" } { "-mshort" } } */
/* { dg-xfail-if "" { m6811-*-* m6812-*-* } { "*" } { "-mshort" } } */
 
 
foo ()
foo ()
{
{
  int r0[8186 ];
  int r0[8186 ];
  int r1[2 ];
  int r1[2 ];
  int r2[2 ];
  int r2[2 ];
  int bitm0[2 ];
  int bitm0[2 ];
  int bitm1[2 ];
  int bitm1[2 ];
  int bitm2[2 ];
  int bitm2[2 ];
 
 
  int i,j,k,m,n,m_max;
  int i,j,k,m,n,m_max;
  int f;
  int f;
  double fm,ft;
  double fm,ft;
 
 
  while (1) {
  while (1) {
 
 
    if (m%4 == 2)
    if (m%4 == 2)
      ++m;
      ++m;
 
 
    if (m_max != 0 && m > m_max)
    if (m_max != 0 && m > m_max)
      break;
      break;
 
 
    fm=m;
    fm=m;
 
 
    r0[k=1]=0;
    r0[k=1]=0;
    bitm0[0] = 0;
    bitm0[0] = 0;
 
 
      while ( n%f == 0 ) {
      while ( n%f == 0 ) {
        while ( (ft != 0) && (ft < fm )) {
        while ( (ft != 0) && (ft < fm )) {
          bitm1[i] = 0;
          bitm1[i] = 0;
          r1[i]=0;
          r1[i]=0;
          }
          }
 
 
        while ( r0[i] != 0 && r1[i] != 0 ) {
        while ( r0[i] != 0 && r1[i] != 0 ) {
          if ( r0[i] < r1[i] ) {
          if ( r0[i] < r1[i] ) {
            bitm2[k] = bitm0[i];
            bitm2[k] = bitm0[i];
            r2[k++]=0;
            r2[k++]=0;
          }
          }
          else if ( r0[i] > r1[j] ) {
          else if ( r0[i] > r1[j] ) {
            bitm2[k] = bitm1[j];
            bitm2[k] = bitm1[j];
            r2[k++]=r1[j++];
            r2[k++]=r1[j++];
          }
          }
          else {
          else {
            bitm1[k] = bitm0[i];
            bitm1[k] = bitm0[i];
            r2[k++]=r0[i++];
            r2[k++]=r0[i++];
          }
          }
        }
        }
      }
      }
  }
  }
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.