[Patch, i386] Turn on -fschedule-insns and -fsched-pressure by default for x86-64
Jack Howarth
howarth@bromo.med.uc.edu
Wed Dec 8 01:32:00 GMT 2010
On Tue, Dec 07, 2010 at 08:23:22PM +0100, Paolo Bonzini wrote:
> On 12/06/2010 09:04 PM, Fang, Changpeng wrote:
>> Hi,
>>
>> Attached is the patch that proposes to turn on -fschedule-insns and -fsched-pressure by default at
>> -O2 or higher (for speed-runs only) for x86-64 systems. Enablement of these two flags could improve
>> the performance of floating point programs (For CFP2006, 2.29% under -O2, and 1.34% under -O3).
>> There is no apparent performance impact on integer programs (as expected).
>>
>> We have investigated this optimization since 4.5, and it is the time to turn on these two flags to enjoy
>> the performance gains.
>
> I think enabling rename registers whenever schedule_insns2 is enabled
> would achieve almost the same freedom without risking bugs like 46829.
> There are just too many singleton register classes in i386 for
> schedule-insns to work. :(
>
> Paolo
Paolo,
The improvements in the Polyhedron benchmark from -frename-registers on x86_64-apple-darwin10
appear marginal.
gfortran -mtune=core2 -ffast-math -funroll-loops -O3 %n.f90 -o %n
benchmark stock -frename-registers %change
ac 8.81 8.80 -0.1
aermod 17.21 17.21 0.0
air 5.53 5.56 0.5
capacita 32.39 32.37 -0.1
channel 1.84 1.84 0.0
doduc 26.40 26.39 0.0
fatigue 8.14 8.11 -0.4
gas_dyn 4.31 4.32 0.2
induct 12.85 12.84 -0.1
linpk 15.47 15.48 0.1
mdbx 11.21 11.22 0.1
nf 29.98 29.94 -0.1
protein 34.03 32.04 -6.2
rnflow 23.13 23.12 -0.0
test_fpu 8.03 8.03 0.0
tfft 1.87 1.86 -0.5
Geometric Mean 10.84 10.80 -0.4
Jack
More information about the Gcc-patches
mailing list