This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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