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()24blah () 25 { 26 struct thing xx; 27 xx.a = xx.b = 1; 28 func (xx.raw); 29 } 30 31 void woof()32woof () 33 { 34 struct thing xx; 35 xx.d = xx.e = 1; 36 func (xx.raw); 37 } 38 39 /* { dg-final { scan-assembler "movh\.cl r\[0-9\]+,0xc0000000>>16" } } */ 40