Commit b8972354 by Ulrich Weigand

defaults.h (TARGET_FLOAT_FORMAT): Remove.

ChangeLog:

	* defaults.h (TARGET_FLOAT_FORMAT): Remove.
	(UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT): Remove.

	* config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Remove.
	* config/iq2000/iq2000.h (TARGET_FLOAT_FORMAT): Remove.
	* config/pdp11/pdp11.h (TARGET_FLOAT_FORMAT): Remove.
	* config/score/score.h (TARGET_FLOAT_FORMAT): Remove.
	* config/vax/vax.h (TARGET_FLOAT_FORMAT): Remove.

	* doc/tm.texi (Storage Layout): Remove documentation for
	TARGET_FLOAT_FORMAT.

	* simplify-rtx.c (simplify_binary_operation_1): Replace
	TARGET_FLOAT_FORMAT check by appropriate HONOR_... checks.

java/ChangeLog:

	* typeck.c (convert): Do not check for TARGET_FLOAT_FORMAT.

From-SVN: r139017
parent 4099e2c2
2008-08-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* defaults.h (TARGET_FLOAT_FORMAT): Remove.
(UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT): Remove.
* config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Remove.
* config/iq2000/iq2000.h (TARGET_FLOAT_FORMAT): Remove.
* config/pdp11/pdp11.h (TARGET_FLOAT_FORMAT): Remove.
* config/score/score.h (TARGET_FLOAT_FORMAT): Remove.
* config/vax/vax.h (TARGET_FLOAT_FORMAT): Remove.
* doc/tm.texi (Storage Layout): Remove documentation for
TARGET_FLOAT_FORMAT.
* simplify-rtx.c (simplify_binary_operation_1): Replace
TARGET_FLOAT_FORMAT check by appropriate HONOR_... checks.
2008-08-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* 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,
......
......@@ -245,10 +245,6 @@ extern enum alpha_fp_trap_mode alpha_fptm;
/* Define the size of `long long'. The default is the twice the word size. */
#define LONG_LONG_TYPE_SIZE 64
/* We're IEEE unless someone says to use VAX. */
#define TARGET_FLOAT_FORMAT \
(TARGET_FLOAT_VAX ? VAX_FLOAT_FORMAT : IEEE_FLOAT_FORMAT)
/* The two floating-point formats we support are S-floating, which is
4 bytes, and T-floating, which is 8 bytes. `float' is S and `double'
and `long double' are T. */
......
......@@ -128,8 +128,6 @@
#define PCC_BITFIELD_TYPE_MATTERS 1
#define TARGET_FLOAT_FORMAT IEEE_FLOAT_FORMAT
/* Layout of Source Language Data Types. */
......
......@@ -100,8 +100,6 @@ along with GCC; see the file COPYING3. If not see
big endian, opposite for what you need for float, the vax float
conversion routines aren't actually used directly. But the underlying
format is indeed the vax/pdp11 float format. */
#define TARGET_FLOAT_FORMAT VAX_FLOAT_FORMAT
extern const struct real_format pdp11_f_format;
extern const struct real_format pdp11_d_format;
......
......@@ -198,8 +198,6 @@
support long double, we also want a 128-bit integer type. */
#define MAX_FIXED_MODE_SIZE LONG_DOUBLE_TYPE_SIZE
#define TARGET_FLOAT_FORMAT IEEE_FLOAT_FORMAT
/* Layout of Data Type. */
/* Set the sizes of the core types. */
#define INT_TYPE_SIZE 32
......
......@@ -642,10 +642,6 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
so give the MEM rtx a byte's mode. */
#define FUNCTION_MODE QImode
/* This machine doesn't use IEEE floats. */
#define TARGET_FLOAT_FORMAT VAX_FLOAT_FORMAT
/* Specify the cost of a branch insn; roughly the number of extra insns that
should be added to avoid a branch.
......
......@@ -663,16 +663,6 @@ along with GCC; see the file COPYING3. If not see
#define PREFERRED_DEBUGGING_TYPE NO_DEBUG
#endif
/* Define codes for all the float formats that we know of. */
#define UNKNOWN_FLOAT_FORMAT 0
#define IEEE_FLOAT_FORMAT 1
#define VAX_FLOAT_FORMAT 2
/* Default to IEEE float if not specified. Nearly all machines use it. */
#ifndef TARGET_FLOAT_FORMAT
#define TARGET_FLOAT_FORMAT IEEE_FLOAT_FORMAT
#endif
#ifndef LARGEST_EXPONENT_IS_NORMAL
#define LARGEST_EXPONENT_IS_NORMAL(SIZE) 0
#endif
......
......@@ -1385,28 +1385,6 @@ of shift instructions expanded to libgcc calls. If not defined
targets.
@end deftypefn
@defmac TARGET_FLOAT_FORMAT
A code distinguishing the floating point format of the target machine.
There are two defined values:
@ftable @code
@item IEEE_FLOAT_FORMAT
This code indicates IEEE floating point. It is the default; there is no
need to define @code{TARGET_FLOAT_FORMAT} when the format is IEEE@.
@item VAX_FLOAT_FORMAT
This code indicates the ``F float'' (for @code{float}) and ``D float''
or ``G float'' formats (for @code{double}) used on the VAX and PDP-11@.
@end ftable
If your target uses a floating point format other than these, you must
define a new @var{name}_FLOAT_FORMAT code for it, and add support for
it to @file{real.c}.
The ordering of the component words of floating point values stored in
memory is controlled by @code{FLOAT_WORDS_BIG_ENDIAN}.
@end defmac
@defmac ROUND_TOWARDS_ZERO
If defined, this macro should be true if the prevailing rounding
mode is towards zero.
......
2008-08-12 Ulrich Weigand <uweigand@de.ibm.com>
* typeck.c (convert): Do not check for TARGET_FLOAT_FORMAT.
2008-08-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 28875
......
......@@ -131,8 +131,7 @@ convert (tree type, tree expr)
if (type == char_type_node || type == promoted_char_type_node)
return fold_convert (type, expr);
if ((really_constant_p (expr) || ! flag_unsafe_math_optimizations)
&& TREE_CODE (TREE_TYPE (expr)) == REAL_TYPE
&& TARGET_FLOAT_FORMAT == IEEE_FLOAT_FORMAT)
&& TREE_CODE (TREE_TYPE (expr)) == REAL_TYPE)
return convert_ieee_real_to_integer (type, expr);
else
{
......
......@@ -1740,9 +1740,8 @@ simplify_binary_operation_1 (enum rtx_code code, enum machine_mode mode,
so we can distinguish it from a register-register-copy.
In IEEE floating point, x-0 is not the same as x. */
if ((TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT
|| ! FLOAT_MODE_P (mode) || flag_unsafe_math_optimizations)
if (!(HONOR_SIGNED_ZEROS (mode)
&& HONOR_SIGN_DEPENDENT_ROUNDING (mode))
&& trueop1 == CONST0_RTX (mode))
return op0;
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment