]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
defaults.h (TARGET_FLOAT_FORMAT): Remove.
authorUlrich Weigand <uweigand@gcc.gnu.org>
Tue, 12 Aug 2008 13:27:30 +0000 (13:27 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Tue, 12 Aug 2008 13:27:30 +0000 (13:27 +0000)
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

gcc/ChangeLog
gcc/config/alpha/alpha.h
gcc/config/iq2000/iq2000.h
gcc/config/pdp11/pdp11.h
gcc/config/score/score.h
gcc/config/vax/vax.h
gcc/defaults.h
gcc/doc/tm.texi
gcc/java/ChangeLog
gcc/java/typeck.c
gcc/simplify-rtx.c

index ceab6a46a4b5150bf501a7ca3fa728f7b8668a74..45f2cb97e722f7263bba62544ddb8f435e0f4090 100644 (file)
@@ -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.
index 5f2431e2978e53d8cf934b9c14aa17029cb1d432..b37a19d1e44de82db3c7a544ac7b61d6ef62e177 100644 (file)
@@ -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.  */
index f5574e4d7573d5518f72ac4cd30d89666f827473..f99a85d9593c7cf3f211455709061835a2127375 100644 (file)
 
 #define PCC_BITFIELD_TYPE_MATTERS 1
 
-#define TARGET_FLOAT_FORMAT IEEE_FLOAT_FORMAT
-
 \f
 /* Layout of Source Language Data Types.  */
 
index 4b8c231376e6f8358b657fc6680a526addc957bb..662886cf8dbf7b9701905f736020c35aa840fdf8 100644 (file)
@@ -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;
 
index 78d2c574e1a2b0bc9d6d688b1d609ef4a537fef4..d400f6ab0ce6d35e02fe54a6941995fd28eb9000 100644 (file)
    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
index 68726ffcf2b8f073c1f9a025cce2ee58468db642..84a6ba4bd1a3afe08ea0ed157eabd7e3c34705fb 100644 (file)
@@ -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.
 
index d6145a4b76716e2c2d3061e35f709ec0f70410e6..282a14ac00a063e024864fc6c578c62229bd9ae7 100644 (file)
@@ -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
index facf6f48688f502a24abd978ff033c96e8515ac5..5decc331bd425e420bbc16d56bcfef423d6cd9b4 100644 (file)
@@ -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.
index ba39be4297161cc1ec42439d35f54c9c13dea7e4..f1ee4d6febc33ccbda643458c2d9f54263293574 100644 (file)
@@ -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
index 1028c73ad14c68e36a7789d5c0b3d01968956e78..e812f31b829091bc453f2adde483ad8bd3173108 100644 (file)
@@ -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
        {
index 5c57c8949ebd2b619ebee42c95261a73f9ea0381..6fd77ff1543be2e63243b773b13fd0a58e9be8cd 100644 (file)
@@ -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