From 8f23c89a5fd677301137917b2658e564f770acd5 Mon Sep 17 00:00:00 2001 From: James Greenhalgh Date: Wed, 23 Nov 2016 17:24:28 +0000 Subject: [PATCH] [Patch 7/17] Delete TARGET_FLT_EVAL_METHOD and poison it. 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 | 10 ++++++++++ gcc/config/i386/i386.h | 11 ----------- gcc/config/m68k/m68k.h | 5 ----- gcc/config/s390/s390.h | 5 ----- gcc/defaults.h | 3 --- gcc/doc/tm.texi | 7 ------- gcc/doc/tm.texi.in | 7 ------- gcc/system.h | 2 +- 8 files changed, 11 insertions(+), 39 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 66045fb..963f022 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,15 @@ 2016-11-23 James Greenhalgh + * 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 + * toplev.c (init_excess_precision): Delete most logic. * tree.c (excess_precision_type): Rewrite to use TARGET_EXCESS_PRECISION. diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 05d197c..83ffd4e 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -690,17 +690,6 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); SUBTARGET_EXTRA_SPECS -/* 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. */ diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 7b63bd2..6837d41 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -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 diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h index 501c8e4..6be4d34 100644 --- a/gcc/config/s390/s390.h +++ b/gcc/config/s390/s390.h @@ -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. */ diff --git a/gcc/defaults.h b/gcc/defaults.h index 9c40002..2536f76 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -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 diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 144e63f..bd82039 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -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 diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index 7d8dcff..95f5fd9 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -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 diff --git a/gcc/system.h b/gcc/system.h index 3e12017..cf86235 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -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. */ -- 2.7.4