aboutsummaryrefslogtreecommitdiff
path: root/gcc/real.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2008-08-12 13:25:22 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2008-08-12 13:25:22 +0000
commit4099e2c2bb7e81926d3ee91a856834ee7672c694 (patch)
tree1a92af168da8700726521cc728ffef015dec9823 /gcc/real.c
parente0bddf109cc33590570b30eceea42bb6fcdea8ec (diff)
downloadgcc-4099e2c2bb7e81926d3ee91a856834ee7672c694.zip
gcc-4099e2c2bb7e81926d3ee91a856834ee7672c694.tar.gz
gcc-4099e2c2bb7e81926d3ee91a856834ee7672c694.tar.bz2
real.h (struct real_format): New member has_sign_dependent_rounding.
* 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. From-SVN: r139016
Diffstat (limited to 'gcc/real.c')
-rw-r--r--gcc/real.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/real.c b/gcc/real.c
index 806e2f8..da311c8 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,