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
This commit is contained in:
parent
4099e2c2bb
commit
b89723546a
11 changed files with 24 additions and 51 deletions
|
@ -1,3 +1,20 @@
|
|||
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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
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
|
||||
|
|
Loading…
Add table
Reference in a new issue