2 typedef __UINT64_TYPE__
uint64_t;
4 typedef unsigned long long uint64_t;
7 #ifndef __SIZEOF_INT128__
8 #define __int128 long long
11 /* Some version of bswap optimization would ICE when analyzing a mask constant
12 too big for an uint64_t variable (PR210931). */
14 __attribute__ ((noinline
, noclone
)) uint64_t
15 uint128_central_bitsi_ior (unsigned __int128 in1
, uint64_t in2
)
17 __int128 mask
= (__int128
)0xffff << 56;
18 return ((in1
& mask
) >> 56) | in2
;
22 main(int argc
, char **argv
)
25 #ifdef __SIZEOF_INT128__
28 if (sizeof (uint64_t) * __CHAR_BIT__
!= 64)
30 if (sizeof (unsigned __int128
) * __CHAR_BIT__
!= 128)
32 if (uint128_central_bitsi_ior (in
, 2) != 0x102)