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.target/] [i386/] [20011107-1.c] - Blame information for rev 338

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 318 jeremybenn
/* { dg-do compile } */
2
/* { dg-require-effective-target ilp32 } */
3
/* { dg-options "-O2 -mtune=k6" } */
4
 
5
void
6
foo (unsigned char *x, const unsigned char *y)
7
{
8
  int a = 6;
9
  unsigned char *b;
10
  for (;;)
11
    {
12
      unsigned char *c = x;
13
 
14
      while (1)
15
        {
16
          if (c + 2 < y)
17
            c += 3;
18
          else
19
            break;
20
        }
21
      b = x + a;
22
      if (*c == 4 || *c == 5)
23
        {
24
          unsigned char d = c[2];
25
 
26
          if (b[3] == 7 || b[3] == 8)
27
            {
28
              int e = b[3] == 8;
29
              if (d < b[4] * 8 && b[5 + d / 8] & (1 << (d % 8)))
30
                e = !e;
31
              if (!e)
32
                x[-3] = 26;
33
            }
34
        }
35
      else if (*c == 7 && b[3] == 8)
36
        {
37
          int f;
38
          for (f = 0; f < (int) c[1]; f++)
39
            if (!(c[2 + f] == 0))
40
              break;
41
          if (f == c[1])
42
            x[-3] = 26;
43
        }
44
      x -= 2;
45
    }
46
}

powered by: WebSVN 2.1.0

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