1 /* { dg-do run } */
2 /* { dg-require-effective-target int32plus } */
3 
4 struct __attribute__((packed)) A {  int b : 24; } c[243], f;
5 
6 int d, e, g, j;
7 
8 __attribute__((noipa)) int
foo(int x)9 foo (int x)
10 {
11   if (x != 0)
12     __builtin_abort ();
13   return 2;
14 }
15 
16 int
main()17 main ()
18 {
19   struct A h = f;
20   h.b = 0;
21   while (e++ < 3)
22     {
23       while (d++ < 3)
24 	c[46].b ^= 9890739;
25       f = c[46] = h;
26     }
27   while (g++ < 9)
28     j = foo (c[g * 9 + j].b);
29   return 0;
30 }
31