This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][ARM] Initial support for Cortex-A12


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]