blob: 468e0f02fcbceb04a6858a6e7721783057d83dde [file] [log] [blame]
/* PR tree-optimization/72835. */
/* { dg-do run } */
/* { dg-options "-O2" } */
/* { dg-require-effective-target int32plus } */
struct struct_1 {
unsigned int m1 : 6 ;
unsigned int m2 : 24 ;
unsigned int m3 : 6 ;
};
unsigned short var_32 = 0x2d10;
struct struct_1 s1;
void init ()
{
s1.m1 = 4;
s1.m2 = 0x7ca4b8;
s1.m3 = 24;
}
void foo ()
{
unsigned int c
= ((unsigned int) s1.m2) * (-((unsigned int) s1.m3))
+ (var_32) * (-((unsigned int) (s1.m1)));
if (c != 4098873984)
__builtin_abort ();
}
int main ()
{
init ();
foo ();
return 0;
}