diff options
author | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-12 13:25:22 +0000 |
---|---|---|
committer | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-12 13:25:22 +0000 |
commit | f2b38121fc11df33979cc1dd3d642a2a04120184 (patch) | |
tree | 1a92af168da8700726521cc728ffef015dec9823 /gcc/real.c | |
parent | ed4bf5c95710de5c4c20bd91f2d5dc3e2a777460 (diff) | |
download | gcc-f2b38121fc11df33979cc1dd3d642a2a04120184.tar.gz |
* real.h (struct real_format): New member has_sign_dependent_rounding.
* real.c (ieee_single_format, mips_single_format, motorola_single_format,
spu_single_format, ieee_double_format, mips_double_format,
motorola_double_format, ieee_extended_motorola_format,
ieee_extended_intel_96_format, ieee_extended_intel_128_format,
ieee_extended_intel_96_round_53_format, ibm_extended_format,
mips_extended_format, ieee_quad_format, mips_quad_format,
vax_f_format, vax_d_format, vax_g_format): Initialize it.
* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
* defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES,
MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): Remove.
* config/spu/spu.h (MODE_HAS_NANS, MODE_HAS_INFINITIES,
MODE_HAS_SIGN_DEPENDENT_ROUNDING): Remove.
(ROUND_TOWARDS_ZERO): Likewise.
* real.h (REAL_MODE_FORMAT): Protect MODE against macro expansion.
(FLOAT_MODE_FORMAT): New macro.
(REAL_MODE_FORMAT_COMPOSITE_P): Remove, replace by ...
(MODE_COMPOSITE_P): ... this new macro.
(MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS,
MODE_HAS_SIGN_DEPENDENT_ROUNDING): New macros.
* machmode.h (GET_MODE_INNER): Cast result to enum machine_mode.
* flags.h: Include "real.h".
* fold-const.c (const_binop): Use MODE_COMPOSITE_P instead of
REAL_MODE_FORMAT_COMPOSITE_P.
* simplify-rtx.c (simplify_const_binary_operation): Likewise.
* doc/tm.texi (Storage Layout): Remove documentation of
MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS,
MODE_HAS_SIGN_DEPENDENT_ROUNDING. Update documentation of
ROUND_TOWARDS_ZERO and LARGEST_EXPONENT_IS_NORMAL to clarify
they only apply to libgcc2.a.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139016 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/real.c')
-rw-r--r-- | gcc/real.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/real.c b/gcc/real.c index 806e2f88f36..da311c8f67f 100644 --- a/gcc/real.c +++ b/gcc/real.c @@ -2873,6 +2873,7 @@ const struct real_format ieee_single_format = true, true, true, + true, false }; @@ -2892,6 +2893,7 @@ const struct real_format mips_single_format = true, true, true, + true, false, true }; @@ -2913,6 +2915,7 @@ const struct real_format motorola_single_format = true, true, true, + true, true }; @@ -2941,6 +2944,7 @@ const struct real_format spu_single_format = true, false, false, + false, true, true, false, @@ -3152,6 +3156,7 @@ const struct real_format ieee_double_format = true, true, true, + true, false }; @@ -3171,6 +3176,7 @@ const struct real_format mips_double_format = true, true, true, + true, false, true }; @@ -3192,6 +3198,7 @@ const struct real_format motorola_double_format = true, true, true, + true, true }; @@ -3530,6 +3537,7 @@ const struct real_format ieee_extended_motorola_format = true, true, true, + true, true }; @@ -3550,6 +3558,7 @@ const struct real_format ieee_extended_intel_96_format = true, true, true, + true, false }; @@ -3570,6 +3579,7 @@ const struct real_format ieee_extended_intel_128_format = true, true, true, + true, false }; @@ -3592,6 +3602,7 @@ const struct real_format ieee_extended_intel_96_round_53_format = true, true, true, + true, false }; @@ -3679,6 +3690,7 @@ const struct real_format ibm_extended_format = true, true, true, + true, false }; @@ -3698,6 +3710,7 @@ const struct real_format mips_extended_format = true, true, true, + true, false, true }; @@ -3961,6 +3974,7 @@ const struct real_format ieee_quad_format = true, true, true, + true, false }; @@ -3980,6 +3994,7 @@ const struct real_format mips_quad_format = true, true, true, + true, false, true }; @@ -4280,6 +4295,7 @@ const struct real_format vax_f_format = false, false, false, + false, false }; @@ -4300,6 +4316,7 @@ const struct real_format vax_d_format = false, false, false, + false, false }; @@ -4320,6 +4337,7 @@ const struct real_format vax_g_format = false, false, false, + false, false }; @@ -4393,6 +4411,7 @@ const struct real_format decimal_single_format = true, true, true, + true, true, true, false @@ -4416,6 +4435,7 @@ const struct real_format decimal_double_format = true, true, true, + true, false }; @@ -4434,6 +4454,7 @@ const struct real_format decimal_quad_format = false, true, true, + true, true, true, true, @@ -4476,6 +4497,7 @@ const struct real_format real_internal_format = -1, -1, false, + false, true, true, false, |