i386.c (setup_incoming_varargs_64): Tolerate 64bit preferred stack boundary.

* i386.c (setup_incoming_varargs_64): Tolerate 64bit preferred
	stack boundary.

From-SVN: r127189
This commit is contained in:
Jan Hubicka 2007-08-04 01:07:25 +02:00 committed by Jan Hubicka
parent f353733a26
commit 48dd736cd4
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2007-08-03 Jan Hubicka <jh@suse.cz>
* i386.c (setup_incoming_varargs_64): Tolerate 64bit preferred
stack boundary.
2007-08-03 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (struct processor_cost): Change

View File

@ -4694,7 +4694,14 @@ setup_incoming_varargs_64 (CUMULATIVE_ARGS *cum)
/* Indicate to allocate space on the stack for varargs save area. */
ix86_save_varrargs_registers = 1;
cfun->stack_alignment_needed = 128;
/* We need 16-byte stack alignment to save SSE registers. If user
asked for lower preferred_stack_boundary, lets just hope that he knows
what he is doing and won't varargs SSE values.
We also may end up assuming that only 64bit values are stored in SSE
register let some floating point program work. */
if (ix86_preferred_stack_boundary >= 128)
cfun->stack_alignment_needed = 128;
save_area = frame_pointer_rtx;
set = get_varargs_alias_set ();