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