(CPP_CPU_SPEC): New. Added for defining the submodel.
authorStan Cox <coxs@gnu.org>
Mon, 30 Sep 1996 19:23:11 +0000 (19:23 +0000)
committerStan Cox <coxs@gnu.org>
Mon, 30 Sep 1996 19:23:11 +0000 (19:23 +0000)
From-SVN: r12876

gcc/config/i386/i386.h

index 480a55b8ab6e7fd2320a16258e77d8816c8c5d97..bb5901977db153139e261f737061f57304df64a6 100644 (file)
@@ -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
 \f
+#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
+\f
 /* 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 */