1 /* { dg-require-effective-target vect_int } */
19 __attribute__ ((noinline
)) int
25 unsigned char u
, t
, s
, x
, y
, z
, w
;
27 for (i
= 0; i
< N
; i
++)
33 res
[i
].a
= ptr
->a
+ x
;
37 res
[i
].f
= ptr
->f
+ ptr
->h
;
38 res
[i
].e
= ptr
->b
+ ptr
->e
;
46 for (i
= 0; i
< N
; i
++)
48 if (res
[i
].c
!= arr
[i
].b
- arr
[i
].a
+ arr
[i
].d
- arr
[i
].c
49 || res
[i
].a
!= arr
[i
].a
+ arr
[i
].b
+ arr
[i
].d
50 || res
[i
].d
!= arr
[i
].b
- arr
[i
].a
+ arr
[i
].d
- arr
[i
].c
51 || res
[i
].b
!= arr
[i
].h
- arr
[i
].a
+ arr
[i
].d
- arr
[i
].c
52 || res
[i
].f
!= arr
[i
].f
+ arr
[i
].h
53 || res
[i
].e
!= arr
[i
].b
+ arr
[i
].e
54 || res
[i
].h
!= arr
[i
].d
55 || res
[i
].g
!= arr
[i
].b
- arr
[i
].a
+ arr
[i
].d
- arr
[i
].c
)
68 for (i
= 0; i
< N
; i
++)
78 asm volatile ("" ::: "memory");
86 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_strided8 } } } */