LWG 3035. std::allocator's constructors should be constexpr
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / vect-89.c
blob051698eada2d296afdc388a9e811259e6798a3d3
1 /* { dg-require-effective-target vect_int } */
3 #include <stdarg.h>
4 #include "tree-vect.h"
6 #if VECTOR_BITS > 256
7 #define N (VECTOR_BITS * 2 / 32)
8 #else
9 #define N 16
10 #endif
12 struct tmp_struct
14 int x;
15 int y[N];
18 __attribute__ ((noinline))
19 int main1 ()
21 int i, *q;
22 struct tmp_struct tmp, *p;
24 p = &tmp;
25 q = p->y;
27 for (i = 0; i < N; i++)
29 *q++ = 5;
32 /* check results: */
33 for (i = 0; i < N; i++)
35 if (p->y[i] != 5)
37 abort ();
41 return 0;
44 int main (void)
46 check_vect ();
48 return main1 ();
51 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
52 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" { xfail { ! vect_align_stack_vars } } } } */
53 /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail { vect_element_align_preferred || { ! vect_align_stack_vars } } } } } */