| /* { 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); | |
| } |