OSDN Git Service

PR tree-optimization/40542
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / vect / pr37474.c
1 /* { dg-do compile } */
2 /* { dg-require-effective-target vect_int } */
3
4 #include <stdarg.h>
5
6 #define M00 100
7 #define M10 216
8 #define M01 1322
9 #define M11 13
10 #define M02 74
11 #define M12 191
12
13 #define N 16
14
15 void foo (unsigned int *__restrict__ pInput, unsigned int *__restrict__ pOutput)
16 {
17   unsigned int i, a, b, c, d, e, f;
18
19   for (i = 0; i < N / 3; i++)
20     {
21        a = *pInput++;
22        b = *pInput++;
23        c = *pInput++;
24        d = *pInput++;
25        e = *pInput++;
26        f = *pInput++;
27
28        a = a + d;
29        b = b + e;
30        c = c + f;
31
32        *pOutput++ = M00 * a + M01 * b + M02 * c;
33        *pOutput++ = M10 * a + M11 * b + M12 * c;
34     }
35 }
36
37 /* { dg-final { cleanup-tree-dump "vect" } } */
38