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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [loop-3.c] - Blame information for rev 701

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 689 jeremybenn
/* PR optimization/13985 */
2
/* Copied from gcc.c-torture/compile/930621-1.c */
3
 
4
/* { dg-do compile } */
5
/* { dg-options "-O3" } */
6
/* { dg-options "-O3 -mtune=i386" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
7
 
8
#if defined(STACK_SIZE) && (STACK_SIZE < 65536)
9
# define BYTEMEM_SIZE 10000L
10
#endif
11
 
12
#ifndef BYTEMEM_SIZE
13
# define BYTEMEM_SIZE 45000L
14
#endif
15
 
16
int bytestart[5000 + 1];
17
unsigned char modtext[400 + 1];
18
unsigned char bytemem[2][BYTEMEM_SIZE + 1];
19
 
20
long
21
modlookup (int l)
22
{
23
  signed char c;
24
  long j;
25
  long k;
26
  signed char w;
27
  long p;
28
  while (p != 0)
29
    {
30
      while ((k < bytestart[p + 2]) && (j <= l) && (modtext[j] == bytemem[w][k]))
31
        {
32
          k = k + 1;
33
          j = j + 1;
34
        }
35
      if (k == bytestart[p + 2])
36
        if (j > l)
37
          c = 1;
38
        else c = 4;
39
      else if (j > l)
40
        c = 3;
41
      else if (modtext[j] < bytemem[w][k])
42
        c = 0;
43
      else c = 2;
44
    }
45
}

powered by: WebSVN 2.1.0

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