Add __builtion_unreachable to vector::size(), vector::capacity()
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / pr78558.c
blob2c28426eb85fc6663625c542e84860fa7bcfd3c2
1 /* PR tree-optimization/78558 */
3 #include "tree-vect.h"
5 struct S
7 char p[48];
8 unsigned long long q, r, s;
9 } s[50];
11 struct D
13 unsigned long long q, r;
14 } d[50];
16 void
17 foo (void)
19 unsigned long i;
20 for (i = 0; i < 50; ++i)
22 d[i].q = s[i].q;
23 d[i].r = s[i].r;
27 int
28 main ()
30 check_vect ();
31 unsigned long i;
32 for (i = 0; i < 50; ++i)
34 s[i].q = i;
35 s[i].r = 50 * i;
37 asm volatile ("" : : "g" (s), "g" (d) : "memory");
38 foo ();
39 asm volatile ("" : : "g" (s), "g" (d) : "memory");
40 #pragma GCC novector
41 for (i = 0; i < 50; ++i)
42 if (d[i].q != i || d[i].r != 50 * i)
43 abort ();
44 return 0;