13 #define B(I) ((I) * 2)
14 #define C(I) ((unsigned short) ~((I) ^ 0x18))
16 void __attribute__ ((noinline
))
22 for (i
= 0; i
< N
; i
++)
29 void __attribute__ ((noinline
))
30 check2 (unsigned short *res
)
35 for (i
= 0; i
< N
; i
++)
36 if (res
[i
] != (unsigned short) (A (i
) + B (i
) + C (i
)))
40 void __attribute__ ((noinline
))
46 for (i
= 0; i
< N
; i
++)
53 void __attribute__ ((noinline
))
54 check4 (unsigned short *res
)
59 for (i
= 0; i
< N
; i
++)
60 if (res
[i
] != (unsigned short) (A (i
) + B (i
)))
64 void __attribute__ ((noinline
))
70 unsigned short res2
[N
];
72 for (i
= 0; i
< N
; i
++)
80 for (i
= 0; i
< N
; i
++)
81 res2
[i
] = arr
[i
].a
+ arr
[i
].b
+ arr
[i
].c
;
84 for (i
= 0; i
< N
; i
++)
92 for (i
= 0; i
< N
; i
++)
93 res2
[i
] = arr
[i
].a
+ arr
[i
].b
;
104 for (i
= 0; i
< N
; i
++)
115 /* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target vect_strided3 } } } */