diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/vect/O3-vect-pr32243.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/O3-vect-pr32243.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/vect/O3-vect-pr32243.c b/gcc/testsuite/gcc.dg/vect/O3-vect-pr32243.c new file mode 100644 index 000000000..0116c33fb --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/O3-vect-pr32243.c @@ -0,0 +1,27 @@ +/* { dg-do compile } */ + +typedef struct __GLcontextRec GLcontext; + +struct gl_renderbuffer +{ + struct gl_renderbuffer *Wrapped; + void (*PutValues) (GLcontext * ctx, struct gl_renderbuffer * rb, + int count, const int x[], const int y[], + const void *values, const char *mask); +}; + +void +put_mono_values_s8 (GLcontext * ctx, struct gl_renderbuffer *s8rb, + int count, const int x[], const int y[], + const void *value, const char *mask) +{ + struct gl_renderbuffer *dsrb = s8rb->Wrapped; + int temp[4096], i; + const char val = *((char *) value); + for (i = 0; i < count; i++) + if (!mask || mask[i]) + temp[i] = (temp[i] & 0xffffff) | val; + dsrb->PutValues (ctx, dsrb, count, x, y, temp, mask); +} + +/* { dg-final { cleanup-tree-dump "vect" } } */ |