blob: 6ba95ad3a47adf2667c1cb99dd276e85677cfe6f [file] [log] [blame]
/* { dg-do run } */
/* { dg-options "-std=c11" } */
unsigned int
leading_zeros (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_leading_zeros (a)
+ __builtin_stdc_leading_zeros (b)
+ __builtin_stdc_leading_zeros (c)
+ __builtin_stdc_leading_zeros (d)
+ __builtin_stdc_leading_zeros (e));
}
unsigned int
leading_ones (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_leading_ones (a)
+ __builtin_stdc_leading_ones (b)
+ __builtin_stdc_leading_ones (c)
+ __builtin_stdc_leading_ones (d)
+ __builtin_stdc_leading_ones (e));
}
unsigned int
trailing_zeros (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_trailing_zeros (a)
+ __builtin_stdc_trailing_zeros (b)
+ __builtin_stdc_trailing_zeros (c)
+ __builtin_stdc_trailing_zeros (d)
+ __builtin_stdc_trailing_zeros (e));
}
unsigned int
trailing_ones (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_trailing_ones (a)
+ __builtin_stdc_trailing_ones (b)
+ __builtin_stdc_trailing_ones (c)
+ __builtin_stdc_trailing_ones (d)
+ __builtin_stdc_trailing_ones (e));
}
unsigned int
first_leading_zero (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_first_leading_zero (a)
+ __builtin_stdc_first_leading_zero (b)
+ __builtin_stdc_first_leading_zero (c)
+ __builtin_stdc_first_leading_zero (d)
+ __builtin_stdc_first_leading_zero (e));
}
unsigned int
first_leading_one (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_first_leading_one (a)
+ __builtin_stdc_first_leading_one (b)
+ __builtin_stdc_first_leading_one (c)
+ __builtin_stdc_first_leading_one (d)
+ __builtin_stdc_first_leading_one (e));
}
unsigned int
first_trailing_zero (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_first_trailing_zero (a)
+ __builtin_stdc_first_trailing_zero (b)
+ __builtin_stdc_first_trailing_zero (c)
+ __builtin_stdc_first_trailing_zero (d)
+ __builtin_stdc_first_trailing_zero (e));
}
unsigned int
first_trailing_one (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_first_trailing_one (a)
+ __builtin_stdc_first_trailing_one (b)
+ __builtin_stdc_first_trailing_one (c)
+ __builtin_stdc_first_trailing_one (d)
+ __builtin_stdc_first_trailing_one (e));
}
unsigned int
count_zeros (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_count_zeros (a)
+ __builtin_stdc_count_zeros (b)
+ __builtin_stdc_count_zeros (c)
+ __builtin_stdc_count_zeros (d)
+ __builtin_stdc_count_zeros (e));
}
unsigned int
count_ones (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_count_ones (a)
+ __builtin_stdc_count_ones (b)
+ __builtin_stdc_count_ones (c)
+ __builtin_stdc_count_ones (d)
+ __builtin_stdc_count_ones (e));
}
unsigned int
has_single_bit (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_has_single_bit (a)
|| __builtin_stdc_has_single_bit (b)
|| __builtin_stdc_has_single_bit (c)
|| __builtin_stdc_has_single_bit (d)
|| __builtin_stdc_has_single_bit (e));
}
unsigned int
bit_width (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_bit_width (a)
+ __builtin_stdc_bit_width (b)
+ __builtin_stdc_bit_width (c)
+ __builtin_stdc_bit_width (d)
+ __builtin_stdc_bit_width (e));
}
unsigned long long
bit_floor (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_bit_floor (a)
+ __builtin_stdc_bit_floor (b)
+ __builtin_stdc_bit_floor (c)
+ __builtin_stdc_bit_floor (d)
+ __builtin_stdc_bit_floor (e));
}
unsigned long long
bit_ceil (unsigned char a, unsigned short b, unsigned int c,
unsigned long d, unsigned long long e)
{
return (__builtin_stdc_bit_ceil (a)
+ __builtin_stdc_bit_ceil (b)
+ __builtin_stdc_bit_ceil (c)
+ __builtin_stdc_bit_ceil (d)
+ __builtin_stdc_bit_ceil (e));
}
#define expr_has_type(e, t) _Generic (e, default : 0, t : 1)
int
main ()
{
if (__builtin_stdc_leading_zeros ((unsigned char) 0) != __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_leading_zeros ((unsigned char) 0), unsigned int)
|| __builtin_stdc_leading_zeros ((unsigned short) 0) != __SIZEOF_SHORT__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_leading_zeros ((unsigned short) 0), unsigned int)
|| __builtin_stdc_leading_zeros (0U) != __SIZEOF_INT__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_leading_zeros (0U), unsigned int)
|| __builtin_stdc_leading_zeros (0UL) != __SIZEOF_LONG__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_leading_zeros (0UL), unsigned int)
|| __builtin_stdc_leading_zeros (0ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_leading_zeros (0ULL), unsigned int))
__builtin_abort ();
if (__builtin_stdc_leading_zeros ((unsigned char) ~0U) != 0
|| __builtin_stdc_leading_zeros ((unsigned short) ~0U) != 0
|| __builtin_stdc_leading_zeros (~0U) != 0
|| __builtin_stdc_leading_zeros (~0UL) != 0
|| __builtin_stdc_leading_zeros (~0ULL) != 0)
__builtin_abort ();
if (__builtin_stdc_leading_zeros ((unsigned char) 3) != __CHAR_BIT__ - 2
|| __builtin_stdc_leading_zeros ((unsigned short) 9) != __SIZEOF_SHORT__ * __CHAR_BIT__ - 4
|| __builtin_stdc_leading_zeros (34U) != __SIZEOF_INT__ * __CHAR_BIT__ - 6
|| __builtin_stdc_leading_zeros (130UL) != __SIZEOF_LONG__ * __CHAR_BIT__ - 8
|| __builtin_stdc_leading_zeros (512ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 10)
__builtin_abort ();
if (__builtin_stdc_leading_ones ((unsigned char) 0) != 0
|| !expr_has_type (__builtin_stdc_leading_ones ((unsigned char) 0), unsigned int)
|| __builtin_stdc_leading_ones ((unsigned short) 0) != 0
|| !expr_has_type (__builtin_stdc_leading_ones ((unsigned short) 0), unsigned int)
|| __builtin_stdc_leading_ones (0U) != 0
|| !expr_has_type (__builtin_stdc_leading_ones (0U), unsigned int)
|| __builtin_stdc_leading_ones (0UL) != 0
|| !expr_has_type (__builtin_stdc_leading_ones (0UL), unsigned int)
|| __builtin_stdc_leading_ones (0ULL) != 0
|| !expr_has_type (__builtin_stdc_leading_ones (0ULL), unsigned int))
__builtin_abort ();
if (__builtin_stdc_leading_ones ((unsigned char) ~0U) != __CHAR_BIT__
|| __builtin_stdc_leading_ones ((unsigned short) ~0U) != __SIZEOF_SHORT__ * __CHAR_BIT__
|| __builtin_stdc_leading_ones (~0U) != __SIZEOF_INT__ * __CHAR_BIT__
|| __builtin_stdc_leading_ones (~0UL) != __SIZEOF_LONG__ * __CHAR_BIT__
|| __builtin_stdc_leading_ones (~0ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__)
__builtin_abort ();
if (__builtin_stdc_leading_ones ((unsigned char) ~3) != __CHAR_BIT__ - 2
|| __builtin_stdc_leading_ones ((unsigned short) ~9) != __SIZEOF_SHORT__ * __CHAR_BIT__ - 4
|| __builtin_stdc_leading_ones (~34U) != __SIZEOF_INT__ * __CHAR_BIT__ - 6
|| __builtin_stdc_leading_ones (~130UL) != __SIZEOF_LONG__ * __CHAR_BIT__ - 8
|| __builtin_stdc_leading_ones (~512ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 10)
__builtin_abort ();
if (__builtin_stdc_trailing_zeros ((unsigned char) 0) != __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_trailing_zeros ((unsigned char) 0), unsigned int)
|| __builtin_stdc_trailing_zeros ((unsigned short) 0) != __SIZEOF_SHORT__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_trailing_zeros ((unsigned short) 0), unsigned int)
|| __builtin_stdc_trailing_zeros (0U) != __SIZEOF_INT__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_trailing_zeros (0U), unsigned int)
|| __builtin_stdc_trailing_zeros (0UL) != __SIZEOF_LONG__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_trailing_zeros (0UL), unsigned int)
|| __builtin_stdc_trailing_zeros (0ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_trailing_zeros (0ULL), unsigned int))
__builtin_abort ();
if (__builtin_stdc_trailing_zeros ((unsigned char) ~0U) != 0
|| __builtin_stdc_trailing_zeros ((unsigned short) ~0U) != 0
|| __builtin_stdc_trailing_zeros (~0U) != 0
|| __builtin_stdc_trailing_zeros (~0UL) != 0
|| __builtin_stdc_trailing_zeros (~0ULL) != 0)
__builtin_abort ();
if (__builtin_stdc_trailing_zeros ((unsigned char) 2) != 1
|| __builtin_stdc_trailing_zeros ((unsigned short) 24) != 3
|| __builtin_stdc_trailing_zeros (32U) != 5
|| __builtin_stdc_trailing_zeros (128UL) != 7
|| __builtin_stdc_trailing_zeros (512ULL) != 9)
__builtin_abort ();
if (__builtin_stdc_trailing_ones ((unsigned char) 0) != 0
|| !expr_has_type (__builtin_stdc_trailing_ones ((unsigned char) 0), unsigned int)
|| __builtin_stdc_trailing_ones ((unsigned short) 0) != 0
|| !expr_has_type (__builtin_stdc_trailing_ones ((unsigned short) 0), unsigned int)
|| __builtin_stdc_trailing_ones (0U) != 0
|| !expr_has_type (__builtin_stdc_trailing_ones (0U), unsigned int)
|| __builtin_stdc_trailing_ones (0UL) != 0
|| !expr_has_type (__builtin_stdc_trailing_ones (0UL), unsigned int)
|| __builtin_stdc_trailing_ones (0ULL) != 0
|| !expr_has_type (__builtin_stdc_trailing_ones (0ULL), unsigned int))
__builtin_abort ();
if (__builtin_stdc_trailing_ones ((unsigned char) ~0U) != __CHAR_BIT__
|| __builtin_stdc_trailing_ones ((unsigned short) ~0U) != __SIZEOF_SHORT__ * __CHAR_BIT__
|| __builtin_stdc_trailing_ones (~0U) != __SIZEOF_INT__ * __CHAR_BIT__
|| __builtin_stdc_trailing_ones (~0UL) != __SIZEOF_LONG__ * __CHAR_BIT__
|| __builtin_stdc_trailing_ones (~0ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__)
__builtin_abort ();
if (__builtin_stdc_trailing_ones ((unsigned char) 5) != 1
|| __builtin_stdc_trailing_ones ((unsigned short) 15) != 4
|| __builtin_stdc_trailing_ones (127U) != 7
|| __builtin_stdc_trailing_ones (511UL) != 9
|| __builtin_stdc_trailing_ones (~0ULL >> 2) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 2)
__builtin_abort ();
if (__builtin_stdc_first_leading_zero ((unsigned char) 0) != 1
|| !expr_has_type (__builtin_stdc_first_leading_zero ((unsigned char) 0), unsigned int)
|| __builtin_stdc_first_leading_zero ((unsigned short) 0) != 1
|| !expr_has_type (__builtin_stdc_first_leading_zero ((unsigned short) 0), unsigned int)
|| __builtin_stdc_first_leading_zero (0U) != 1
|| !expr_has_type (__builtin_stdc_first_leading_zero (0U), unsigned int)
|| __builtin_stdc_first_leading_zero (0UL) != 1
|| !expr_has_type (__builtin_stdc_first_leading_zero (0UL), unsigned int)
|| __builtin_stdc_first_leading_zero (0ULL) != 1
|| !expr_has_type (__builtin_stdc_first_leading_zero (0ULL), unsigned int))
__builtin_abort ();
if (__builtin_stdc_first_leading_zero ((unsigned char) ~0U) != 0
|| __builtin_stdc_first_leading_zero ((unsigned short) ~0U) != 0
|| __builtin_stdc_first_leading_zero (~0U) != 0
|| __builtin_stdc_first_leading_zero (~0UL) != 0
|| __builtin_stdc_first_leading_zero (~0ULL) != 0)
__builtin_abort ();
if (__builtin_stdc_first_leading_zero ((unsigned char) ~3U) != __CHAR_BIT__ - 1
|| __builtin_stdc_first_leading_zero ((unsigned short) ~15U) != __SIZEOF_SHORT__ * __CHAR_BIT__ - 3
|| __builtin_stdc_first_leading_zero (~63U) != __SIZEOF_INT__ * __CHAR_BIT__ - 5
|| __builtin_stdc_first_leading_zero (~255UL) != __SIZEOF_LONG__ * __CHAR_BIT__ - 7
|| __builtin_stdc_first_leading_zero (~1023ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 9)
__builtin_abort ();
if (__builtin_stdc_first_leading_one ((unsigned char) 0) != 0
|| !expr_has_type (__builtin_stdc_first_leading_one ((unsigned char) 0), unsigned int)
|| __builtin_stdc_first_leading_one ((unsigned short) 0) != 0
|| !expr_has_type (__builtin_stdc_first_leading_one ((unsigned short) 0), unsigned int)
|| __builtin_stdc_first_leading_one (0U) != 0
|| !expr_has_type (__builtin_stdc_first_leading_one (0U), unsigned int)
|| __builtin_stdc_first_leading_one (0UL) != 0
|| !expr_has_type (__builtin_stdc_first_leading_one (0UL), unsigned int)
|| __builtin_stdc_first_leading_one (0ULL) != 0
|| !expr_has_type (__builtin_stdc_first_leading_one (0ULL), unsigned int))
__builtin_abort ();
if (__builtin_stdc_first_leading_one ((unsigned char) ~0U) != 1
|| __builtin_stdc_first_leading_one ((unsigned short) ~0U) != 1
|| __builtin_stdc_first_leading_one (~0U) != 1
|| __builtin_stdc_first_leading_one (~0UL) != 1
|| __builtin_stdc_first_leading_one (~0ULL) != 1)
__builtin_abort ();
if (__builtin_stdc_first_leading_one ((unsigned char) 3) != __CHAR_BIT__ - 1
|| __builtin_stdc_first_leading_one ((unsigned short) 9) != __SIZEOF_SHORT__ * __CHAR_BIT__ - 3
|| __builtin_stdc_first_leading_one (34U) != __SIZEOF_INT__ * __CHAR_BIT__ - 5
|| __builtin_stdc_first_leading_one (130UL) != __SIZEOF_LONG__ * __CHAR_BIT__ - 7
|| __builtin_stdc_first_leading_one (512ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 9)
__builtin_abort ();
if (__builtin_stdc_first_trailing_zero ((unsigned char) 0) != 1
|| !expr_has_type (__builtin_stdc_first_trailing_zero ((unsigned char) 0), unsigned int)
|| __builtin_stdc_first_trailing_zero ((unsigned short) 0) != 1
|| !expr_has_type (__builtin_stdc_first_trailing_zero ((unsigned short) 0), unsigned int)
|| __builtin_stdc_first_trailing_zero (0U) != 1
|| !expr_has_type (__builtin_stdc_first_trailing_zero (0U), unsigned int)
|| __builtin_stdc_first_trailing_zero (0UL) != 1
|| !expr_has_type (__builtin_stdc_first_trailing_zero (0UL), unsigned int)
|| __builtin_stdc_first_trailing_zero (0ULL) != 1
|| !expr_has_type (__builtin_stdc_first_trailing_zero (0ULL), unsigned int))
__builtin_abort ();
if (__builtin_stdc_first_trailing_zero ((unsigned char) ~0U) != 0
|| __builtin_stdc_first_trailing_zero ((unsigned short) ~0U) != 0
|| __builtin_stdc_first_trailing_zero (~0U) != 0
|| __builtin_stdc_first_trailing_zero (~0UL) != 0
|| __builtin_stdc_first_trailing_zero (~0ULL) != 0)
__builtin_abort ();
if (__builtin_stdc_first_trailing_zero ((unsigned char) 2) != 1
|| __builtin_stdc_first_trailing_zero ((unsigned short) 15) != 5
|| __builtin_stdc_first_trailing_zero (63U) != 7
|| __builtin_stdc_first_trailing_zero (128UL) != 1
|| __builtin_stdc_first_trailing_zero (511ULL) != 10)
__builtin_abort ();
if (__builtin_stdc_first_trailing_one ((unsigned char) 0) != 0
|| !expr_has_type (__builtin_stdc_first_trailing_one ((unsigned char) 0), unsigned int)
|| __builtin_stdc_first_trailing_one ((unsigned short) 0) != 0
|| !expr_has_type (__builtin_stdc_first_trailing_one ((unsigned short) 0), unsigned int)
|| __builtin_stdc_first_trailing_one (0U) != 0
|| !expr_has_type (__builtin_stdc_first_trailing_one (0U), unsigned int)
|| __builtin_stdc_first_trailing_one (0UL) != 0
|| !expr_has_type (__builtin_stdc_first_trailing_one (0UL), unsigned int)
|| __builtin_stdc_first_trailing_one (0ULL) != 0
|| !expr_has_type (__builtin_stdc_first_trailing_one (0ULL), unsigned int))
__builtin_abort ();
if (__builtin_stdc_first_trailing_one ((unsigned char) ~0U) != 1
|| __builtin_stdc_first_trailing_one ((unsigned short) ~0U) != 1
|| __builtin_stdc_first_trailing_one (~0U) != 1
|| __builtin_stdc_first_trailing_one (~0UL) != 1
|| __builtin_stdc_first_trailing_one (~0ULL) != 1)
__builtin_abort ();
if (__builtin_stdc_first_trailing_one ((unsigned char) 4) != 3
|| __builtin_stdc_first_trailing_one ((unsigned short) 96) != 6
|| __builtin_stdc_first_trailing_one (127U) != 1
|| __builtin_stdc_first_trailing_one (511UL) != 1
|| __builtin_stdc_first_trailing_one (~0ULL << 12) != 13)
__builtin_abort ();
if (__builtin_stdc_count_zeros ((unsigned char) 0) != __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_count_zeros ((unsigned char) 0), unsigned int)
|| __builtin_stdc_count_zeros ((unsigned short) 0) != __SIZEOF_SHORT__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_count_zeros ((unsigned short) 0), unsigned int)
|| __builtin_stdc_count_zeros (0U) != __SIZEOF_INT__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_count_zeros (0U), unsigned int)
|| __builtin_stdc_count_zeros (0UL) != __SIZEOF_LONG__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_count_zeros (0UL), unsigned int)
|| __builtin_stdc_count_zeros (0ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_count_zeros (0ULL), unsigned int))
__builtin_abort ();
if (__builtin_stdc_count_zeros ((unsigned char) ~0U) != 0
|| __builtin_stdc_count_zeros ((unsigned short) ~0U) != 0
|| __builtin_stdc_count_zeros (~0U) != 0
|| __builtin_stdc_count_zeros (~0UL) != 0
|| __builtin_stdc_count_zeros (~0ULL) != 0)
__builtin_abort ();
if (__builtin_stdc_count_zeros ((unsigned char) 1U) != __CHAR_BIT__ - 1
|| __builtin_stdc_count_zeros ((unsigned short) 42) != __SIZEOF_SHORT__ * __CHAR_BIT__ - 3
|| __builtin_stdc_count_zeros (291U) != __SIZEOF_INT__ * __CHAR_BIT__ - 4
|| __builtin_stdc_count_zeros (~1315UL) != 5
|| __builtin_stdc_count_zeros (3363ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 6)
__builtin_abort ();
if (__builtin_stdc_count_ones ((unsigned char) 0) != 0
|| !expr_has_type (__builtin_stdc_count_ones ((unsigned char) 0), unsigned int)
|| __builtin_stdc_count_ones ((unsigned short) 0) != 0
|| !expr_has_type (__builtin_stdc_count_ones ((unsigned short) 0), unsigned int)
|| __builtin_stdc_count_ones (0U) != 0
|| !expr_has_type (__builtin_stdc_count_ones (0U), unsigned int)
|| __builtin_stdc_count_ones (0UL) != 0
|| !expr_has_type (__builtin_stdc_count_ones (0UL), unsigned int)
|| __builtin_stdc_count_ones (0ULL) != 0
|| !expr_has_type (__builtin_stdc_count_ones (0ULL), unsigned int))
__builtin_abort ();
if (__builtin_stdc_count_ones ((unsigned char) ~0U) != __CHAR_BIT__
|| __builtin_stdc_count_ones ((unsigned short) ~0U) != __SIZEOF_SHORT__ * __CHAR_BIT__
|| __builtin_stdc_count_ones (~0U) != __SIZEOF_INT__ * __CHAR_BIT__
|| __builtin_stdc_count_ones (~0UL) != __SIZEOF_LONG__ * __CHAR_BIT__
|| __builtin_stdc_count_ones (~0ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__)
__builtin_abort ();
if (__builtin_stdc_count_ones ((unsigned char) ~1U) != __CHAR_BIT__ - 1
|| __builtin_stdc_count_ones ((unsigned short) ~42) != __SIZEOF_SHORT__ * __CHAR_BIT__ - 3
|| __builtin_stdc_count_ones (~291U) != __SIZEOF_INT__ * __CHAR_BIT__ - 4
|| __builtin_stdc_count_ones (1315UL) != 5
|| __builtin_stdc_count_ones (~3363ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 6)
__builtin_abort ();
if (__builtin_stdc_has_single_bit ((unsigned char) 0)
|| !expr_has_type (__builtin_stdc_has_single_bit ((unsigned char) 0), _Bool)
|| __builtin_stdc_has_single_bit ((unsigned short) 0)
|| !expr_has_type (__builtin_stdc_has_single_bit ((unsigned short) 0), _Bool)
|| __builtin_stdc_has_single_bit (0U)
|| !expr_has_type (__builtin_stdc_has_single_bit (0U), _Bool)
|| __builtin_stdc_has_single_bit (0UL)
|| !expr_has_type (__builtin_stdc_has_single_bit (0UL), _Bool)
|| __builtin_stdc_has_single_bit (0ULL)
|| !expr_has_type (__builtin_stdc_has_single_bit (0ULL), _Bool))
__builtin_abort ();
if (!__builtin_stdc_has_single_bit ((unsigned char) 2)
|| !__builtin_stdc_has_single_bit ((unsigned short) 8)
|| !__builtin_stdc_has_single_bit (32U)
|| !__builtin_stdc_has_single_bit (128UL)
|| !__builtin_stdc_has_single_bit (512ULL))
__builtin_abort ();
if (__builtin_stdc_has_single_bit ((unsigned char) 7)
|| __builtin_stdc_has_single_bit ((unsigned short) 96)
|| __builtin_stdc_has_single_bit (513U)
|| __builtin_stdc_has_single_bit (1022UL)
|| __builtin_stdc_has_single_bit (12ULL))
__builtin_abort ();
if (__builtin_stdc_bit_width ((unsigned char) 0) != 0
|| !expr_has_type (__builtin_stdc_bit_width ((unsigned char) 0), unsigned int)
|| __builtin_stdc_bit_width ((unsigned short) 0) != 0
|| !expr_has_type (__builtin_stdc_bit_width ((unsigned short) 0), unsigned int)
|| __builtin_stdc_bit_width (0U) != 0
|| !expr_has_type (__builtin_stdc_bit_width (0U), unsigned int)
|| __builtin_stdc_bit_width (0UL) != 0
|| !expr_has_type (__builtin_stdc_bit_width (0UL), unsigned int)
|| __builtin_stdc_bit_width (0ULL) != 0
|| !expr_has_type (__builtin_stdc_bit_width (0ULL), unsigned int))
__builtin_abort ();
if (__builtin_stdc_bit_width ((unsigned char) ~0U) != __CHAR_BIT__
|| __builtin_stdc_bit_width ((unsigned short) ~0U) != __SIZEOF_SHORT__ * __CHAR_BIT__
|| __builtin_stdc_bit_width (~0U) != __SIZEOF_INT__ * __CHAR_BIT__
|| __builtin_stdc_bit_width (~0UL) != __SIZEOF_LONG__ * __CHAR_BIT__
|| __builtin_stdc_bit_width (~0ULL) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__)
__builtin_abort ();
if (__builtin_stdc_bit_width ((unsigned char) ((unsigned char) ~0U >> 1)) != __CHAR_BIT__ - 1
|| __builtin_stdc_bit_width ((unsigned char) 6) != 3
|| __builtin_stdc_bit_width ((unsigned short) 12U) != 4
|| __builtin_stdc_bit_width ((unsigned short) ((unsigned short) ~0U >> 5)) != __SIZEOF_SHORT__ * __CHAR_BIT__ - 5
|| __builtin_stdc_bit_width (137U) != 8
|| __builtin_stdc_bit_width (269U) != 9
|| __builtin_stdc_bit_width (39UL) != 6
|| __builtin_stdc_bit_width (~0UL >> 2) != __SIZEOF_LONG__ * __CHAR_BIT__ - 2
|| __builtin_stdc_bit_width (1023ULL) != 10
|| __builtin_stdc_bit_width (1024ULL) != 11)
__builtin_abort ();
if (__builtin_stdc_bit_floor ((unsigned char) 0) != 0
|| !expr_has_type (__builtin_stdc_bit_floor ((unsigned char) 0), unsigned char)
|| __builtin_stdc_bit_floor ((unsigned short) 0) != 0
|| !expr_has_type (__builtin_stdc_bit_floor ((unsigned short) 0), unsigned short)
|| __builtin_stdc_bit_floor (0U) != 0U
|| !expr_has_type (__builtin_stdc_bit_floor (0U), unsigned int)
|| __builtin_stdc_bit_floor (0UL) != 0UL
|| !expr_has_type (__builtin_stdc_bit_floor (0UL), unsigned long)
|| __builtin_stdc_bit_floor (0ULL) != 0ULL
|| !expr_has_type (__builtin_stdc_bit_floor (0ULL), unsigned long long))
__builtin_abort ();
if (__builtin_stdc_bit_floor ((unsigned char) ~0U) != (1U << (__CHAR_BIT__ - 1))
|| __builtin_stdc_bit_floor ((unsigned short) ~0U) != (1U << (__SIZEOF_SHORT__ * __CHAR_BIT__ - 1))
|| __builtin_stdc_bit_floor (~0U) != (1U << (__SIZEOF_INT__ * __CHAR_BIT__ - 1))
|| __builtin_stdc_bit_floor (~0UL) != (1UL << (__SIZEOF_LONG__ * __CHAR_BIT__ - 1))
|| __builtin_stdc_bit_floor (~0ULL) != (1ULL << (__SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 1)))
__builtin_abort ();
if (__builtin_stdc_bit_floor ((unsigned char) 4) != 4
|| __builtin_stdc_bit_floor ((unsigned char) 7) != 4
|| __builtin_stdc_bit_floor ((unsigned short) 8U) != 8
|| __builtin_stdc_bit_floor ((unsigned short) 31U) != 16
|| __builtin_stdc_bit_floor (137U) != 128U
|| __builtin_stdc_bit_floor (269U) != 256U
|| __builtin_stdc_bit_floor (511UL) != 256UL
|| __builtin_stdc_bit_floor (512UL) != 512UL
|| __builtin_stdc_bit_floor (513UL) != 512ULL
|| __builtin_stdc_bit_floor (1024ULL) != 1024ULL)
__builtin_abort ();
if (__builtin_stdc_bit_ceil ((unsigned char) 0) != 1
|| !expr_has_type (__builtin_stdc_bit_ceil ((unsigned char) 0), unsigned char)
|| __builtin_stdc_bit_ceil ((unsigned short) 0) != 1
|| !expr_has_type (__builtin_stdc_bit_ceil ((unsigned short) 0), unsigned short)
|| __builtin_stdc_bit_ceil (0U) != 1U
|| !expr_has_type (__builtin_stdc_bit_ceil (0U), unsigned int)
|| __builtin_stdc_bit_ceil (0UL) != 1UL
|| !expr_has_type (__builtin_stdc_bit_ceil (0UL), unsigned long)
|| __builtin_stdc_bit_ceil (0ULL) != 1ULL
|| !expr_has_type (__builtin_stdc_bit_ceil (0ULL), unsigned long long))
__builtin_abort ();
if (__builtin_stdc_bit_ceil ((unsigned char) ~0U) != 0
|| __builtin_stdc_bit_ceil ((unsigned short) ~0U) != 0
|| __builtin_stdc_bit_ceil (~0U) != 0U
|| __builtin_stdc_bit_ceil (~0UL) != 0UL
|| __builtin_stdc_bit_ceil (~0ULL) != 0ULL)
__builtin_abort ();
if (__builtin_stdc_bit_ceil ((unsigned char) ((unsigned char) ~0U >> 1)) != (1U << (__CHAR_BIT__ - 1))
|| __builtin_stdc_bit_ceil ((unsigned char) ((unsigned char) ~0U >> 1)) != (1U << (__CHAR_BIT__ - 1))
|| __builtin_stdc_bit_ceil ((unsigned short) ((unsigned short) ~0U >> 1)) != (1U << (__SIZEOF_SHORT__ * __CHAR_BIT__ - 1))
|| __builtin_stdc_bit_ceil ((unsigned short) ((unsigned short) ~0U >> 1)) != (1U << (__SIZEOF_SHORT__ * __CHAR_BIT__ - 1))
|| __builtin_stdc_bit_ceil (~0U >> 1) != (1U << (__SIZEOF_INT__ * __CHAR_BIT__ - 1))
|| __builtin_stdc_bit_ceil (1U << (__SIZEOF_INT__ * __CHAR_BIT__ - 1)) != (1U << (__SIZEOF_INT__ * __CHAR_BIT__ - 1))
|| __builtin_stdc_bit_ceil (~0UL >> 1) != (1UL << (__SIZEOF_LONG__ * __CHAR_BIT__ - 1))
|| __builtin_stdc_bit_ceil (~0UL >> 1) != (1UL << (__SIZEOF_LONG__ * __CHAR_BIT__ - 1))
|| __builtin_stdc_bit_ceil (1ULL << (__SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 1)) != (1ULL << (__SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 1))
|| __builtin_stdc_bit_ceil (~0ULL >> 1) != (1ULL << (__SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 1)))
__builtin_abort ();
if (__builtin_stdc_bit_ceil ((unsigned char) 1) != 1
|| __builtin_stdc_bit_ceil ((unsigned char) 2) != 2
|| __builtin_stdc_bit_ceil ((unsigned short) 3U) != 4
|| __builtin_stdc_bit_ceil ((unsigned short) 4U) != 4
|| __builtin_stdc_bit_ceil (5U) != 8U
|| __builtin_stdc_bit_ceil (269U) != 512U
|| __builtin_stdc_bit_ceil (511UL) != 512UL
|| __builtin_stdc_bit_ceil (512UL) != 512UL
|| __builtin_stdc_bit_ceil (513ULL) != 1024ULL
|| __builtin_stdc_bit_ceil (1025ULL) != 2048ULL)
__builtin_abort ();
#ifdef __SIZEOF_INT128__
if (__builtin_stdc_leading_zeros ((unsigned __int128) 0) != __SIZEOF_INT128__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_leading_zeros ((unsigned __int128) 0), unsigned int)
|| __builtin_stdc_leading_zeros (~(unsigned __int128) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_leading_ones ((unsigned __int128) 0) != 0
|| !expr_has_type (__builtin_stdc_leading_ones ((unsigned __int128) 0), unsigned int)
|| __builtin_stdc_leading_ones (~(unsigned __int128) 0) != __SIZEOF_INT128__ * __CHAR_BIT__)
__builtin_abort ();
if (__builtin_stdc_trailing_zeros ((unsigned __int128) 0) != __SIZEOF_INT128__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_trailing_zeros ((unsigned __int128) 0), unsigned int)
|| __builtin_stdc_trailing_zeros (~(unsigned __int128) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_trailing_ones ((unsigned __int128) 0) != 0
|| !expr_has_type (__builtin_stdc_trailing_ones ((unsigned __int128) 0), unsigned int)
|| __builtin_stdc_trailing_ones (~(unsigned __int128) 0) != __SIZEOF_INT128__ * __CHAR_BIT__)
__builtin_abort ();
if (__builtin_stdc_first_leading_zero ((unsigned __int128) 0) != 1
|| !expr_has_type (__builtin_stdc_first_leading_zero ((unsigned __int128) 0), unsigned int)
|| __builtin_stdc_first_leading_zero (~(unsigned __int128) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_first_leading_one ((unsigned __int128) 0) != 0
|| !expr_has_type (__builtin_stdc_first_leading_one ((unsigned __int128) 0), unsigned int)
|| __builtin_stdc_first_leading_one (~(unsigned __int128) 0) != 1)
__builtin_abort ();
if (__builtin_stdc_first_trailing_zero ((unsigned __int128) 0) != 1
|| !expr_has_type (__builtin_stdc_first_trailing_zero ((unsigned __int128) 0), unsigned int)
|| __builtin_stdc_first_trailing_zero (~(unsigned __int128) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_first_trailing_one ((unsigned __int128) 0) != 0
|| !expr_has_type (__builtin_stdc_first_trailing_one ((unsigned __int128) 0), unsigned int)
|| __builtin_stdc_first_trailing_one (~(unsigned __int128) 0) != 1)
__builtin_abort ();
if (__builtin_stdc_count_zeros ((unsigned __int128) 0) != __SIZEOF_INT128__ * __CHAR_BIT__
|| !expr_has_type (__builtin_stdc_count_zeros ((unsigned __int128) 0), unsigned int)
|| __builtin_stdc_count_zeros (~(unsigned __int128) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_count_ones ((unsigned __int128) 0) != 0
|| !expr_has_type (__builtin_stdc_count_ones ((unsigned __int128) 0), unsigned int)
|| __builtin_stdc_count_ones (~(unsigned __int128) 0) != __SIZEOF_INT128__ * __CHAR_BIT__)
__builtin_abort ();
if (__builtin_stdc_has_single_bit ((unsigned __int128) 0)
|| !expr_has_type (__builtin_stdc_has_single_bit ((unsigned __int128) 0), _Bool)
|| __builtin_stdc_has_single_bit (~(unsigned __int128) 0))
__builtin_abort ();
if (__builtin_stdc_bit_width ((unsigned __int128) 0) != 0
|| !expr_has_type (__builtin_stdc_bit_width ((unsigned __int128) 0), unsigned int)
|| __builtin_stdc_bit_width (~(unsigned __int128) 0) != __SIZEOF_INT128__ * __CHAR_BIT__)
__builtin_abort ();
if (__builtin_stdc_bit_floor ((unsigned __int128) 0) != 0
|| !expr_has_type (__builtin_stdc_bit_floor ((unsigned __int128) 0), unsigned __int128)
|| __builtin_stdc_bit_floor (~(unsigned __int128) 0) != ((unsigned __int128) 1) << (__SIZEOF_INT128__ * __CHAR_BIT__ - 1))
__builtin_abort ();
if (__builtin_stdc_bit_ceil ((unsigned __int128) 0) != 1
|| !expr_has_type (__builtin_stdc_bit_ceil ((unsigned __int128) 0), unsigned __int128)
|| __builtin_stdc_bit_ceil ((unsigned __int128) 1) != 1
|| __builtin_stdc_bit_ceil ((~(unsigned __int128) 0) >> 1) != ((unsigned __int128) 1) << (__SIZEOF_INT128__ * __CHAR_BIT__ - 1)
|| __builtin_stdc_bit_ceil (~(unsigned __int128) 0) != 0)
__builtin_abort ();
#endif
#if __has_builtin (__builtin_stdc_leading_zeros) != 1
#error __builtin_stdc_leading_zeros not implemented
#endif
#if __has_builtin (__builtin_stdc_leading_ones) != 1
#error __builtin_stdc_leading_ones not implemented
#endif
#if __has_builtin (__builtin_stdc_trailing_zeros) != 1
#error __builtin_stdc_trailing_zeros not implemented
#endif
#if __has_builtin (__builtin_stdc_trailing_ones) != 1
#error __builtin_stdc_trailing_ones not implemented
#endif
#if __has_builtin (__builtin_stdc_first_leading_zero) != 1
#error __builtin_stdc_first_leading_zero not implemented
#endif
#if __has_builtin (__builtin_stdc_first_leading_one) != 1
#error __builtin_stdc_first_leading_one not implemented
#endif
#if __has_builtin (__builtin_stdc_first_trailing_zero) != 1
#error __builtin_stdc_first_trailing_zero not implemented
#endif
#if __has_builtin (__builtin_stdc_first_trailing_one) != 1
#error __builtin_stdc_first_trailing_one not implemented
#endif
#if __has_builtin (__builtin_stdc_count_zeros) != 1
#error __builtin_stdc_count_zeros not implemented
#endif
#if __has_builtin (__builtin_stdc_count_ones) != 1
#error __builtin_stdc_count_ones not implemented
#endif
#if __has_builtin (__builtin_stdc_has_single_bit) != 1
#error __builtin_stdc_single_bit not implemented
#endif
#if __has_builtin (__builtin_stdc_bit_width) != 1
#error __builtin_stdc_bit_width not implemented
#endif
#if __has_builtin (__builtin_stdc_bit_floor) != 1
#error __builtin_stdc_bit_floor not implemented
#endif
#if __has_builtin (__builtin_stdc_bit_ceil) != 1
#error __builtin_stdc_bit_ceil not implemented
#endif
unsigned char a = 0;
if (__builtin_stdc_bit_width (a++) != 0 || a != 1)
__builtin_abort ();
unsigned long long b = 0;
if (__builtin_stdc_bit_width (b++) != 0 || b != 1)
__builtin_abort ();
if (__builtin_stdc_bit_floor (a++) != 1 || a != 2)
__builtin_abort ();
if (__builtin_stdc_bit_floor (b++) != 1 || b != 2)
__builtin_abort ();
if (__builtin_stdc_bit_ceil (a++) != 2 || a != 3)
__builtin_abort ();
if (__builtin_stdc_bit_ceil (b++) != 2 || b != 3)
__builtin_abort ();
if (__builtin_stdc_leading_zeros (a++) != __CHAR_BIT__ - 2 || a != 4)
__builtin_abort ();
if (__builtin_stdc_leading_zeros (b++) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 2 || b != 4)
__builtin_abort ();
if (__builtin_stdc_leading_ones (a++) != 0 || a != 5)
__builtin_abort ();
if (__builtin_stdc_leading_ones (b++) != 0 || b != 5)
__builtin_abort ();
if (__builtin_stdc_trailing_zeros (a++) != 0 || a != 6)
__builtin_abort ();
if (__builtin_stdc_trailing_zeros (b++) != 0 || b != 6)
__builtin_abort ();
if (__builtin_stdc_trailing_ones (a++) != 0 || a != 7)
__builtin_abort ();
if (__builtin_stdc_trailing_ones (b++) != 0 || b != 7)
__builtin_abort ();
if (__builtin_stdc_first_leading_zero (a++) != 1 || a != 8)
__builtin_abort ();
if (__builtin_stdc_first_leading_zero (b++) != 1 || b != 8)
__builtin_abort ();
if (__builtin_stdc_first_leading_one (a++) != __CHAR_BIT__ - 3 || a != 9)
__builtin_abort ();
if (__builtin_stdc_first_leading_one (b++) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 3 || b != 9)
__builtin_abort ();
if (__builtin_stdc_first_trailing_zero (a++) != 2 || a != 10)
__builtin_abort ();
if (__builtin_stdc_first_trailing_zero (b++) != 2 || b != 10)
__builtin_abort ();
if (__builtin_stdc_first_trailing_one (a++) != 2 || a != 11)
__builtin_abort ();
if (__builtin_stdc_first_trailing_one (b++) != 2 || b != 11)
__builtin_abort ();
if (__builtin_stdc_count_zeros (a++) != __CHAR_BIT__ - 3 || a != 12)
__builtin_abort ();
if (__builtin_stdc_count_zeros (b++) != __SIZEOF_LONG_LONG__ * __CHAR_BIT__ - 3 || b != 12)
__builtin_abort ();
if (__builtin_stdc_count_ones (a++) != 2 || a != 13)
__builtin_abort ();
if (__builtin_stdc_count_ones (b++) != 2 || b != 13)
__builtin_abort ();
if (__builtin_stdc_has_single_bit (a++) || a != 14)
__builtin_abort ();
if (__builtin_stdc_has_single_bit (b++) || b != 14)
__builtin_abort ();
#if __BITINT_MAXWIDTH__ >= 64
if (__builtin_stdc_leading_zeros (0uwb) != 1
|| !expr_has_type (__builtin_stdc_leading_zeros (0uwb), unsigned int)
|| __builtin_stdc_leading_zeros (1uwb) != 0
|| !expr_has_type (__builtin_stdc_leading_zeros (1uwb), unsigned int))
__builtin_abort ();
if (__builtin_stdc_leading_ones (0uwb) != 0
|| !expr_has_type (__builtin_stdc_leading_ones (0uwb), unsigned int)
|| __builtin_stdc_leading_ones (1uwb) != 1
|| !expr_has_type (__builtin_stdc_leading_ones (1uwb), unsigned int))
__builtin_abort ();
if (__builtin_stdc_trailing_zeros (0uwb) != 1
|| !expr_has_type (__builtin_stdc_trailing_zeros (0uwb), unsigned int)
|| __builtin_stdc_trailing_zeros (1uwb) != 0
|| !expr_has_type (__builtin_stdc_trailing_zeros (1uwb), unsigned int))
__builtin_abort ();
if (__builtin_stdc_trailing_ones (0uwb) != 0
|| !expr_has_type (__builtin_stdc_trailing_ones (0uwb), unsigned int)
|| __builtin_stdc_trailing_ones (1uwb) != 1
|| !expr_has_type (__builtin_stdc_trailing_ones (1uwb), unsigned int))
__builtin_abort ();
if (__builtin_stdc_first_leading_zero (0uwb) != 1
|| !expr_has_type (__builtin_stdc_first_leading_zero (0uwb), unsigned int)
|| __builtin_stdc_first_leading_zero (1uwb) != 0
|| !expr_has_type (__builtin_stdc_first_leading_zero (1uwb), unsigned int))
__builtin_abort ();
if (__builtin_stdc_first_leading_one (0uwb) != 0
|| !expr_has_type (__builtin_stdc_first_leading_one (0uwb), unsigned int)
|| __builtin_stdc_first_leading_one (1uwb) != 1
|| !expr_has_type (__builtin_stdc_first_leading_one (1uwb), unsigned int))
__builtin_abort ();
if (__builtin_stdc_first_trailing_zero (0uwb) != 1
|| !expr_has_type (__builtin_stdc_first_trailing_zero (0uwb), unsigned int)
|| __builtin_stdc_first_trailing_zero (1uwb) != 0
|| !expr_has_type (__builtin_stdc_first_trailing_zero (1uwb), unsigned int))
__builtin_abort ();
if (__builtin_stdc_first_trailing_one (0uwb) != 0
|| !expr_has_type (__builtin_stdc_first_trailing_one (0uwb), unsigned int)
|| __builtin_stdc_first_trailing_one (1uwb) != 1
|| !expr_has_type (__builtin_stdc_first_trailing_one (1uwb), unsigned int))
__builtin_abort ();
if (__builtin_stdc_count_zeros (0uwb) != 1
|| !expr_has_type (__builtin_stdc_count_zeros (0uwb), unsigned int)
|| __builtin_stdc_count_zeros (1uwb) != 0
|| !expr_has_type (__builtin_stdc_count_zeros (1uwb), unsigned int))
__builtin_abort ();
if (__builtin_stdc_count_ones (0uwb) != 0
|| !expr_has_type (__builtin_stdc_count_ones (0uwb), unsigned int)
|| __builtin_stdc_count_ones (1uwb) != 1
|| !expr_has_type (__builtin_stdc_count_ones (1uwb), unsigned int))
__builtin_abort ();
if (__builtin_stdc_has_single_bit (0uwb)
|| !expr_has_type (__builtin_stdc_has_single_bit (0uwb), _Bool)
|| !__builtin_stdc_has_single_bit (1uwb)
|| !expr_has_type (__builtin_stdc_has_single_bit (1uwb), _Bool))
__builtin_abort ();
if (__builtin_stdc_bit_width (0uwb) != 0
|| !expr_has_type (__builtin_stdc_bit_width (0uwb), unsigned int)
|| __builtin_stdc_bit_width (1uwb) != 1
|| !expr_has_type (__builtin_stdc_bit_width (1uwb), unsigned int))
__builtin_abort ();
if (__builtin_stdc_bit_floor (0uwb) != 0
|| !expr_has_type (__builtin_stdc_bit_floor (0uwb), unsigned _BitInt(1))
|| __builtin_stdc_bit_floor (1uwb) != 1
|| !expr_has_type (__builtin_stdc_bit_floor (1uwb), unsigned _BitInt(1)))
__builtin_abort ();
if (__builtin_stdc_bit_ceil (0uwb) != 1
|| !expr_has_type (__builtin_stdc_bit_ceil (0uwb), unsigned _BitInt(1))
|| __builtin_stdc_bit_ceil (1uwb) != 1
|| !expr_has_type (__builtin_stdc_bit_ceil (1uwb), unsigned _BitInt(1)))
__builtin_abort ();
unsigned _BitInt(1) c = 0;
if (__builtin_stdc_bit_floor (c++) != 0 || c != 1)
__builtin_abort ();
if (__builtin_stdc_bit_floor (c++) != 1 || c != 0)
__builtin_abort ();
if (__builtin_stdc_bit_ceil (c++) != 1 || c != 1)
__builtin_abort ();
if (__builtin_stdc_bit_ceil (c++) != 1 || c != 0)
__builtin_abort ();
#endif
#if __BITINT_MAXWIDTH__ >= 512
if (__builtin_stdc_leading_zeros ((unsigned _BitInt(512)) 0) != 512
|| !expr_has_type (__builtin_stdc_leading_zeros ((unsigned _BitInt(512)) 0), unsigned int)
|| __builtin_stdc_leading_zeros ((unsigned _BitInt(373)) 0) != 373
|| !expr_has_type (__builtin_stdc_leading_zeros ((unsigned _BitInt(373)) 0), unsigned int))
__builtin_abort ();
if (__builtin_stdc_leading_zeros (~(unsigned _BitInt(512)) 0) != 0
|| __builtin_stdc_leading_zeros (~(unsigned _BitInt(373)) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_leading_zeros ((unsigned _BitInt(512)) 275) != 512 - 9
|| __builtin_stdc_leading_zeros ((unsigned _BitInt(373)) 512) != 373 - 10)
__builtin_abort ();
if (__builtin_stdc_leading_ones ((unsigned _BitInt(512)) 0) != 0
|| !expr_has_type (__builtin_stdc_leading_ones ((unsigned _BitInt(512)) 0), unsigned int)
|| __builtin_stdc_leading_ones ((unsigned _BitInt(373)) 0) != 0
|| !expr_has_type (__builtin_stdc_leading_ones ((unsigned _BitInt(373)) 0), unsigned int))
__builtin_abort ();
if (__builtin_stdc_leading_ones (~(unsigned _BitInt(512)) 0) != 512
|| __builtin_stdc_leading_ones (~(unsigned _BitInt(373)) 0) != 373)
__builtin_abort ();
if (__builtin_stdc_leading_ones (~(unsigned _BitInt(512)) 275) != 512 - 9
|| __builtin_stdc_leading_ones (~(unsigned _BitInt(373)) 512) != 373 - 10)
__builtin_abort ();
if (__builtin_stdc_trailing_zeros ((unsigned _BitInt(512)) 0) != 512
|| !expr_has_type (__builtin_stdc_trailing_zeros ((unsigned _BitInt(512)) 0), unsigned int)
|| __builtin_stdc_trailing_zeros ((unsigned _BitInt(373)) 0) != 373
|| !expr_has_type (__builtin_stdc_trailing_zeros ((unsigned _BitInt(373)) 0), unsigned int))
__builtin_abort ();
if (__builtin_stdc_trailing_zeros (~(unsigned _BitInt(512)) 0) != 0
|| __builtin_stdc_trailing_zeros (~(unsigned _BitInt(373)) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_trailing_zeros ((unsigned _BitInt(512)) 256) != 8
|| __builtin_stdc_trailing_zeros ((unsigned _BitInt(373)) 512) != 9)
__builtin_abort ();
if (__builtin_stdc_trailing_ones ((unsigned _BitInt(512)) 0) != 0
|| !expr_has_type (__builtin_stdc_trailing_ones ((unsigned _BitInt(512)) 0), unsigned int)
|| __builtin_stdc_trailing_ones ((unsigned _BitInt(373)) 0) != 0
|| !expr_has_type (__builtin_stdc_trailing_ones ((unsigned _BitInt(373)) 0), unsigned int))
__builtin_abort ();
if (__builtin_stdc_trailing_ones (~(unsigned _BitInt(512)) 0) != 512
|| __builtin_stdc_trailing_ones (~(unsigned _BitInt(373)) 0) != 373)
__builtin_abort ();
if (__builtin_stdc_trailing_ones ((unsigned _BitInt(512)) 255) != 8
|| __builtin_stdc_trailing_ones ((~(unsigned _BitInt(373)) 0) >> 2) != 373 - 2)
__builtin_abort ();
if (__builtin_stdc_first_leading_zero ((unsigned _BitInt(512)) 0) != 1
|| !expr_has_type (__builtin_stdc_first_leading_zero ((unsigned _BitInt(512)) 0), unsigned int)
|| __builtin_stdc_first_leading_zero ((unsigned _BitInt(373)) 0) != 1
|| !expr_has_type (__builtin_stdc_first_leading_zero ((unsigned _BitInt(373)) 0), unsigned int))
__builtin_abort ();
if (__builtin_stdc_first_leading_zero (~(unsigned _BitInt(512)) 0) != 0
|| __builtin_stdc_first_leading_zero (~(unsigned _BitInt(373)) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_first_leading_zero (~(unsigned _BitInt(512)) 511) != 512 - 8
|| __builtin_stdc_first_leading_zero (~(unsigned _BitInt(373)) 1023) != 373 - 9)
__builtin_abort ();
if (__builtin_stdc_first_leading_one ((unsigned _BitInt(512)) 0) != 0
|| !expr_has_type (__builtin_stdc_first_leading_one ((unsigned _BitInt(512)) 0), unsigned int)
|| __builtin_stdc_first_leading_one ((unsigned _BitInt(373)) 0) != 0
|| !expr_has_type (__builtin_stdc_first_leading_one ((unsigned _BitInt(373)) 0), unsigned int))
__builtin_abort ();
if (__builtin_stdc_first_leading_one (~(unsigned _BitInt(512)) 0) != 1
|| __builtin_stdc_first_leading_one (~(unsigned _BitInt(373)) 0) != 1)
__builtin_abort ();
if (__builtin_stdc_first_leading_one ((unsigned _BitInt(512)) 275) != 512 - 8
|| __builtin_stdc_first_leading_one ((unsigned _BitInt(373)) 512) != 373 - 9)
__builtin_abort ();
if (__builtin_stdc_first_trailing_zero ((unsigned _BitInt(512)) 0) != 1
|| !expr_has_type (__builtin_stdc_first_trailing_zero ((unsigned _BitInt(512)) 0), unsigned int)
|| __builtin_stdc_first_trailing_zero ((unsigned _BitInt(373)) 0) != 1
|| !expr_has_type (__builtin_stdc_first_trailing_zero ((unsigned _BitInt(373)) 0), unsigned int))
__builtin_abort ();
if (__builtin_stdc_first_trailing_zero (~(unsigned _BitInt(512)) 0) != 0
|| __builtin_stdc_first_trailing_zero (~(unsigned _BitInt(373)) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_first_trailing_zero ((unsigned _BitInt(512)) 255) != 9
|| __builtin_stdc_first_trailing_zero ((unsigned _BitInt(373)) 511) != 10)
__builtin_abort ();
if (__builtin_stdc_first_trailing_one ((unsigned _BitInt(512)) 0) != 0
|| !expr_has_type (__builtin_stdc_first_trailing_one ((unsigned _BitInt(512)) 0), unsigned int)
|| __builtin_stdc_first_trailing_one ((unsigned _BitInt(373)) 0) != 0
|| !expr_has_type (__builtin_stdc_first_trailing_one ((unsigned _BitInt(373)) 0), unsigned int))
__builtin_abort ();
if (__builtin_stdc_first_trailing_one (~(unsigned _BitInt(512)) 0) != 1
|| __builtin_stdc_first_trailing_one (~(unsigned _BitInt(373)) 0) != 1)
__builtin_abort ();
if (__builtin_stdc_first_trailing_one (((unsigned _BitInt(512)) 255) << 175) != 176
|| __builtin_stdc_first_trailing_one ((~(unsigned _BitInt(373)) 0) << 311) != 312)
__builtin_abort ();
if (__builtin_stdc_count_zeros ((unsigned _BitInt(512)) 0) != 512
|| !expr_has_type (__builtin_stdc_count_zeros ((unsigned _BitInt(512)) 0), unsigned int)
|| __builtin_stdc_count_zeros ((unsigned _BitInt(373)) 0) != 373
|| !expr_has_type (__builtin_stdc_count_zeros ((unsigned _BitInt(373)) 0), unsigned int))
__builtin_abort ();
if (__builtin_stdc_count_zeros (~(unsigned _BitInt(512)) 0) != 0
|| __builtin_stdc_count_zeros (~(unsigned _BitInt(373)) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_count_zeros ((unsigned _BitInt(512)) 1315) != 512 - 5
|| __builtin_stdc_count_zeros ((unsigned _BitInt(373)) 3363) != 373 - 6)
__builtin_abort ();
if (__builtin_stdc_count_ones ((unsigned _BitInt(512)) 0) != 0
|| !expr_has_type (__builtin_stdc_count_ones ((unsigned _BitInt(512)) 0), unsigned int)
|| __builtin_stdc_count_ones ((unsigned _BitInt(373)) 0) != 0
|| !expr_has_type (__builtin_stdc_count_ones ((unsigned _BitInt(373)) 0), unsigned int))
__builtin_abort ();
if (__builtin_stdc_count_ones (~(unsigned _BitInt(512)) 0) != 512
|| __builtin_stdc_count_ones (~(unsigned _BitInt(373)) 0) != 373)
__builtin_abort ();
if (__builtin_stdc_count_ones (~(unsigned _BitInt(512)) 1315) != 512 - 5
|| __builtin_stdc_count_ones (~(unsigned _BitInt(373)) 3363) != 373 - 6)
__builtin_abort ();
if (__builtin_stdc_has_single_bit ((unsigned _BitInt(512)) 0)
|| !expr_has_type (__builtin_stdc_has_single_bit ((unsigned _BitInt(512)) 0), _Bool)
|| __builtin_stdc_has_single_bit ((unsigned _BitInt(373)) 0)
|| !expr_has_type (__builtin_stdc_has_single_bit ((unsigned _BitInt(373)) 0), _Bool))
__builtin_abort ();
if (__builtin_stdc_has_single_bit (~(unsigned _BitInt(512)) 0)
|| __builtin_stdc_has_single_bit (~(unsigned _BitInt(373)) 0))
__builtin_abort ();
if (__builtin_stdc_has_single_bit (((unsigned _BitInt(512)) 1022) << 279)
|| __builtin_stdc_has_single_bit (((unsigned _BitInt(373)) 12) << 305))
__builtin_abort ();
if (__builtin_stdc_bit_width ((unsigned _BitInt(512)) 0) != 0
|| !expr_has_type (__builtin_stdc_bit_width ((unsigned _BitInt(512)) 0), unsigned int)
|| __builtin_stdc_bit_width ((unsigned _BitInt(373)) 0) != 0
|| !expr_has_type (__builtin_stdc_bit_width ((unsigned _BitInt(373)) 0), unsigned int))
__builtin_abort ();
if (__builtin_stdc_bit_width (~(unsigned _BitInt(512)) 0) != 512
|| __builtin_stdc_bit_width (~(unsigned _BitInt(373)) 0) != 373)
__builtin_abort ();
if (__builtin_stdc_bit_width (((unsigned _BitInt(512)) 1023) << 405) != 405 + 10
|| __builtin_stdc_bit_width (((unsigned _BitInt(373)) 1024) << 242) != 242 + 11)
__builtin_abort ();
if (__builtin_stdc_bit_floor ((unsigned _BitInt(512)) 0) != 0
|| !expr_has_type (__builtin_stdc_bit_floor ((unsigned _BitInt(512)) 0), unsigned _BitInt(512))
|| __builtin_stdc_bit_floor ((unsigned _BitInt(373)) 0) != 0
|| !expr_has_type (__builtin_stdc_bit_floor ((unsigned _BitInt(373)) 0), unsigned _BitInt(373)))
__builtin_abort ();
if (__builtin_stdc_bit_floor (~(unsigned _BitInt(512)) 0) != ((unsigned _BitInt(512)) 1) << (512 - 1)
|| __builtin_stdc_bit_floor (~(unsigned _BitInt(373)) 0) != ((unsigned _BitInt(373)) 1) << (373 - 1))
__builtin_abort ();
if (__builtin_stdc_bit_floor (((unsigned _BitInt(512)) 511) << 405) != (((unsigned _BitInt(512)) 256) << 405)
|| __builtin_stdc_bit_floor (((unsigned _BitInt(373)) 512) << 242) != (((unsigned _BitInt(512)) 512) << 242))
__builtin_abort ();
if (__builtin_stdc_bit_ceil ((unsigned _BitInt(512)) 0) != 1
|| !expr_has_type (__builtin_stdc_bit_ceil ((unsigned _BitInt(512)) 0), unsigned _BitInt(512))
|| __builtin_stdc_bit_ceil ((unsigned _BitInt(373)) 0) != 1
|| !expr_has_type (__builtin_stdc_bit_ceil ((unsigned _BitInt(373)) 0), unsigned _BitInt(373)))
__builtin_abort ();
if (__builtin_stdc_bit_ceil (~(unsigned _BitInt(512)) 0) != 0
|| __builtin_stdc_bit_ceil (~(unsigned _BitInt(373)) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_bit_ceil (((unsigned _BitInt(512)) 1) << (512 - 1)) != ((unsigned _BitInt(512)) 1) << (512 - 1)
|| __builtin_stdc_bit_ceil ((~(unsigned _BitInt(373)) 0) >> 1) != ((unsigned _BitInt(373)) 1) << (373 - 1))
__builtin_abort ();
if (__builtin_stdc_bit_ceil (((unsigned _BitInt(512)) 512) << 405) != (((unsigned _BitInt(512)) 512) << 405)
|| __builtin_stdc_bit_ceil (((unsigned _BitInt(373)) 513) << 242) != (((unsigned _BitInt(512)) 1024) << 242))
__builtin_abort ();
if (__builtin_stdc_bit_floor ((unsigned _BitInt(__BITINT_MAXWIDTH__)) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_bit_floor (~(unsigned _BitInt(__BITINT_MAXWIDTH__)) 0) != ((unsigned _BitInt(__BITINT_MAXWIDTH__)) 1) << (__BITINT_MAXWIDTH__ - 1))
__builtin_abort ();
if (__builtin_stdc_bit_floor (((unsigned _BitInt(__BITINT_MAXWIDTH__)) 511) << 405) != (((unsigned _BitInt(__BITINT_MAXWIDTH__)) 256) << 405)
|| __builtin_stdc_bit_floor (((unsigned _BitInt(__BITINT_MAXWIDTH__)) 512) << 405) != (((unsigned _BitInt(__BITINT_MAXWIDTH__)) 512) << 405))
__builtin_abort ();
if (__builtin_stdc_bit_ceil ((unsigned _BitInt(__BITINT_MAXWIDTH__)) 0) != 1)
__builtin_abort ();
if (__builtin_stdc_bit_ceil (~(unsigned _BitInt(__BITINT_MAXWIDTH__)) 0) != 0)
__builtin_abort ();
if (__builtin_stdc_bit_ceil (((unsigned _BitInt(__BITINT_MAXWIDTH__)) 1) << (__BITINT_MAXWIDTH__ - 1)) != ((unsigned _BitInt(__BITINT_MAXWIDTH__)) 1) << (__BITINT_MAXWIDTH__ - 1))
__builtin_abort ();
if (__builtin_stdc_bit_ceil (((unsigned _BitInt(__BITINT_MAXWIDTH__)) 512) << 405) != (((unsigned _BitInt(__BITINT_MAXWIDTH__)) 512) << 405)
|| __builtin_stdc_bit_ceil (((unsigned _BitInt(__BITINT_MAXWIDTH__)) 513) << 405) != (((unsigned _BitInt(__BITINT_MAXWIDTH__)) 1024) << 405))
__builtin_abort ();
#endif
}