public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [Patch ARM] Add big.LITTLE tuning options
@ 2013-12-17 10:40 James Greenhalgh
  2013-12-17 10:41 ` [ARM 3/5 big.LITTLE] Add support for -mcpu=cortex-a15.cortex-a7 James Greenhalgh
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: James Greenhalgh @ 2013-12-17 10:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: richard.earnshaw, ramana.radhakrishnan

[-- Attachment #1: Type: text/plain, Size: 1515 bytes --]

Hi,

This patch series adds machinery and functionality to enable
tuning for big.LITTLE systems when compiling for the ARM target.

We take the convention for names to -mcpu that for some big.LITTLE
system where the big core is 'x' and the little core is 'y', the -mcpu
name will be x.y

In order to acheive that, we must first tweak some infrastructure.

First, in order to reduce coupling between assembler versions, we
must add name rewriting for the -mcpu command. big.LITTLE systems
use architecturally compatible cores, so we can be sure that if
we are asked to assemble for cortex-a15.cortex-a7, then we can also
assemble for cortex-a15. Thus, we choose to truncate at the first '.'
delimiter between core names.

The ARM backend presently carries the limitation that each entry in
arm-cores.def must provide a unique 'tuning' target. This is
restrictive and would require constant churn modifications to the
scheduler descriptions to add each big.LITTLE flavour which is released.
We modify this infrastructure to still carry a unique identifier, but also
to carry a potentially shared sheduling identifier.

The final 3 patches add support for new -mcpu values:
cortex-a15.cortex-a7, cortex-a57, cortex-a57.cortex-a53.

The series has been regression tested and built on a number of
configurations, bootstrapped with option --with-cpu=cortex-a15.cortex-a7
and benchmarked on an Cortex-A15 based system and a Cortex-A7 base
system with no regressions.

OK?

Thanks,
James

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2014-01-27 14:59 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-17 10:40 [Patch ARM] Add big.LITTLE tuning options James Greenhalgh
2013-12-17 10:41 ` [ARM 3/5 big.LITTLE] Add support for -mcpu=cortex-a15.cortex-a7 James Greenhalgh
2013-12-17 12:01   ` Richard Earnshaw
2013-12-17 10:41 ` [ARM 5/5 big.LITTLE] Add support for -mcpu=cortex-a57.cortex-a53 James Greenhalgh
2013-12-17 12:08   ` Richard Earnshaw
2013-12-17 10:41 ` [ARM 4/5 big.LITTLE] Add support for -mcpu=cortex-a57 James Greenhalgh
2013-12-17 12:07   ` Richard Earnshaw
2013-12-17 10:41 ` [ARM 2/5 big.LITTLE] Allow tuning parameters without unique tuning targets James Greenhalgh
2013-12-17 11:59   ` Richard Earnshaw
2013-12-17 10:41 ` [ARM 1/5 big.LITTLE] Add driver support for rewriting -mcpu names James Greenhalgh
2013-12-17 11:53   ` Richard Earnshaw
2014-01-15 20:36     ` Charles Baylis
2014-01-16 14:26       ` James Greenhalgh
2014-01-16 14:57         ` Charles Baylis
2014-01-21 10:48       ` [AArch64] fix big.LITTLE spec rewriting James Greenhalgh
2014-01-23 16:45         ` James Greenhalgh
2014-01-24 16:59         ` Marcus Shawcroft
2014-01-21 10:52       ` [ARM] " James Greenhalgh
2014-01-23 16:45         ` James Greenhalgh
2014-01-27 14:59         ` Ramana Radhakrishnan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).