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

Subversion Repositories openrisc

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

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

Line No. Rev Author Line
1 688 jeremybenn
/* ICE: call insn does not satisfy its constraints, MMIX port.
2
   Origin: ghostscript-6.52, reduction from hp@bitrange.com.  */
3
struct s0
4
{
5
  void (*init_color)(void *, void *);
6
};
7
struct s1
8
{
9
  void (*map_cmyk)(short, void *, void **, void *);
10
  void (*map_rgb_alpha)(short, void *, void **, void *);
11
};
12
struct s5
13
{
14
  long fill1; int fill2;
15
  long fill3; unsigned int fill4, fill5;
16
};
17
struct s2
18
{
19
  struct s5 x, y;
20
};
21
struct s3
22
{
23
  long dev_color;
24
  unsigned int key;
25
};
26
struct s4
27
{
28
  unsigned char spp;
29
  int alpha;
30
  struct mc_
31
  {
32
    unsigned int values[14];
33
    unsigned int mask, test;
34
    int exact;
35
  } mask_color;
36
  void **pis;
37
  struct s0 *pcs;
38
  struct dd_
39
  {
40
    struct s2 row[2];
41
    struct s2 pixel0;
42
  } dda;
43
  struct s3 clues[256];
44
};
45
extern struct s1 *get_cmap_procs (void **, void *);
46
int image_render_color (struct s4 *, unsigned char *, int, void *);
47
int
48
image_render_color (struct s4 *penum, unsigned char *buffer,
49
                    int data_x, void *dev)
50
{
51
  struct s3 *clues = penum->clues;
52
  void **pis = penum->pis;
53
  struct s2 pnext;
54
  struct s0 *pcs = penum->pcs;
55
  struct s1 *cmap_procs = get_cmap_procs(pis, dev);
56
  void (*map_4)(short, void *, void **, void *) =
57
    (penum->alpha ? cmap_procs->map_rgb_alpha : cmap_procs->map_cmyk);
58
  unsigned int mask = penum->mask_color.mask;
59
  unsigned int test = penum->mask_color.test;
60
  struct s3 *pic_next = &clues[1];
61
  int spp = penum->spp;
62
  unsigned char *psrc = buffer + data_x * spp;
63
  unsigned char v[6];
64
 
65
  pnext = penum->dda.pixel0;
66
  __builtin_memset (&v, 0, sizeof(v));
67
  (*(pcs)->init_color) (0, 0);
68
 
69
  if (spp == 4)
70
    {
71
      v[0] = psrc[0];
72
      v[1] = psrc[1];
73
      if ((buffer[0] & mask) == test && penum->mask_color.exact)
74
        pic_next->dev_color = 0;
75
      (*map_4)(v[0], &pic_next->dev_color, pis, dev);
76
    }
77
  return 0;
78
}

powered by: WebSVN 2.1.0

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