1 /* PR tree-optimization/46009 */
2 /* { dg-require-effective-target vect_int } */
6 int a[1024] __attribute__((aligned));
7 int b[1024] __attribute__((aligned));
8 int c[1024] __attribute__((aligned));
9 int d[1024] __attribute__((aligned));
10 int e[1024] __attribute__((aligned));
12 void __attribute__((noinline))
16 for (i = 0; i < 1024; i++)
18 g = a[i] + b[i] + c[i] * d[i];;
19 e[i] = g < 10 ? 1 : g;
23 void __attribute__((noinline))
27 for (i = 0; i < 1024; i++)
29 g = a[i] + b[i] + c[i] * d[i];;
42 for (i = 0; i < 1024; i++)
44 asm volatile ("" : "+r" (i));
52 for (i = 0; i < 1024; i++)
55 asm volatile ("" : "+r" (i));
57 if (e[i] != (g < 10 ? 1 : g))
62 for (i = 0; i < 1024; i++)
65 asm volatile ("" : "+r" (i));
67 if (e[i] != (g < 10 ? 1 : g))
73 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_int_mult } } } */
74 /* { dg-final { cleanup-tree-dump "vect" } } */