Commit 640019aa by Aldy Hernandez Committed by Aldy Hernandez

function.c (assign_parm_setup_block): Relax condition on multi-register optimization.

	* function.c (assign_parm_setup_block): Relax condition on
	multi-register optimization.

From-SVN: r93233
parent 88910b6a
2005-01-12 Aldy Hernandez <aldyh@redhat.com>
* function.c (assign_parm_setup_block): Relax condition on
multi-register optimization.
2005-01-12 Nick Clifton <nickc@redhat.com>
* config/sh/sh.md (udivsi3_sh2a, divsi3_sh2a): Give these patterns
......
......@@ -2560,8 +2560,12 @@ assign_parm_setup_block (struct assign_parm_data_all *all,
/* If we've a non-block object that's nevertheless passed in parts,
reconstitute it in register operations rather than on the stack. */
if (GET_CODE (entry_parm) == PARALLEL
&& data->nominal_mode != BLKmode
&& XVECLEN (entry_parm, 0) > 1
&& data->nominal_mode != BLKmode)
{
rtx elt0 = XEXP (XVECEXP (entry_parm, 0, 0), 0);
if ((XVECLEN (entry_parm, 0) > 1
|| hard_regno_nregs[REGNO (elt0)][GET_MODE (elt0)] > 1)
&& use_register_for_decl (parm))
{
rtx parmreg = gen_reg_rtx (data->nominal_mode);
......@@ -2597,6 +2601,7 @@ assign_parm_setup_block (struct assign_parm_data_all *all,
SET_DECL_RTL (parm, parmreg);
return;
}
}
size = int_size_in_bytes (data->passed_type);
size_stored = CEIL_ROUND (size, UNITS_PER_WORD);
......
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