@@ -2907,23 +2907,23 @@ assign_parm_setup_block (struct assign_p
}
data->stack_parm = NULL;
}
size = int_size_in_bytes (data->passed_type);
size_stored = CEIL_ROUND (size, UNITS_PER_WORD);
if (stack_parm == 0)
{
SET_DECL_ALIGN (parm, MAX (DECL_ALIGN (parm), BITS_PER_WORD));
if (DECL_ALIGN (parm) > MAX_SUPPORTED_STACK_ALIGNMENT)
{
- rtx allocsize = gen_int_mode (size, Pmode);
+ rtx allocsize = gen_int_mode (size_stored, Pmode);
get_dynamic_stack_size (&allocsize, 0, DECL_ALIGN (parm), NULL);
stack_parm = assign_stack_local (BLKmode, UINTVAL (allocsize),
MAX_SUPPORTED_STACK_ALIGNMENT);
rtx addr = align_dynamic_address (XEXP (stack_parm, 0),
DECL_ALIGN (parm));
mark_reg_pointer (addr, DECL_ALIGN (parm));
stack_parm = gen_rtx_MEM (GET_MODE (stack_parm), addr);
MEM_NOTRAP_P (stack_parm) = 1;
}
else
stack_parm = assign_stack_local (BLKmode, size_stored,