3 #define HOST_WIDE_INT long
4 #define HOST_BITS_PER_WIDE_INT (sizeof(long)*8)
8 unsigned int precision
: 9;
12 sign_bit_p (struct tree_type
*t
, HOST_WIDE_INT val_hi
, unsigned HOST_WIDE_INT val_lo
)
14 unsigned HOST_WIDE_INT mask_lo
, lo
;
15 HOST_WIDE_INT mask_hi
, hi
;
16 int width
= t
->precision
;
18 if (width
> HOST_BITS_PER_WIDE_INT
)
20 hi
= (unsigned HOST_WIDE_INT
) 1 << (width
- HOST_BITS_PER_WIDE_INT
- 1);
23 mask_hi
= ((unsigned HOST_WIDE_INT
) -1
24 >> (2 * HOST_BITS_PER_WIDE_INT
- width
));
30 lo
= (unsigned HOST_WIDE_INT
) 1 << (width
- 1);
33 mask_lo
= ((unsigned HOST_WIDE_INT
) -1
34 >> (HOST_BITS_PER_WIDE_INT
- width
));
37 if ((val_hi
& mask_hi
) == hi
38 && (val_lo
& mask_lo
) == lo
)
48 if (!sign_bit_p (&t
, 0, -1))