Daily bump.
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / pr67790.c
blob71eb0944be764711ce2ff81b56031df313db42ff
1 /* { dg-require-effective-target vect_int } */
2 /* { dg-require-effective-target vect_perm } */
4 #include "tree-vect.h"
6 struct {
7 int x_advance;
8 int y_advance;
9 } a[256];
11 int b, c;
13 void __attribute__((noinline,noclone)) fn1()
15 for (int i = 0; i < 256; i++)
17 c -= a[i].x_advance;
18 b -= a[i].y_advance;
22 int main()
24 check_vect ();
26 for (int i = 0; i < 256; ++i)
28 a[i].x_advance = i;
29 a[i].y_advance = -i + 3;
30 __asm__ volatile ("" : : : "memory");
33 fn1();
35 if (c != -32640 || b != 31872)
36 abort ();
38 return 0;
41 /* { dg-final { scan-tree-dump "vectorizing stmts using SLP" "vect" } } */
42 /* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR" 0 "vect" } } */