1 /* { dg-do compile } */
3 void foo (int * __restrict x
, int *y
)
5 x
= __builtin_assume_aligned (x
, __BIGGEST_ALIGNMENT__
);
6 y
= __builtin_assume_aligned (y
, __BIGGEST_ALIGNMENT__
);
7 for (int i
= 0; i
< 1024; ++i
)
9 x
[6*i
+0] = y
[4*i
+0] * 7 + 5;
10 x
[6*i
+1] = y
[4*i
+1] * 2;
11 x
[6*i
+2] = y
[4*i
+2] + 3;
12 x
[6*i
+3] = y
[4*i
+3] * 7 + 5;
13 x
[6*i
+4] = y
[4*i
+0] * 2;
14 x
[6*i
+5] = y
[4*i
+3] + 3;
18 /* { dg-final { scan-tree-dump "vectorizing stmts using SLP" "vect" { target { vect_int && vect_int_mult } } } } */