2017-09-26 Thomas Koenig <tkoenig@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gcc.dg / pr68835-2.c
blobdd355b17223c4b6fce90147d0315b6bb148c59b3
1 /* PR tree-optimization/68835 */
2 /* { dg-do run { target int128 } } */
3 /* { dg-options "-O2" } */
5 __attribute__((noinline, noclone)) unsigned __int128
6 foo (void)
8 unsigned __int128 x = (unsigned __int128) 0xffffffffffffffffULL;
9 struct { unsigned __int128 a : 65; } w;
10 w.a = x;
11 w.a += x;
12 return w.a;
15 int
16 main ()
18 unsigned __int128 x = foo ();
19 if ((unsigned long long) x != 0xfffffffffffffffeULL
20 || (unsigned long long) (x >> 64) != 1)
21 __builtin_abort ();
22 return 0;