13 #define B(I) ((I) * 2)
14 #define C(I) ((unsigned short) ~((I) ^ 0x18))
16 void __attribute__ ((noinline))
21 for (i = 0; i < N; i++)
28 void __attribute__ ((noinline))
29 check2 (unsigned short *res)
33 for (i = 0; i < N; i++)
34 if (res[i] != (unsigned short) (A (i) + B (i) + C (i)))
38 void __attribute__ ((noinline))
43 for (i = 0; i < N; i++)
50 void __attribute__ ((noinline))
51 check4 (unsigned short *res)
55 for (i = 0; i < N; i++)
56 if (res[i] != (unsigned short) (A (i) + B (i)))
60 void __attribute__ ((noinline))
66 unsigned short res2[N];
68 for (i = 0; i < N; i++)
76 for (i = 0; i < N; i++)
77 res2[i] = arr[i].a + arr[i].b + arr[i].c;
80 for (i = 0; i < N; i++)
88 for (i = 0; i < N; i++)
89 res2[i] = arr[i].a + arr[i].b;
100 for (i = 0; i < N; i++)
111 /* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target vect_strided3 } } } */
112 /* { dg-final { cleanup-tree-dump "vect" } } */