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