[Patch 7/17] Delete TARGET_FLT_EVAL_METHOD and poison it.
authorJames Greenhalgh <james.greenhalgh@arm.com>
Wed, 23 Nov 2016 17:24:28 +0000 (17:24 +0000)
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>
Wed, 23 Nov 2016 17:24:28 +0000 (17:24 +0000)
gcc/

* config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Delete.
* config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): Delete.
* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Delete.
* defaults.h (TARGET_FLT_EVAL_METHOD): Delete.
* doc/tm.texi.in (TARGET_FLT_EVAL_METHOD): Delete.
* doc/tm.texi: Regenerate.
* system.h (TARGET_FLT_EVAL_METHOD): Poison.

From-SVN: r242777

gcc/ChangeLog
gcc/config/i386/i386.h
gcc/config/m68k/m68k.h
gcc/config/s390/s390.h
gcc/defaults.h
gcc/doc/tm.texi
gcc/doc/tm.texi.in
gcc/system.h

index 66045fb9fefef9b414d17135cadcfd1a3e758cd2..963f022550fbf1f7b850c29d7a70f545a5235cc3 100644 (file)
@@ -1,3 +1,13 @@
+2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Delete.
+       * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): Delete.
+       * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Delete.
+       * defaults.h (TARGET_FLT_EVAL_METHOD): Delete.
+       * doc/tm.texi.in (TARGET_FLT_EVAL_METHOD): Delete.
+       * doc/tm.texi: Regenerate.
+       * system.h (TARGET_FLT_EVAL_METHOD): Poison.
+
 2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
 
        * toplev.c (init_excess_precision): Delete most logic.
index 05d197c1518deac35f4b48f3c695ba5ff2f5729b..83ffd4e5a58d781cc9a23ace77e231dcef3354e6 100644 (file)
@@ -690,17 +690,6 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
   SUBTARGET_EXTRA_SPECS
 \f
 
-/* Set the value of FLT_EVAL_METHOD in float.h.  When using only the
-   FPU, assume that the fpcw is set to extended precision; when using
-   only SSE, rounding is correct; when using both SSE and the FPU,
-   the rounding precision is indeterminate, since either may be chosen
-   apparently at random.  */
-#define TARGET_FLT_EVAL_METHOD                                         \
-  (TARGET_80387                                                                \
-   ? (TARGET_MIX_SSE_I387 ? -1                                         \
-      : (TARGET_SSE_MATH ? (TARGET_SSE2 ? 0 : -1) : 2))                        \
-   : 0)
-
 /* Whether to allow x87 floating-point arithmetic on MODE (one of
    SFmode, DFmode and XFmode) in the current excess precision
    configuration.  */
index 7b63bd2e77365bd3d620dc2f65364c319f6c842f..6837d416f964ee7acb0279ebc3bbdab17a6cd82a 100644 (file)
@@ -281,11 +281,6 @@ along with GCC; see the file COPYING3.  If not see
 #define LONG_DOUBLE_TYPE_SIZE                  \
   ((TARGET_COLDFIRE || TARGET_FIDOA) ? 64 : 80)
 
-/* Set the value of FLT_EVAL_METHOD in float.h.  When using 68040 fp
-   instructions, we get proper intermediate rounding, otherwise we
-   get extended precision results.  */
-#define TARGET_FLT_EVAL_METHOD ((TARGET_68040 || ! TARGET_68881) ? 0 : 2)
-
 #define BITS_BIG_ENDIAN 1
 #define BYTES_BIG_ENDIAN 1
 #define WORDS_BIG_ENDIAN 1
index 501c8e446df75fa35727b292fb0cf1383da4043e..6be4d34ce13a74365efa8af17f8f481550852809 100644 (file)
@@ -247,11 +247,6 @@ extern const char *s390_host_detect_local_cpu (int argc, const char **argv);
 #define S390_TDC_INFINITY (S390_TDC_POSITIVE_INFINITY \
                          | S390_TDC_NEGATIVE_INFINITY )
 
-/* This is used by float.h to define the float_t and double_t data
-   types.  For historical reasons both are double on s390 what cannot
-   be changed anymore.  */
-#define TARGET_FLT_EVAL_METHOD 1
-
 /* Target machine storage layout.  */
 
 /* Everything is big-endian.  */
index 9c4000252a207f88f8e81991899104cfc7873db7..2536f76584c85cb5b738f359ae58cf9ca48d5078 100644 (file)
@@ -942,9 +942,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define REG_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN
 #endif
 
-#ifndef TARGET_FLT_EVAL_METHOD
-#define TARGET_FLT_EVAL_METHOD 0
-#endif
 
 #ifndef TARGET_DEC_EVAL_METHOD
 #define TARGET_DEC_EVAL_METHOD 2
index 144e63f4ccf5a71ef469e582879c5d2e96a32777..bd820392b6dfc5d472547033631dc97127bc2baa 100644 (file)
@@ -1566,13 +1566,6 @@ uses this macro should also arrange to use @file{t-gnu-prefix} in
 the libgcc @file{config.host}.
 @end defmac
 
-@defmac TARGET_FLT_EVAL_METHOD
-A C expression for the value for @code{FLT_EVAL_METHOD} in @file{float.h},
-assuming, if applicable, that the floating-point control word is in its
-default state.  If you do not define this macro the value of
-@code{FLT_EVAL_METHOD} will be zero.
-@end defmac
-
 @defmac WIDEST_HARDWARE_FP_SIZE
 A C expression for the size in bits of the widest floating-point format
 supported by the hardware.  If you define this macro, you must specify a
index 7d8dcff14ea8efb75b3b0df5e1a42b9a97cfbde2..95f5fd9f2842f3baa17ca01764ab32358d5b485b 100644 (file)
@@ -1402,13 +1402,6 @@ uses this macro should also arrange to use @file{t-gnu-prefix} in
 the libgcc @file{config.host}.
 @end defmac
 
-@defmac TARGET_FLT_EVAL_METHOD
-A C expression for the value for @code{FLT_EVAL_METHOD} in @file{float.h},
-assuming, if applicable, that the floating-point control word is in its
-default state.  If you do not define this macro the value of
-@code{FLT_EVAL_METHOD} will be zero.
-@end defmac
-
 @defmac WIDEST_HARDWARE_FP_SIZE
 A C expression for the size in bits of the widest floating-point format
 supported by the hardware.  If you define this macro, you must specify a
index 3e120176c2b74d0eef2979912a69ff4ff914dee2..cf86235bcd1c36777b4338a3b929ff533d008ab1 100644 (file)
@@ -902,7 +902,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
        ASM_BYTE_OP MEMBER_TYPE_FORCES_BLK LIBGCC2_HAS_SF_MODE          \
        LIBGCC2_HAS_DF_MODE LIBGCC2_HAS_XF_MODE LIBGCC2_HAS_TF_MODE     \
        CLEAR_BY_PIECES_P MOVE_BY_PIECES_P SET_BY_PIECES_P              \
-       STORE_BY_PIECES_P
+       STORE_BY_PIECES_P TARGET_FLT_EVAL_METHOD
 
 /* Target macros only used for code built for the target, that have
    moved to libgcc-tm.h or have never been present elsewhere.  */