GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
struct | double_int |
struct | wi::int_traits< double_int > |
Namespaces | |
namespace | wi |
Macros | |
#define | HOST_BITS_PER_DOUBLE_INT (2 * HOST_BITS_PER_WIDE_INT) |
#define | double_int_minus_one (double_int::from_shwi (-1)) |
#define | double_int_zero (double_int::from_shwi (0)) |
#define | double_int_one (double_int::from_shwi (1)) |
#define | double_int_two (double_int::from_shwi (2)) |
#define | double_int_ten (double_int::from_shwi (10)) |
#define | ALL_ONES HOST_WIDE_INT_M1U |
Functions | |
void | dump_double_int (FILE *, double_int, bool) |
void | mpz_set_double_int (mpz_t, double_int, bool) |
double_int | mpz_get_double_int (const_tree, mpz_t, bool) |
#define ALL_ONES HOST_WIDE_INT_M1U |
Referenced by double_int::is_minus_one(), and double_int::mask().
#define double_int_minus_one (double_int::from_shwi (-1)) |
Some useful constants.
FIXME(crowl): Maybe remove after converting callers? The problem is that a named constant would not be as optimizable, while the functional syntax is more verbose.
Referenced by build_minus_one_cst().
#define double_int_one (double_int::from_shwi (1)) |
#define double_int_ten (double_int::from_shwi (10)) |
#define double_int_two (double_int::from_shwi (2)) |
#define double_int_zero (double_int::from_shwi (0)) |
Referenced by do_fixed_divide(), fold_convert_const_int_from_fixed(), double_int::from_buffer(), and double_int::min_value().
#define HOST_BITS_PER_DOUBLE_INT (2 * HOST_BITS_PER_WIDE_INT) |
Referenced by choose_multiplier(), do_fixed_add(), do_fixed_divide(), do_fixed_multiply(), do_fixed_shift(), fixed_convert(), fixed_convert_from_int(), fixed_convert_from_real(), fixed_from_double_int(), fixed_saturate1(), fixed_saturate2(), fold_convert_const_int_from_fixed(), double_int::from_buffer(), gen_lowpart_common(), init_emit_once(), initialize_sizetypes(), double_int::lshift(), lshift_double(), mem_loc_descriptor(), mode_signbit_p(), native_encode_fixed(), native_interpret_fixed(), output_die(), double_int::rshift(), rshift_double(), simplify_const_binary_operation(), simplify_const_unary_operation(), size_of_die(), size_of_loc_descr(), and double_int::trailing_zeros().
void dump_double_int | ( | FILE * | file, |
double_int | cst, | ||
bool | uns ) |
Dumps CST to FILE. If UNS is true, CST is considered to be unsigned, otherwise it is signed.
References double_int_split_digit(), i, double_int::is_negative(), and double_int::is_zero().
double_int mpz_get_double_int | ( | const_tree | type, |
mpz_t | val, | ||
bool | wrap ) |
Returns VAL converted to TYPE. If WRAP is true, then out-of-range values of VAL will be wrapped; otherwise, they will be set to the appropriate minimum or maximum TYPE bound.
References alloca, count, double_int::ext(), gcc_assert, get_type_static_bounds(), double_int::high, double_int::low, TYPE_PRECISION, and TYPE_UNSIGNED.
void mpz_set_double_int | ( | mpz_t | result, |
double_int | val, | ||
bool | uns ) |
Conversion to and from GMP integer representations.
Sets RESULT to VAL, taken unsigned if UNS is true and as signed otherwise.
References double_int::high, double_int::is_negative(), and double_int::low.