aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2002-09-22 05:15:38 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2002-09-22 03:15:38 +0000
commitef49d42ecee756c213ee45076cb22048e8b8154e (patch)
treefb52784de375f08c3cf2693f0ccb8025eb6e02ab
parentda7d8304097f7ee1fb0e484b692acd38abc406fb (diff)
downloadgcc-ef49d42ecee756c213ee45076cb22048e8b8154e.zip
gcc-ef49d42ecee756c213ee45076cb22048e8b8154e.tar.gz
gcc-ef49d42ecee756c213ee45076cb22048e8b8154e.tar.bz2
i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
* i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64. * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128 for -Os/TARGET_64BIT too. From-SVN: r57399
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/i386/i386.c6
-rw-r--r--gcc/config/i386/i386.h4
3 files changed, 16 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5917673..821271c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
+
+Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
+ for -Os/TARGET_64BIT too.
+
2002-09-21 Kazu Hirata <kazu@cs.umass.edu>
* ChangeLog: Follow spelling conventions.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 252c724..b72047e 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -1120,14 +1120,14 @@ override_options ()
don't want additional code to keep the stack aligned when
optimizing for code size. */
ix86_preferred_stack_boundary = (optimize_size
- ? TARGET_64BIT ? 64 : 32
+ ? TARGET_64BIT ? 128 : 32
: 128);
if (ix86_preferred_stack_boundary_string)
{
i = atoi (ix86_preferred_stack_boundary_string);
- if (i < (TARGET_64BIT ? 3 : 2) || i > 12)
+ if (i < (TARGET_64BIT ? 4 : 2) || i > 12)
error ("-mpreferred-stack-boundary=%d is not between %d and 12", i,
- TARGET_64BIT ? 3 : 2);
+ TARGET_64BIT ? 4 : 2);
else
ix86_preferred_stack_boundary = (1 << i) * BITS_PER_UNIT;
}
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 7cd3962..acd2db0 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -729,7 +729,11 @@ extern int x86_prefetch_sse;
supports no vector modes, cut out the complexity and fall back
on BIGGEST_FIELD_ALIGNMENT. */
#ifdef IN_TARGET_LIBS
+#ifdef __x86_64__
+#define BIGGEST_FIELD_ALIGNMENT 128
+#else
#define BIGGEST_FIELD_ALIGNMENT 32
+#endif
#else
#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
x86_field_alignment (FIELD, COMPUTED)