aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Cox <coxs@gnu.org>1997-03-18 22:01:28 +0000
committerStan Cox <coxs@gnu.org>1997-03-18 22:01:28 +0000
commit33c1d53aecbdcd9b36fdfda48a19d6801185b694 (patch)
tree0170696172a95e1d0f857c8cb76dae2bf81886b2
parent03fc1620778b40e35e05a487bf208fd10e885cf0 (diff)
downloadgcc-33c1d53aecbdcd9b36fdfda48a19d6801185b694.zip
gcc-33c1d53aecbdcd9b36fdfda48a19d6801185b694.tar.gz
gcc-33c1d53aecbdcd9b36fdfda48a19d6801185b694.tar.bz2
(STACK_BOUNDARY): Determine according to TARGET_ALIGN_DOUBLE
From-SVN: r13738
-rw-r--r--gcc/config/i386/i386.h27
1 files changed, 23 insertions, 4 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 20ec844..6ee0d69 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -79,8 +79,8 @@ extern int target_flags;
/* Masks for the -m switches */
#define MASK_80387 000000000001 /* Hardware floating point */
-#define MASK_486 000000000002 /* 80486 specific */
-#define MASK_NOTUSED1 000000000004 /* bit not currently used */
+#define MASK_NOTUSED1 000000000002 /* bit not currently used */
+#define MASK_NOTUSED2 000000000004 /* bit not currently used */
#define MASK_RTD 000000000010 /* Use ret that pops args */
#define MASK_ALIGN_DOUBLE 000000000020 /* align doubles to 2 word boundary */
#define MASK_SVR3_SHLIB 000000000040 /* Uninit locals into bss */
@@ -303,12 +303,31 @@ extern int ix86_arch;
#endif
#ifndef CPP_CPU_SPEC
+#ifdef __STDC__
+#if TARGET_CPU_DEFAULT == 0
+#define CPP_CPU_DEFAULT ""
+#elif TARGET_CPU_DEFAULT == 1
+#define CPP_CPU_DEFAULT "-Di486"
+#elif TARGET_CPU_DEFAULT == 2
+#define CPP_CPU_DEFAULT "-Di586"
+#elif TARGET_CPU_DEFAULT == 3
+#define CPP_CPU_DEFAULT "-Di686"
+#endif /* TARGET_CPU_DEFAULT */
+
+#define CPP_CPU_SPEC "\
+-Di386 " CPP_CPU_DEFAULT " -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}"
+
+#else
#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
+#endif /* __STDC__ */
+#endif /* CPP_CPU_SPEC */
/* This macro defines names of additional specifications to put in the specs
that can be used in various specifications like CC1_SPEC. Its definition
@@ -373,7 +392,7 @@ extern int ix86_arch;
#define PARM_BOUNDARY 32
/* Boundary (in *bits*) on which stack pointer should be aligned. */
-#define STACK_BOUNDARY 32
+#define STACK_BOUNDARY (TARGET_ALIGN_DOUBLE ? 64 : 32)
/* Allocation boundary (in *bits*) for the code of a function.
For i486, we get better performance by aligning to a cache