https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81312
Bug ID: 81312 Summary: Enable X86_TUNE_ACCUMULATE_OUTGOING_ARGS Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com CC: hubicka at ucw dot cz, ubizjak at gmail dot com Target Milestone: --- x86-tune.def has * X86_TUNE_ACCUMULATE_OUTGOING_ARGS: Allocate stack space for outgoing arguments in prologue/epilogue instead of separately for each call by push/pop instructions. This increase code size by about 5% in 32bit mode, less so in 64bit mode because parameters are passed in registers. It is considerable win for targets without stack engine that prevents multple push operations to happen in parallel. FIXME: the flags is incorrectly enabled for amdfam10, Bulldozer, Bobcat and Generic. This is because disabling it causes large regression on mgrid due to IRA limitation leading to unecessary use of the frame pointer in 32bit mode. */ DEF_TUNE (X86_TUNE_ACCUMULATE_OUTGOING_ARGS, "accumulate_outgoing_args", m_PPRO | m_P4_NOCONA | m_BONNELL | m_SILVERMONT | m_KNL | m_INTEL | m_ATHLON_K8) Is this still true today for the current AMD processors? If yes, I'd like to enable it for 64-bit -mtune=generic.