1 /* { dg-require-effective-target vect_int } */
23 __attribute__ ((noinline
)) int
31 for (i
= 0; i
< N
; i
++)
33 res
[i
].c
= ptr
->b
+ ptr
->c
;
35 res
[i
].a
= x
+ ptr
->b
;
36 res
[i
].d
= ptr
->b
+ ptr
->c
;
38 res
[i
].f
= ptr
->f
+ ptr
->e
;
39 res
[i
].e
= ptr
->b
+ ptr
->e
;
41 res
[i
].g
= ptr
->b
+ ptr
->c
;
46 for (i
= 0; i
< N
; i
++)
48 if (res
[i
].a
!= check_res
[i
].a
49 || res
[i
].b
!= check_res
[i
].b
50 || res
[i
].c
!= check_res
[i
].c
51 || res
[i
].d
!= check_res
[i
].d
52 || res
[i
].e
!= check_res
[i
].e
53 || res
[i
].f
!= check_res
[i
].f
54 || res
[i
].g
!= check_res
[i
].g
55 || res
[i
].h
!= check_res
[i
].h
)
60 /* Not vectorizable: gap in store. */
61 for (i
= 0; i
< N
; i
++)
69 for (i
= 0; i
< N
; i
++)
71 if (res
[i
].a
!= arr
[i
].b
72 || res
[i
].b
!= arr
[i
].c
)
87 for (i
= 0; i
< N
; i
++)
98 check_res
[i
].c
= arr
[i
].b
+ arr
[i
].c
;
99 x
= arr
[i
].c
+ arr
[i
].f
;
100 check_res
[i
].a
= x
+ arr
[i
].b
;
101 check_res
[i
].d
= arr
[i
].b
+ arr
[i
].c
;
102 check_res
[i
].b
= arr
[i
].c
;
103 check_res
[i
].f
= arr
[i
].f
+ arr
[i
].e
;
104 check_res
[i
].e
= arr
[i
].b
+ arr
[i
].e
;
105 check_res
[i
].h
= arr
[i
].c
;
106 check_res
[i
].g
= arr
[i
].b
+ arr
[i
].c
;
108 if (y
) /* Avoid vectorization. */
116 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */