/* { dg-options "-mthumb -O2" } */ | |
/* { dg-require-effective-target arm_thumb2_ok } */ | |
/* { dg-final { scan-assembler-not "-32768" } } */ | |
typedef union | |
{ | |
unsigned long int u_32_value; | |
struct | |
{ | |
unsigned short int u_16_value_0; | |
unsigned short int u_16_value_1; | |
} u_16_values; | |
} my_union; | |
unsigned long int Test(const unsigned short int wXe) | |
{ | |
my_union dwCalcVal; | |
dwCalcVal.u_16_values.u_16_value_0=wXe; | |
dwCalcVal.u_16_values.u_16_value_1=0x8000u; | |
dwCalcVal.u_32_value /=3; | |
return (dwCalcVal.u_32_value); | |
} |