/* { dg-do compile } */ /* { dg-require-effective-target vect_int } */ #include #define M00 100 #define M10 216 #define M01 1322 #define M11 13 #define M02 74 #define M12 191 #define N 16 void foo (unsigned int *__restrict__ pInput, unsigned int *__restrict__ pOutput) { unsigned int i, a, b, c, d, e, f; for (i = 0; i < N / 3; i++) { a = *pInput++; b = *pInput++; c = *pInput++; d = *pInput++; e = *pInput++; f = *pInput++; a = a + d; b = b + e; c = c + f; *pOutput++ = M00 * a + M01 * b + M02 * c; *pOutput++ = M10 * a + M11 * b + M12 * c; } } /* { dg-final { cleanup-tree-dump "vect" } } */