1 /* PR tree-optimization/63302 */
3 #ifdef __SIZEOF_INT128__
4 #if __SIZEOF_INT128__ * __CHAR_BIT__ == 128
8 #if __SIZEOF_LONG_LONG__ * __CHAR_BIT__ == 64
13 __attribute__((noinline
, noclone
)) int
16 __int128 v
= x
& (((__int128
) -1 << 63) | 0x7ff);
18 return v
== 0 || v
== ((__int128
) -1 << 63);
23 __attribute__((noinline
, noclone
)) int
26 long long v
= x
& (((long long) -1 << 31) | 0x7ff);
28 return v
== 0 || v
== ((long long) -1 << 31);
40 || foo ((__int128
) 1 << 63) != 0
41 || foo ((__int128
) -1 << 63) != 1
42 || foo (((__int128
) -1 << 63) | 1) != 0
43 || foo (((__int128
) -1 << 63) | 0x800) != 1
44 || foo (((__int128
) -1 << 63) | 0x801) != 0)
52 || bar (1LL << 31) != 0
53 || bar (-1LL << 31) != 1
54 || bar ((-1LL << 31) | 1) != 0
55 || bar ((-1LL << 31) | 0x800) != 1
56 || bar ((-1LL << 31) | 0x801) != 0)