1/* PR target/56564 */
2/* { dg-do compile { target { *-*-linux* && lp64 } } } */
3/* { dg-options "-O3 -fno-pic -fno-ipa-icf -fdump-tree-optimized" } */
4
5struct S { long a, b; } s = { 5, 6 };
6char t[16] = { 7 };
7
8int
9foo (void)
10{
11  return ((__UINTPTR_TYPE__) &s) & 15;
12}
13
14int
15bar (void)
16{
17  return ((__UINTPTR_TYPE__) &t[0]) & 15;
18}
19
20/* { dg-final { scan-tree-dump-times "&s" 0 "optimized" } } */
21/* { dg-final { scan-tree-dump-times "&t" 0 "optimized" } } */
22/* { dg-final { scan-tree-dump-times "return 0" 2 "optimized" } } */
23/* { dg-final { scan-assembler ".align\[ \t]*16\[^:]*\[\n\r]s:" { target { *-*-linux* } } } } */
24/* { dg-final { scan-assembler ".align\[ \t]*16\[^:]*\[\n\r]t:" { target { *-*-linux* } } } } */
25/* { dg-final { cleanup-tree-dump "optimized" } } */
26