LWG 3035. std::allocator's constructors should be constexpr
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / vect-shift-3.c
bloba1b4b0752291e64d51206fca644e241c8e0063a9
1 /* { dg-require-effective-target vect_shift } */
2 /* { dg-require-effective-target vect_int } */
4 #include "tree-vect.h"
6 #define N 32
8 unsigned short dst[N] __attribute__((aligned(N)));
9 unsigned short src[N] __attribute__((aligned(N)));
11 __attribute__ ((noinline))
12 void array_shift(void)
14 int i;
15 for (i = 0; i < N; i++)
16 dst[i] = src[i] >> 3;
19 int main()
21 volatile int i;
22 check_vect ();
24 for (i = 0; i < N; i++)
25 src[i] = i << 3;
27 array_shift ();
29 for (i = 0; i < N; i++)
30 if (dst[i] != i)
31 abort ();
33 return 0;
36 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */