OSDN Git Service

* gcc.dg/vect/vect-116.c: Add vect_int target requirement.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / vect / O3-vect-pr32243.c
1 /* { dg-do compile } */
2
3 typedef struct __GLcontextRec GLcontext;
4
5 struct gl_renderbuffer
6 {
7   struct gl_renderbuffer *Wrapped;
8   void (*PutValues) (GLcontext * ctx, struct gl_renderbuffer * rb,
9                      int count, const int x[], const int y[],
10                      const void *values, const char *mask);
11 };
12
13 void
14 put_mono_values_s8 (GLcontext * ctx, struct gl_renderbuffer *s8rb,
15                     int count, const int x[], const int y[],
16                     const void *value, const char *mask)
17 {
18   struct gl_renderbuffer *dsrb = s8rb->Wrapped;
19   int temp[4096], i;
20   const char val = *((char *) value);
21   for (i = 0; i < count; i++)
22     if (!mask || mask[i])
23       temp[i] = (temp[i] & 0xffffff) | val;
24   dsrb->PutValues (ctx, dsrb, count, x, y, temp, mask);
25 }
26
27 /* { dg-final { cleanup-tree-dump "vect" } } */