[Adding ARM maintainers to CC]

On Oct 21, 2014, at 9:44 AM, Sebastian Pop <seb...@gmail.com> wrote:

> Hi Maxim,
> 
> Maxim Kuvyrkov wrote:
>> Thanks, benchmarking results are welcome!  AArch64 doesn't use reg_pressure
>> scheduling by default.  Use "-fsched-pressure
>> --param=sched-pressure-algorithm=2" to enable same thing as on ARM.  I would
>> imagine C++ and Fortran floating-point code to be most affected.
> 
> On aarch64 I only see perf improvements with your patch: no perf degradations 
> on
> all the tests that I have run.
> 
> base0: r216447, -O3
> base1: r216447, -O3 -fsched-pressure --param=sched-pressure-algorithm=2
> patch: r216447 + your patch, -O3 -fsched-pressure 
> --param=sched-pressure-algorithm=2
> 
> patch vs. base1 is only an improvement.
> 
> base1 vs. base0 has a few good improvements, and some small degradations: your
> patch improves the perf for one of the degradations to the point it is better
> now with -fsched-pressure --param=sched-pressure-algorithm=2 than at -O3.
> 
> Could we turn on "-fsched-pressure --param=sched-pressure-algorithm=2" by
> default for aarch64?

These are great results, yay!  Sebastian, what benchmarks did you run?

We need to see improvements on spec2k / spec2k6 to enable register-pressure 
scheduling on AArch64 by default.  The current understanding is that AArch64 
has enough registers to not benefit from pressure-aware scheduling.  On the 
other hand, one could argue that cores with more complex pipelines (e.g., A57) 
might not benefit from pipeline-oriented scheduling either, and, therefore, 
scheduling for register pressure can provide a better win.

Thank you,

--
Maxim Kuvyrkov
www.linaro.org

Reply via email to