I have not measured the CFI size impact -- but conceivably it should be larger -- which is unfortunate.
David On Mon, Dec 10, 2012 at 1:23 AM, Richard Biener <richard.guent...@gmail.com> wrote: > On Sun, Dec 9, 2012 at 2:50 PM, Uros Bizjak <ubiz...@gmail.com> wrote: >> 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. > > It's also more costly for unwind info in the prologue/epilogue. Thus, did you > measure the effect on CFI size? > > Thanks, > Richard. > >> Thanks, >> Uros.