/* { dg-do compile } */ | |
/* { dg-skip-if "" { ! { clmcpu } } } */ | |
/* { dg-options "-mcpu=nps400 -O2 -mbitops" } */ | |
struct thing | |
{ | |
union | |
{ | |
int raw; | |
struct | |
{ | |
unsigned a : 1; | |
unsigned b : 1; | |
unsigned c : 28; | |
unsigned d : 1; | |
unsigned e : 1; | |
}; | |
}; | |
}; | |
extern void func (int); | |
void | |
blah () | |
{ | |
struct thing xx; | |
xx.a = xx.b = 1; | |
func (xx.raw); | |
} | |
void | |
woof () | |
{ | |
struct thing xx; | |
xx.d = xx.e = 1; | |
func (xx.raw); | |
} | |
/* { dg-final { scan-assembler "movh\.cl\\s+r\[0-9\]+,0xc0000000>>16" } } */ |