1 /* PR target/39226 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2" } */
4 /* { dg-options "-O2 -mtune=cell -mminimal-toc" { target { powerpc*-*-* && lp64 } } } */
5 
6 #if (__SIZEOF_INT__ == 2)
7 struct A
8 {
9   char *a;
10   unsigned int b : 1;
11   unsigned int c : 15;
12 };
13 #else
14 struct A
15 {
16   char *a;
17   unsigned int b : 1;
18   unsigned int c : 31;
19 };
20 #endif
21 
22 struct B
23 {
24   struct A *d;
25 };
26 
27 void
foo(struct B * x,unsigned long y)28 foo (struct B *x, unsigned long y)
29 {
30   if (x->d[y].c)
31     return;
32   if (x->d[y].b)
33     x->d[y].a = 0;
34 }
35