2 // { dg-do compile { target int32 } }
3 // { dg-require-effective-target store_merge }
4 // { dg-options "-O2 -flifetime-dse=2 -fdump-tree-store-merging-details" }
5 // { dg-final { scan-tree-dump "New sequence of 2 stores to replace old one of 3 stores" "store-merging" } }
7 /* The alignment is necessary for store-merging to take place on
8 strict-alignment targets. */
9 struct __attribute__ ((__aligned__ (4))) T { char a[128]; };
10 struct S { S () : a () { a.a[12] = 0; a.a[13] = 1; a.a[14] = 0; a.a[15] = 6; } T a; };
12 void bar (void) { S s; foo (s); }