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:
parent
997404de62
commit
ac3f5df709
2 changed files with 10 additions and 2 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue