1 /* PR tree-optimization/78558 */
2
3 #include "tree-vect.h"
4
5 struct S
6 {
7 char p[48];
8 unsigned long long q, r, s;
9 } s[50];
10
11 struct D
12 {
13 unsigned long long q, r;
14 } d[50];
15
16 void
17 foo (void)
18 {
19 unsigned long i;
20 for (i = 0; i < 50; ++i)
21 {
22 d[i].q = s[i].q;
23 d[i].r = s[i].r;
24 }
25 }
26
27 int
28 main ()
29 {
30 check_vect ();
31 unsigned long i;
32 for (i = 0; i < 50; ++i)
33 {
34 s[i].q = i;
35 s[i].r = 50 * i;
36 }
37 asm volatile ("" : : "g" (s), "g" (d) : "memory");
38 foo ();
39 asm volatile ("" : : "g" (s), "g" (d) : "memory");
40 for (i = 0; i < 50; ++i)
41 if (d[i].q != i || d[i].r != 50 * i)
42 abort ();
43 return 0;
44 }