diff options
author | Richard Henderson <rth@redhat.com> | 2014-02-10 17:12:38 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2014-02-10 17:12:38 -0800 |
commit | f830ddc257d1d708801f1a42b181f462da14637a (patch) | |
tree | 2578973d4cdade0f80d29d8d2dd1672a865ddc1e /gcc/calls.c | |
parent | 636109955cf4bee3387565546a365976e7b49f09 (diff) | |
download | gcc-f830ddc257d1d708801f1a42b181f462da14637a.zip gcc-f830ddc257d1d708801f1a42b181f462da14637a.tar.gz gcc-f830ddc257d1d708801f1a42b181f462da14637a.tar.bz2 |
re PR target/59927 (ICE sorry, unimplemented: ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it)
PR target/59927
* calls.c (expand_call): Don't double-push for reg_parm_stack_space.
* config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
ms-abi vs -mno-accumulate-outgoing-args.
(ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
respect to ms-abi.
From-SVN: r207677
Diffstat (limited to 'gcc/calls.c')
-rw-r--r-- | gcc/calls.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index d574a95..f392319 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -2955,6 +2955,7 @@ expand_call (tree exp, rtx target, int ignore) /* If we push args individually in reverse order, perform stack alignment before the first push (the last arg). */ if (PUSH_ARGS_REVERSED && argblock == 0 + && adjusted_args_size.constant > reg_parm_stack_space && adjusted_args_size.constant != unadjusted_args_size) { /* When the stack adjustment is pending, we get better code |