Hello! > I noticed in prologue/epilogue, GCC prefers to use MOVs followed by a > SP adjustment instead of a sequence of pushes/pops. The preference to > the MOVs are good for old CPU micro-architectures (before pentium-4, > K10), because it breaks the data dependency. In modern > micro-architecture, push/pop is implemented using a mechanism called > stack engine. The data dependency is removed by the hardware, and > push/pop becomes very cheap (1 uOp, 1 cycle latency), and they are > smaller. There is no longer the need to avoid using them. This is > also what ICC does.
> 2012-12-08 Xinliang David Li <davi...@google.com> > * config/i386/i386.c: Eanble push/pop in pro/epilogue for moderen > CPUs. s/moderen/modern OK for mainline SVN. Thanks, Uros.