aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 0df0b82..07dd0b1 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -5019,7 +5019,7 @@ pad_to_arg_alignment (offset_ptr, boundary, alignment_pad)
int boundary_in_bytes = boundary / BITS_PER_UNIT;
- if (boundary > PARM_BOUNDARY)
+ if (boundary > PARM_BOUNDARY && boundary > STACK_BOUNDARY)
{
save_var = offset_ptr->var;
save_constant = offset_ptr->constant;
@@ -5041,7 +5041,7 @@ pad_to_arg_alignment (offset_ptr, boundary, alignment_pad)
(ARGS_SIZE_TREE (*offset_ptr),
boundary / BITS_PER_UNIT);
offset_ptr->constant = 0; /*?*/
- if (boundary > PARM_BOUNDARY)
+ if (boundary > PARM_BOUNDARY && boundary > STACK_BOUNDARY)
alignment_pad->var = size_binop (MINUS_EXPR, offset_ptr->var, save_var);
}
else
@@ -5052,7 +5052,7 @@ pad_to_arg_alignment (offset_ptr, boundary, alignment_pad)
#else
CEIL_ROUND (offset_ptr->constant, boundary_in_bytes);
#endif
- if (boundary > PARM_BOUNDARY)
+ if (boundary > PARM_BOUNDARY && boundary > STACK_BOUNDARY)
alignment_pad->constant = offset_ptr->constant - save_constant;
}
}