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
24 blah ()
25 {
26 struct thing xx;
27 xx.a = xx.b = 1;
28 func (xx.raw);
29 }
30
31 void
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" } } */