This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Enable fmove-loop-invariants by default


Hello,

> > The problem is that not all the things that loop.c implements have
> > been replaced yet, such as loop invariant code motion until today;
> > and loop reversal and loop array prefetching.
> 
> My opinion is that if removing loop.c doesn't cause any performance
> degradation, then it's failure to implement optimizations shouldn't be
> considered a problem.  The point of loop reversal and loop array
> prefetching is to improve performance; if those optimizations don't
> improve performance, then we shouldn't be sad to see them go.
> 
> The above is of course predicated on performance being measured over a
> wide enough set of platforms on a wide enough set of benchmarks; I'm not
> sure that SPEC alone is sufficient.
> 
> However, it might be reasonable to make a plan like the following:
> 
> 1. Test the performance impact of removing loop.c with SPEC on popular
> platforms, like, say, AMD64, ARM, PowerPC, and Itanium.  (A somewhat
> random set, certainly prejudiced by my own experience; the goal is to
> get a mix of workstation and embeded processors.)

results from AMD64 are below (base -O2, peak -O2 -fno-loop-optimize).
Also, in nullstone set of microbenchmarks on i686, there are no
regressions exceeding 5% (I have checked some between 3-5%, and they
seem to be just noise -- most of them do not contain any loops).

Zdenek

   164.gzip          1400  165         846   *     1400  166          841  *
   175.vpr           1400  175         800   *     1400  175          799  *
   176.gcc           1100  102        1083   *     1100  103         1065  *
   181.mcf           1800  427         421   *     1800  423          425  *
   186.crafty                                X                             X
   197.parser        1800  277         651   *     1800  277          649  *
   252.eon           1300   90.0      1444   *     1300   88.9       1463  *
   253.perlbmk                               X                             X
   254.gap           1100  131         840   *     1100  129          855  *
   255.vortex                                X                             X
   256.bzip2         1500  177         846   *     1500  177          846  *
   300.twolf         3000  325         923   *     3000  324          926  *
   Est. SPECint_base2000               832   
   Est. SPECint2000                                                   833  

   168.wupwise       1600   167       957    *     1600   161       996    *
   171.swim          3100   489       634    *     3100   487       636    *
   172.mgrid         1800   241       746    *     1800   241       748    *
   173.applu         2100   339       620    *     2100   335       627    *
   177.mesa          1400   119      1178    *     1400   117      1198    *
   178.galgel                                X                             X
   179.art           2600   355       733    *     2600   357       727    *
   183.equake        1300   164       795    *     1300   164       795    *
   187.facerec       1900   258       736    *     1900   257       739    *
   188.ammp          2200   237       929    *     2200   238       926    *
   189.lucas         2000   241       831    *     2000   241       830    *
   191.fma3d         2100   296       711    *     2100   293       718    *
   200.sixtrack      1100   258       427    *     1100   258       426    *
   301.apsi          2600   304       856    *     2600   304       855    *
   Est. SPECfp_base2000               760    
   Est. SPECfp2000                                                  765    


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]