aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Cox <coxs@gnu.org>1996-09-30 19:23:11 +0000
committerStan Cox <coxs@gnu.org>1996-09-30 19:23:11 +0000
commitbcd864336c411357ce36ddb02b1e55fa4b00befd (patch)
tree1fc7ab06e0b4fab3685d97962567407229a1f996
parent22b519d5d86d0f68b34405de570e9d73bf73e5d8 (diff)
downloadgcc-bcd864336c411357ce36ddb02b1e55fa4b00befd.zip
gcc-bcd864336c411357ce36ddb02b1e55fa4b00befd.tar.gz
gcc-bcd864336c411357ce36ddb02b1e55fa4b00befd.tar.bz2
(CPP_CPU_SPEC): New. Added for defining the submodel.
From-SVN: r12876
-rw-r--r--gcc/config/i386/i386.h38
1 files changed, 30 insertions, 8 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 480a55b..bb59019 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -164,7 +164,7 @@ extern int target_flags;
#define TARGET_USE_Q_REG (ix86_cpu == PROCESSOR_PENTIUM \
|| ix86_cpu == PROCESSOR_PENTIUMPRO)
#define TARGET_USE_ANY_REG (ix86_cpu == PROCESSOR_I486)
-#define TARGET_CMOVE (ix86_isa == PROCESSOR_PENTIUMPRO)
+#define TARGET_CMOVE (ix86_arch == PROCESSOR_PENTIUMPRO)
#define TARGET_DEEP_BRANCH_PREDICTION (ix86_cpu == PROCESSOR_PENTIUMPRO)
#define TARGET_STACK_PROBE (target_flags & MASK_STACK_PROBE)
@@ -227,11 +227,7 @@ enum processor_type
extern enum processor_type ix86_cpu;
-extern int ix86_isa;
-
-/* Define generic processor types based upon current deployment. */
-#define PROCESSOR_COMMON PROCESSOR_I386
-#define PROCESSOR_COMMON_STRING PROCESSOR_I386_STRING
+extern int ix86_arch;
/* Define the default processor. This is overridden by other tm.h files. */
#define PROCESSOR_DEFAULT \
@@ -262,7 +258,7 @@ extern int ix86_isa;
by appending `-m' to the specified name. */
#define TARGET_OPTIONS \
{ { "cpu=", &ix86_cpu_string}, \
- { "arch=", &ix86_isa_string}, \
+ { "arch=", &ix86_arch_string}, \
{ "reg-alloc=", &i386_reg_alloc_order }, \
{ "regparm=", &i386_regparm_string }, \
{ "align-loops=", &i386_align_loops_string }, \
@@ -305,6 +301,32 @@ extern int ix86_isa;
%{mpentiumpro:-mcpu=pentiumpro}}"
#endif
+#ifndef CPP_CPU_SPEC
+#define CPP_CPU_SPEC "\
+-Di386 -Asystem(unix) -Acpu(i386) -Amachine(i386) \
+%{mcpu=i486:-Di486} %{m486:-Di486} \
+%{mpentium:-Dpentium -Di586} %{mcpu=pentium:-Dpentium -Di586} \
+%{mpentiumpro:-Dpentiumpro -Di686} %{mcpu=pentiumpro:-Dpentiumpro -Di686}"
+#endif
+
+/* This macro defines names of additional specifications to put in the specs
+ that can be used in various specifications like CC1_SPEC. Its definition
+ is an initializer with a subgrouping for each command option.
+
+ Each subgrouping contains a string constant, that defines the
+ specification name, and a string constant that used by the GNU CC driver
+ program.
+
+ Do not define this macro if it does not need to do anything. */
+
+#ifndef SUBTARGET_EXTRA_SPECS
+#define SUBTARGET_EXTRA_SPECS
+#endif
+
+#define EXTRA_SPECS \
+ { "cpp_cpu", CPP_CPU_SPEC }, \
+ SUBTARGET_EXTRA_SPECS
+
/* target machine storage layout */
/* Define for XFmode extended real floating point support.
@@ -2637,7 +2659,7 @@ extern void rewrite_address ();
/* Variables in i386.c */
extern char *ix86_cpu_string; /* for -mcpu=<xxx> */
-extern char *ix86_isa_string; /* for -mcpu=<xxx> */
+extern char *ix86_arch_string; /* for -march=<xxx> */
extern char *i386_reg_alloc_order; /* register allocation order */
extern char *i386_regparm_string; /* # registers to use to pass args */
extern char *i386_align_loops_string; /* power of two alignment for loops */