|
/* PR tree-optimization/83241 */
|
|
/* { dg-do compile { target store_merge } } */
|
|
/* { dg-options "-O2" } */
|
|
|
|
struct S { int a; short b[32]; } e;
|
|
struct T { volatile int c; int d; } f;
|
|
|
|
void
|
|
foo ()
|
|
{
|
|
struct T g = f;
|
|
e.b[0] = 6;
|
|
e.b[1] = 6;
|
|
e.b[4] = g.d;
|
|
e.b[5] = g.d >> 16;
|
|
e.a = 1;
|
|
}
|