> [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.
Cores with complex pipelines might benefit less from such scheduling, but if x86-64, which is as complex as it gets, generally benefitted from other scheduling algorithms at least, I'd wager that A57 could experience some boost as well. Cheers, -- Evandro Menezes Austin, TX