Commit a0506b54 by David Edelsohn Committed by David Edelsohn

function.c (assign_parms): Make sure parm PARALLEL combined in reg is composed…

function.c (assign_parms): Make sure parm PARALLEL combined in reg is composed of more than one object and...

        * function.c (assign_parms): Make sure parm PARALLEL combined
        in reg is composed of more than one object and the mode really
        produces a reg.

From-SVN: r74214
parent 296e4ae8
2003-12-03 David Edelsohn <edelsohn@gnu.org>
* function.c (assign_parms): Make sure parm PARALLEL combined
in reg is composed of more than one object and the mode really
produces a reg.
2003-12-03 Jan Hubicka <jh@suse.cz>
* i386.c (classify_argument): Make it 64bit clean.
......
......@@ -4704,13 +4704,19 @@ assign_parms (tree fndecl)
Set DECL_RTL to that place. */
if (GET_CODE (entry_parm) == PARALLEL && nominal_mode != BLKmode)
if (GET_CODE (entry_parm) == PARALLEL && nominal_mode != BLKmode
&& XVECLEN (entry_parm, 0) > 1)
{
/* Objects the size of a register can be combined in registers */
/* Reconstitute objects the size of a register or larger using
register operations instead of the stack. */
rtx parmreg = gen_reg_rtx (nominal_mode);
emit_group_store (parmreg, entry_parm, TREE_TYPE (parm),
int_size_in_bytes (TREE_TYPE (parm)));
SET_DECL_RTL (parm, parmreg);
if (REG_P (parmreg))
{
emit_group_store (parmreg, entry_parm, TREE_TYPE (parm),
int_size_in_bytes (TREE_TYPE (parm)));
SET_DECL_RTL (parm, parmreg);
}
}
if (nominal_mode == BLKmode
......
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