This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
gcc 4.1 and 4.2 comparison on SPEC2000 on PPC64
- From: "Vladimir N. Makarov" <vmakarov at redhat dot com>
- To: gcc at gcc dot gnu dot org
- Cc: Mark Mitchell <mark at codesourcery dot com>
- Date: Sat, 24 Feb 2007 10:09:26 -0500
- Subject: gcc 4.1 and 4.2 comparison on SPEC2000 on PPC64
Here is the comparison of 4.1 and 4.2 branches (as of day before
yesterday) on SPEC2000 for ppc64.
In brief, gcc4.2 generates 3% faster code for SPECFP2000 and the same
code for SPECInt2000. In average the generated SPECInt2000 code size
is 0.5% smaller for gcc4.2. The SPECFp2000 code is 1.7% bigger for
4.2.
Gcc 4.2 is 17% slower than 4.1 (--enable-checking=release was used for
building 4.1 and 4.2 compilers). I saw the same on Itanium. So I can
guess such slowdown is for all ports. That is sad but usual.
One strange thing. Specint2000 gcc compiled by gcc 4.1 generated a
different code from the expected one. The generated code uses a
different registers (63 instead of 31 and 62 instead of 30) in few
places. So the M88k code would be correct if m88k had 64 registers
(as I remember m88k has only 32 registers). There is no such bug on
SPECInt2000 test set. I don't think that fixing the bug changes 4.1
SPECINT2000 score.
The machine is with 2.5Ghz PPC970FX.
Common option is -O2.
base: 4.1 branch
peak: 4.2 branch
========================================================================
164.gzip 1400 184 762* 1400 181 772*
175.vpr 1400 304 460* 1400 303 462*
176.gcc 1100 125 880* 1100 126 875*
181.mcf 1800 541 333* 1800 544 331*
186.crafty 1000 86.1 1162* 1000 86.6 1155*
197.parser 1800 343 525* 1800 343 524*
252.eon 1300 114 1140* 1300 121 1074*
253.perlbmk 1800 246 731* 1800 242 745*
254.gap 1100 160 686* 1100 155 710*
255.vortex 1900 229 828* 1900 221 860*
256.bzip2 1500 249 602* 1500 249 602*
300.twolf 3000 591 508* 3000 593 506*
Est. SPECint_base2000 676
Est. SPECint2000 677
========================================================================
168.wupwise 1600 158 1014* 1600 156 1028*
171.swim 3100 1138 273* 3100 1135 273*
172.mgrid 1800 307 585* 1800 282 639*
173.applu 2100 307 684* 2100 295 711*
177.mesa 1400 134 1044* 1400 136 1028*
178.galgel 2900 696 417* 2900 540 537*
179.art 2600 393 662* 2600 391 665*
183.equake 1300 135 966* 1300 133 979*
187.facerec 1900 213 892* 1900 210 903*
188.ammp 2200 565 389* 2200 565 390*
189.lucas 2000 223 898* 2000 222 902*
191.fma3d 2100 233 903* 2100 229 918*
200.sixtrack 1100 193 571* 1100 193 570*
301.apsi 2600 449 579* 2600 443 587*
Est. SPECfp_base2000 658
Est. SPECfp2000 680
Code size (text segment).
----------------CINT2000-----------------
-4.203% 48233 46206 164.gzip
-0.303% 163721 163225 175.vpr
-0.754% 1527534 1516014 176.gcc
-1.322% 14528 14336 181.mcf
-0.413% 193845 193045 186.crafty
-0.435% 125162 124618 197.parser
2.621% 425603 436757 252.eon
-0.712% 636015 631487 253.perlbmk
-0.889% 579846 574694 254.gap
-0.028% 635534 635358 255.vortex
-0.517% 39040 38838 256.bzip2
-0.541% 234977 233705 300.twolf
Average = -0.499646%
----------------CFP2000-----------------
6.533% 26451 28179 168.wupwise
4.263% 9735 10150 171.swim
13.455% 14983 16999 172.mgrid
4.578% 46486 48614 173.applu
-0.320% 585182 583310 177.mesa
-2.887% 242781 235772 178.galgel
-2.110% 18199 17815 179.art
-0.461% 20841 20745 183.equake
0.847% 66149 66709 187.facerec
0.084% 133387 133499 188.ammp
-2.102% 44537 43601 189.lucas
3.221% 931003 960988 191.fma3d
-3.062% 881387 854399 200.sixtrack
7.043% 129696 138831 301.apsi
Average = 1.71072%
SPECINT2000 compilation time
4.1:
real 6m45.549s
user 5m33.234s
sys 0m34.823s
4.2:
real 7m41.562s
user 6m29.078s
sys 0m35.744s