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 foo(unsigned int * __restrict__ pInput,unsigned int * __restrict__ pOutput)15void 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 38