diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.h | 4 |
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) |