1 /* PR tree-optimization/93582 */
2 /* { dg-do compile { target lp64 } } */
3 /* { dg-options "-O2 -fdump-tree-fre1" } */
4 /* { dg-final { scan-tree-dump "return 9223372036854775806;" "fre1" } } */
5 
6 union U { struct A { unsigned long long a : 1, b : 62, c : 1; } a; unsigned long long i; };
7 
8 unsigned long long
foo(char * p)9 foo (char *p)
10 {
11   __builtin_memset (p - 0xfffffffffffffffULL, 0, 0xffffffffffffffeULL);
12   __builtin_memset (p + 1, 0, 0xffffffffffffffeULL);
13   union U *q = (union U *) (void *) (p - 4);
14   q->a.b = -1;
15   return q->i;
16 }
17