13 #define B(I) ((I) * 2)
14 #define C(I) ((unsigned short) ~((I) ^ 0x18))
16 void __attribute__ ((noinline
))
21 for (i
= 0; i
< N
; i
++)
28 void __attribute__ ((noinline
))
29 check2 (unsigned short *res
)
33 for (i
= 0; i
< N
; i
++)
34 if (res
[i
] != (unsigned short) (A (i
) + B (i
) + C (i
)))
38 void __attribute__ ((noinline
))
43 for (i
= 0; i
< N
; i
++)
50 void __attribute__ ((noinline
))
51 check4 (unsigned short *res
)
55 for (i
= 0; i
< N
; i
++)
56 if (res
[i
] != (unsigned short) (A (i
) + B (i
)))
60 void __attribute__ ((noinline
))
66 unsigned short res2
[N
];
68 for (i
= 0; i
< N
; i
++)
76 for (i
= 0; i
< N
; i
++)
77 res2
[i
] = arr
[i
].a
+ arr
[i
].b
+ arr
[i
].c
;
80 for (i
= 0; i
< N
; i
++)
88 for (i
= 0; i
< N
; i
++)
89 res2
[i
] = arr
[i
].a
+ arr
[i
].b
;
100 for (i
= 0; i
< N
; i
++)
111 /* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target vect_strided3 } } } */
112 /* { dg-final { cleanup-tree-dump "vect" } } */