1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-ccp1 -fdump-tree-store-merging" } */
3 
write64(void * p)4 void write64 (void *p)
5 {
6   unsigned *p1 = (unsigned *) __builtin_assume_aligned (p, 8);
7   *p1++ = 0;
8   unsigned *p2 = (unsigned *) __builtin_assume_aligned (p1, 4);
9   *p2++ = 1;
10 }
11 
12 /* { dg-final { scan-tree-dump-times "__builtin_assume_aligned" 1 "ccp1" } } */
13 /* { dg-final { scan-tree-dump "New sequence of 1 stores to replace old one of 2 stores" "store-merging" { target lp64 } } } */
14