1 /* { dg-do compile } */
2 /* { dg-require-effective-target store_merge } */
3 /* { dg-options "-O2 -fdump-tree-store-merging" } */
21 __attribute__((noipa
)) void
31 __attribute__((noipa
)) void
39 struct S s
= { 0, 1, 0, 0, 1, 0x3a5f05a };
40 struct T t
= { 0, 0xf5af, 0x3a5a, 1 };
45 asm volatile ("" : : : "memory");
48 asm volatile ("" : : : "memory");
49 if (s
.b1
!= 1 || s
.b2
!= 0 || s
.b3
!= 1 || s
.b4
!= 1 || s
.b5
!= 0 || s
.b6
!= 0x3a5f05a)
51 if (t
.b1
!= 1 || t
.b2
!= 0 || t
.b3
!= 0x3a5a || t
.b4
!= 0)
56 /* { dg-final { scan-tree-dump-times "Merging successful" 2 "store-merging" } } */