1 /* { dg-do compile } */
2 /* { dg-skip-if "" { ! { clmcpu } } } */
3 /* { dg-options "-mcpu=nps400 -O2 -mbitops" } */
4 
5 struct thing
6 {
7   union
8   {
9     int raw;
10     struct
11     {
12       unsigned a : 1;
13       unsigned b : 1;
14       unsigned c : 28;
15       unsigned d : 1;
16       unsigned e : 1;
17     };
18   };
19 };
20 
21 extern void func (int);
22 
23 void
blah()24 blah ()
25 {
26   struct thing xx;
27   xx.a = xx.b = 1;
28   func (xx.raw);
29 }
30 
31 void
woof()32 woof ()
33 {
34   struct thing xx;
35   xx.d = xx.e = 1;
36   func (xx.raw);
37 }
38 
39 /* { dg-final { scan-assembler "movh\.cl\\s+r\[0-9\]+,0xc0000000>>16" } } */
40