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.dg/] [graphite/] [pr37943.c] - Diff between revs 298 and 338

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

Rev 298 Rev 338
/* { dg-options "-O3 -fgraphite-identity -fdump-tree-graphite-all" } */
/* { dg-options "-O3 -fgraphite-identity -fdump-tree-graphite-all" } */
 
 
typedef struct
typedef struct
{
{
      int mode,state,num,state_out;
      int mode,state,num,state_out;
      unsigned char* bits;
      unsigned char* bits;
      char *out;
      char *out;
}test;
}test;
unsigned char copy( test* s )
unsigned char copy( test* s )
{
{
   while(1)
   while(1)
     {
     {
      if (s->mode == 0) break;
      if (s->mode == 0) break;
      if (s->state_out >= s->num) break;
      if (s->state_out >= s->num) break;
      *(s->out) = s->bits[s->state_out];
      *(s->out) = s->bits[s->state_out];
      if (s->mode == 0) s->mode++;
      if (s->mode == 0) s->mode++;
     }
     }
}
}
unsigned char compress(test *in)
unsigned char compress(test *in)
{
{
   unsigned char p_in, p_out;
   unsigned char p_in, p_out;
   while(1)
   while(1)
   {
   {
      if (in->state == 1)
      if (in->state == 1)
      {
      {
         p_out |= copy(in);
         p_out |= copy(in);
         if (in->state_out < in->num) break;
         if (in->state_out < in->num) break;
      }
      }
   }
   }
   return p_in || p_out;
   return p_in || p_out;
}
}
/* { dg-final { cleanup-tree-dump "graphite" } } */
/* { dg-final { cleanup-tree-dump "graphite" } } */
 
 
 
 

powered by: WebSVN 2.1.0

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