builtins.c (expand_builtin_apply_args_1): Call force_operand on plus_constant result.

* builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
	Call force_operand on plus_constant result.

From-SVN: r75306
This commit is contained in:
Hans-Peter Nilsson 2004-01-01 17:17:00 +00:00 committed by Hans-Peter Nilsson
parent 997404de62
commit ac3f5df709
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2004-01-01 Hans-Peter Nilsson <hp@bitrange.com>
* builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
Call force_operand on plus_constant result.
2004-01-01 Jan Hubicka <jh@suse.cz>
* expmed.c (store_bit_field, extract_bit_field): Use new named patterns

View File

@ -1128,8 +1128,11 @@ expand_builtin_apply_args_1 (void)
tem = copy_to_reg (virtual_incoming_args_rtx);
#ifdef STACK_GROWS_DOWNWARD
/* We need the pointer as the caller actually passed them to us, not
as we might have pretended they were passed. */
tem = plus_constant (tem, current_function_pretend_args_size);
as we might have pretended they were passed. Make sure it's a valid
operand, as emit_move_insn isn't expected to handle a PLUS. */
tem
= force_operand (plus_constant (tem, current_function_pretend_args_size),
NULL_RTX);
#endif
emit_move_insn (adjust_address (registers, Pmode, 0), tem);