GCC Middle and Back End API Reference
|
#include <real.h>
Data Fields | |
void(* | encode )(const struct real_format *, long *, const REAL_VALUE_TYPE *) |
void(* | decode )(const struct real_format *, REAL_VALUE_TYPE *, const long *) |
int | b |
int | p |
int | pnan |
int | emin |
int | emax |
int | signbit_ro |
int | signbit_rw |
int | ieee_bits |
bool | round_towards_zero |
bool | has_sign_dependent_rounding |
bool | has_nans |
bool | has_inf |
bool | has_denorm |
bool | has_signed_zero |
bool | qnan_msb_set |
bool | canonical_nan_lsbs_set |
const char * | name |
Calculate the format for CONST_DOUBLE. We need as many slots as are necessary to overlay a REAL_VALUE_TYPE on them. This could be as many as four (32-bit HOST_WIDE_INT, 128-bit REAL_VALUE_TYPE). A number of places assume that there are always at least two 'w' slots in a CONST_DOUBLE, so we provide them even if one would suffice.
Describes the properties of the specific target format in use.
int real_format::b |
Referenced by clear_padding_real_needs_padding_p(), decimal_real_convert(), do_mpc_arg1(), do_mpfr_arg1(), do_mpfr_arg2(), do_mpfr_arg2(), do_mpfr_arg3(), do_mpfr_sincos(), expand_builtin_issignaling(), fold_const_call_ss(), fold_const_call_sss(), fold_const_logb(), fold_const_nextafter(), fold_const_significand(), get_max_float(), real_can_shorten_arithmetic(), real_convert(), real_maxval(), round_for_format(), and significand_size().
bool real_format::canonical_nan_lsbs_set |
void(* real_format::decode) (const struct real_format *, REAL_VALUE_TYPE *, const long *) |
Referenced by real_from_target().
int real_format::emax |
int real_format::emin |
void(* real_format::encode) (const struct real_format *, long *, const REAL_VALUE_TYPE *) |
Referenced by real_to_target().
bool real_format::has_denorm |
bool real_format::has_inf |
Referenced by decode_arm_bfloat_half(), decode_ieee_double(), decode_ieee_extended(), decode_ieee_half(), decode_ieee_quad(), decode_ieee_single(), encode_arm_bfloat_half(), encode_ieee_double(), encode_ieee_extended(), encode_ieee_half(), encode_ieee_quad(), encode_ieee_single(), fold_const_nextafter(), and real_can_shorten_arithmetic().
bool real_format::has_nans |
Referenced by decode_arm_bfloat_half(), decode_ieee_double(), decode_ieee_extended(), decode_ieee_half(), decode_ieee_quad(), decode_ieee_single(), encode_arm_bfloat_half(), encode_ieee_double(), encode_ieee_extended(), encode_ieee_half(), encode_ieee_quad(), encode_ieee_single(), and real_can_shorten_arithmetic().
bool real_format::has_sign_dependent_rounding |
Referenced by real_can_shorten_arithmetic().
bool real_format::has_signed_zero |
int real_format::ieee_bits |
Referenced by expand_builtin_issignaling().
const char* real_format::name |
Referenced by expand_builtin_int_roundingfn().
int real_format::p |
Referenced by build_real(), decimal_integer_string(), do_compile(), do_mpc_arg1(), do_mpc_arg2(), do_mpc_arg2(), do_mpfr_arg1(), do_mpfr_arg2(), do_mpfr_arg2(), do_mpfr_arg3(), do_mpfr_lgamma_r(), do_mpfr_remquo(), do_mpfr_sincos(), expand_builtin_issignaling(), fold_const_nextafter(), frange_mpfr_arg1(), get_max_float(), real_can_shorten_arithmetic(), real_maxval(), real_nextafter(), real_to_decimal_for_mode(), real_to_hexadecimal(), round_for_format(), significand_size(), and target_char_cst_p().
int real_format::pnan |
Referenced by expand_builtin_issignaling(), fold_const_nextafter(), get_max_float(), real_maxval(), and real_nan().
bool real_format::qnan_msb_set |
Referenced by decode_arm_bfloat_half(), decode_ibm_extended(), decode_ieee_double(), decode_ieee_extended(), decode_ieee_half(), decode_ieee_quad(), decode_ieee_single(), encode_arm_bfloat_half(), encode_ibm_extended(), encode_ieee_double(), encode_ieee_extended(), encode_ieee_half(), encode_ieee_quad(), encode_ieee_single(), and expand_builtin_issignaling().
bool real_format::round_towards_zero |
int real_format::signbit_ro |
int real_format::signbit_rw |
Referenced by clear_padding_real_needs_padding_p(), expand_builtin_issignaling(), and expand_copysign().