On Mon, Dec 09, 2013 at 11:43:24AM +0000, Kyrill Tkachov wrote: > 2013-12-09 Kyrylo Tkachov <kyrylo.tkac...@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