1 /* { dg-require-effective-target vect_int } */
19 __attribute__ ((noinline
)) int
26 for (i
= 0; i
< N
; i
++)
28 res
[i
].c
= ptr
->b
- ptr
->a
+ ptr
->d
- ptr
->c
;
29 res
[i
].a
= ptr
->a
+ ptr
->g
+ ptr
->b
+ ptr
->d
;
30 res
[i
].d
= ptr
->b
- ptr
->a
+ ptr
->d
- ptr
->c
;
31 res
[i
].b
= ptr
->h
- ptr
->a
+ ptr
->d
- ptr
->c
;
32 res
[i
].f
= ptr
->f
+ ptr
->h
;
33 res
[i
].e
= ptr
->b
- ptr
->e
;
34 res
[i
].h
= ptr
->d
- ptr
->g
;
35 res
[i
].g
= ptr
->b
- ptr
->a
+ ptr
->d
- ptr
->c
;
40 for (i
= 0; i
< N
; i
++)
42 if (res
[i
].c
!= arr
[i
].b
- arr
[i
].a
+ arr
[i
].d
- arr
[i
].c
43 || res
[i
].a
!= arr
[i
].a
+ arr
[i
].g
+ arr
[i
].b
+ arr
[i
].d
44 || res
[i
].d
!= arr
[i
].b
- arr
[i
].a
+ arr
[i
].d
- arr
[i
].c
45 || res
[i
].b
!= arr
[i
].h
- arr
[i
].a
+ arr
[i
].d
- arr
[i
].c
46 || res
[i
].f
!= arr
[i
].f
+ arr
[i
].h
47 || res
[i
].e
!= arr
[i
].b
- arr
[i
].e
48 || res
[i
].h
!= arr
[i
].d
- arr
[i
].g
49 || res
[i
].g
!= arr
[i
].b
- arr
[i
].a
+ arr
[i
].d
- arr
[i
].c
)
61 for (i
= 0; i
< N
; i
++)
80 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */
81 /* { dg-final { cleanup-tree-dump "vect" } } */