aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Greenhalgh <james.greenhalgh@arm.com>2016-11-23 17:24:28 +0000
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>2016-11-23 17:24:28 +0000
commit8f23c89a5fd677301137917b2658e564f770acd5 (patch)
treef8639dd9c19a21d1ba8caae85c96c5178d455d9b
parent56d8ffc170912cb1dee5900799acaf5d4857fde9 (diff)
downloadgcc-8f23c89a5fd677301137917b2658e564f770acd5.zip
gcc-8f23c89a5fd677301137917b2658e564f770acd5.tar.gz
gcc-8f23c89a5fd677301137917b2658e564f770acd5.tar.bz2
[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
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/i386/i386.h11
-rw-r--r--gcc/config/m68k/m68k.h5
-rw-r--r--gcc/config/s390/s390.h5
-rw-r--r--gcc/defaults.h3
-rw-r--r--gcc/doc/tm.texi7
-rw-r--r--gcc/doc/tm.texi.in7
-rw-r--r--gcc/system.h2
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 <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.
* 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. */