https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65780

--- Comment #48 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Stupachenko Evgeny from comment #47)
> The patch caused significant regressions (see below) on spec2000 INT
> benchmarks compiled with options “-fPIE -pie -O2 -ffast-math -mfpmath=sse
> -m32 -march=corei7-avx” or “-fPIE -pie -O2 -ffast-math -mfpmath=sse -m32
> -march=slm”.
> 
> Sandybridge:
> 164.gzip    1635.0000  1602.0000 -2.01% 
> 197.parser  2159.0000  2117.0000 -1.94% 
> 254.gap     2909.0000  2886.0000 -0.79% 
> 256.bzip2   2232.0000  2154.0000 -3.49%
> 
> Silvermont:
> 164.gzip     964.0000   945.0000 -1.97% 
> 197.parser   951.0000   940.0000 -1.15% 
> 254.gap     1328.0000  1296.0000 -2.40% 
> 256.bzip2    952.0000   898.0000 -5.67%

That is the price to pay for correctness.  If you want to avoid that penalty,
I'd say change ld.bfd as well as ld.gold on i?86 to use COPY relocations for
PIEs like x86_64 has been changed some time ago, then when configured against
improved linker and with small patch to gcc you can recover not just that cost,
but some more on top of that.

Reply via email to