1 /* { dg-require-effective-target vect_int } */
18 __attribute__ ((noinline)) int
19 main1 (s *arr, ii *iarr)
27 for (i = 0; i < N; i++)
29 ires[i].a = iptr->b - iptr->a;
30 ires[i].b = iptr->b + iptr->a;
31 res[i].b = ptr->b - ptr->a;
32 res[i].a = ptr->b + ptr->a;
38 for (i = 0; i < N; i++)
40 if (res[i].b != arr[i].b - arr[i].a
41 || ires[i].a != iarr[i].b - iarr[i].a
42 || res[i].a != arr[i].b + arr[i].a
43 || ires[i].b != iarr[i].b + iarr[i].a
59 for (i = 0; i < N; i++)
74 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */
75 /* { dg-final { cleanup-tree-dump "vect" } } */