1 /* { dg-do compile } */
2 /* { dg-options "-O3 -march=haswell" } */
3 
4 struct _GPart {
5   int *g;
6 };
7 static int b, d, e;
8 int *c, *f, *g;
9 int a;
10 
11 int fn2(int, int);
12 
fn1(int p1)13 int fn1(int p1) {
14   int h = fn2(p1, (int)(long)&e);
15   for (; d < e; d++)
16     if (f[d] != a)
17       h += g ? g[f[d]] : 1;
18   return h;
19 }
20 
main()21 int main() {
22   struct _GPart *i;
23   for (; b < (int)(long)(i->g); b++)
24     c[b] = fn1((int)(long)i->g);
25 }
26