------- Comment #6 from Joey dot ye at intel dot com 2009-02-12 02:33 ------- (In reply to comment #5) > If ACCUMULATE_OUTGOING_ARGS is off, ECX will be used > for stack alignment and it may lead to code size > increase due to register spill since ia32 has very > few registers. The code increase resulted from stack realign are mainly from prologue increase. ECX is only used as hard register in prologue/epilogue and the impact to function body is low.
If ACCUMULATE_OUTGOING_ARGS does increase code size, then for big functions, benefit of !ACCUMULATE_OUTGOING_ARGS will offset increase of prologue/epilogue. So simply enable ACCUMULATE_OUTGOING_ARGS for stack realign isn't be the best option for all cases either. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39148