Commit 3a08477a by Richard Kenner

(store_one_arg): Don't pass ARG->STACK as TARGET if it is a different

mode than the expression (i.e., a promoted mode).

From-SVN: r5063
parent 377017c4
...@@ -2805,7 +2805,10 @@ store_one_arg (arg, argblock, may_be_alloca, variable_size, fndecl, ...@@ -2805,7 +2805,10 @@ store_one_arg (arg, argblock, may_be_alloca, variable_size, fndecl,
if (arg->pass_on_stack) if (arg->pass_on_stack)
stack_arg_under_construction++; stack_arg_under_construction++;
#endif #endif
arg->value = expand_expr (pval, partial ? NULL_RTX : arg->stack, arg->value = expand_expr (pval,
(partial
|| TYPE_MODE (TREE_TYPE (pval)) != arg->mode)
? NULL_RTX : arg->stack,
VOIDmode, 0); VOIDmode, 0);
/* If we are promoting object (or for any other reason) the mode /* If we are promoting object (or for any other reason) the mode
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment