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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.c-torture/] [compile/] [980506-1.c] - Blame information for rev 774

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

Line No. Rev Author Line
1 688 jeremybenn
/* The arrays are too large for the xstormy16 - won't fit in 16 bits. */
2
/* { dg-do assemble } */
3
/* { dg-require-effective-target size32plus } */
4
/* { dg-skip-if "Array too big" { "avr-*-*" } { "*" } { "" } } */
5
/* { dg-xfail-if "The array too big" { h8300-*-* } { "-mno-h" "-mn" } { "" } } */
6
 
7
unsigned char   TIFFFax2DMode[20][256];
8
unsigned char   TIFFFax2DNextState[20][256];
9
unsigned char   TIFFFaxUncompAction[20][256];
10
unsigned char   TIFFFaxUncompNextState[20][256];
11
unsigned char   TIFFFax1DAction[230][256];
12
unsigned char   TIFFFax1DNextState[230][256];
13
 
14
typedef struct tableentry {
15
    unsigned short length;
16
    unsigned short code;
17
    short       runlen;
18
} tableentry;
19
 
20
extern tableentry TIFFFaxWhiteCodes[];
21
extern tableentry TIFFFaxBlackCodes[];
22
 
23
static short sp_data, sp_bit;
24
 
25
static unsigned char
26
fetchByte (inbuf)
27
 
28
unsigned char **inbuf;
29
 
30
{
31
    unsigned char byte = **inbuf;
32
    (*inbuf)++;
33
    return (byte);
34
}
35
 
36
static int
37
decode_white_run (inbuf)
38
 
39
unsigned char **inbuf;
40
 
41
{
42
    short state = sp_bit;
43
    short action;
44
    int runlen = 0;
45
 
46
    for (;;)
47
    {
48
        if (sp_bit == 0)
49
        {
50
        nextbyte:
51
            sp_data = fetchByte (inbuf);
52
        }
53
 
54
        action = TIFFFax1DAction[state][sp_data];
55
        state = TIFFFax1DNextState[state][sp_data];
56
        if (action == 0 )
57
            goto nextbyte;
58
        if (action == 1 )
59
            return (-1 );
60
        if (action == 210 )
61
            return (-3 );
62
        sp_bit = state;
63
        action = (TIFFFaxWhiteCodes[ action - 2  ].runlen) ;
64
        runlen += action;
65
        if (action < 64)
66
            return (runlen);
67
    }
68
}
69
 

powered by: WebSVN 2.1.0

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