This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][ARM] Initial support for Cortex-A12
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>
- Date: Mon, 9 Dec 2013 12:03:42 +0000
- Subject: Re: [PATCH][ARM] Initial support for Cortex-A12
- Authentication-results: sourceware.org; auth=none
- References: <52A5ACDC dot 8080208 at arm dot com>
On Mon, Dec 09, 2013 at 11:43:24AM +0000, Kyrill Tkachov wrote:
> 2013-12-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>
> * config/arm/arm.md (generic_sched): Add cortexa12.
> (generic_vfp): Likewise.
> * config/arm/arm.c (cortexa12_extra_costs): New cost table.
> (arm_cortex_a12_tune): New tuning struct.
> * config/arm/arm-cores.def: Add cortex-a12.
> * config/arm/arm-tables.opt: Regenerate.
> * config/arm/arm-tune.md: Likewise.
> * config/arm/bpabi.h: Add cortex-a12.
> * doc/invoke.texi: Document -mcpu=cortex-a12.
> diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
> index a26550a..ca68297 100644
> --- a/gcc/config/arm/arm.md
> +++ b/gcc/config/arm/arm.md
> @@ -459,7 +459,7 @@
>
> (define_attr "generic_sched" "yes,no"
> (const (if_then_else
> - (ior (eq_attr "tune" "fa526,fa626,fa606te,fa626te,fmp626,fa726te,arm926ejs,arm1020e,arm1026ejs,arm1136js,arm1136jfs,cortexa5,cortexa7,cortexa8,cortexa9,cortexa15,cortexa53,cortexm4,marvell_pj4")
> + (ior (eq_attr "tune" "fa526,fa626,fa606te,fa626te,fmp626,fa726te,arm926ejs,arm1020e,arm1026ejs,arm1136js,arm1136jfs,cortexa5,cortexa7,cortexa8,cortexa9,cortexa12,cortexa15,cortexa53,cortexm4,marvell_pj4")
> (eq_attr "tune_cortexr4" "yes"))
> (const_string "no")
> (const_string "yes"))))
> @@ -467,7 +467,7 @@
> (define_attr "generic_vfp" "yes,no"
> (const (if_then_else
> (and (eq_attr "fpu" "vfp")
> - (eq_attr "tune" "!arm1020e,arm1022e,cortexa5,cortexa7,cortexa8,cortexa9,cortexa53,cortexm4,marvell_pj4")
> + (eq_attr "tune" "!arm1020e,arm1022e,cortexa5,cortexa7,cortexa8,cortexa9,cortexa12,cortexa53,cortexm4,marvell_pj4")
> (eq_attr "tune_cortexr4" "no"))
> (const_string "yes")
> (const_string "no"))))
I might be missing something here, but have you got the logic
backwards?
If you want to use the generic scheduler for cortexa12,
then you *don't* want to include it in this list. If you do
include it in this list, I would expect to see changes in some
other pipeline descriptions (or a new pipeline model) to make
the scheduling decisions.
You can look at the output of -fdump-rtl-sched2-all to see where
things are being scheduled.
Thanks,
James