1 /* { dg-require-effective-target vect_int } */
23 __attribute__ ((noinline
)) int
29 unsigned char u
, t
, s
, x
, z
, w
;
31 for (i
= 0; i
< N
; i
++)
37 res
[i
].a
= ptr
->a
+ x
;
41 res
[i
].f
= ptr
->f
+ ptr
->h
;
42 res
[i
].e
= ptr
->b
+ ptr
->e
;
49 for (i
= 0; i
< N
; i
++)
51 if (res
[i
].a
!= check_res
[i
].a
52 || res
[i
].b
!= check_res
[i
].b
53 || res
[i
].c
!= check_res
[i
].c
54 || res
[i
].d
!= check_res
[i
].d
55 || res
[i
].e
!= check_res
[i
].e
56 || res
[i
].f
!= check_res
[i
].f
57 || res
[i
].g
!= check_res
[i
].g
58 || res
[i
].h
!= check_res
[i
].h
)
68 unsigned char u
, t
, s
, x
, z
, w
;
72 for (i
= 0; i
< N
; i
++)
83 u
= arr
[i
].b
- arr
[i
].a
;
84 t
= arr
[i
].d
- arr
[i
].c
;
85 check_res
[i
].c
= u
+ t
;
86 x
= arr
[i
].b
+ arr
[i
].d
;
87 check_res
[i
].a
= arr
[i
].a
+ x
;
88 check_res
[i
].d
= u
+ t
;
89 s
= arr
[i
].h
- arr
[i
].a
;
90 check_res
[i
].b
= s
+ t
;
91 check_res
[i
].f
= arr
[i
].f
+ arr
[i
].h
;
92 check_res
[i
].e
= arr
[i
].b
+ arr
[i
].e
;
93 check_res
[i
].h
= arr
[i
].d
;
94 check_res
[i
].g
= u
+ t
;
96 if (y
) /* Avoid vectorization. */
105 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */