aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/vect/O3-vect-pr32243.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/vect/O3-vect-pr32243.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.dg/vect/O3-vect-pr32243.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/vect/O3-vect-pr32243.c b/gcc-4.9/gcc/testsuite/gcc.dg/vect/O3-vect-pr32243.c
new file mode 100644
index 000000000..0116c33fb
--- /dev/null
+++ b/gcc-4.9/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" } } */