1 /* { dg-require-effective-target vect_int } */
13 __attribute__ ((noinline
)) int
14 main1 (unsigned short *arr
, ii
*iarr
)
16 unsigned short *ptr
= arr
;
18 unsigned short res
[N
];
22 for (i
= 0; i
< N
; i
++)
24 ires
[i
].a
= iptr
->b
- iptr
->a
;
25 ires
[i
].b
= iptr
->b
+ iptr
->a
;
32 for (i
= 0; i
< N
; i
++)
35 || ires
[i
].a
!= iarr
[i
].b
- iarr
[i
].a
36 || ires
[i
].b
!= iarr
[i
].b
+ iarr
[i
].a
)
46 unsigned short arr
[N
];
51 for (i
= 0; i
< N
; i
++)
64 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */
65 /* { dg-final { cleanup-tree-dump "vect" } } */