gcc 4.1 and 4.2 comparison on SPEC2000 on PPC64

Vladimir N. Makarov vmakarov@redhat.com
Sat Feb 24 15:10:00 GMT 2007


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




More information about the Gcc mailing list