Re: [PATCH][ARM] Add Cortex-A17 support
On 27/11/14 23:53, Gerald Pfeifer wrote: On Thursday 2014-11-27 11:09, Kyrill Tkachov wrote: Thanks for the review. The invoke.texi changes were posted and approved at https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02683.html and I'm attaching the proposed changes.html patch. Looks good. Note that once you have "has been added" and once "was added". Looking at the current changes.html I see "has been added" appears 13 times in contrast to "was added", which appears only once. So I'll use has been added to keep consistent. Thanks, Kyrill I _think_ the former may be more appropriate, but let's one of our native speakers comment in case. Gerald
Re: [PATCH][ARM] Add Cortex-A17 support
On Thursday 2014-11-27 11:09, Kyrill Tkachov wrote: Thanks for the review. The invoke.texi changes were posted and approved at https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02683.html and I'm attaching the proposed changes.html patch. Looks good. Note that once you have "has been added" and once "was added". I _think_ the former may be more appropriate, but let's one of our native speakers comment in case. GeraldIndex: htdocs/gcc-5/changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v retrieving revision 1.43 diff -U 3 -r1.43 changes.html --- htdocs/gcc-5/changes.html 27 Nov 2014 09:50:04 - 1.43 +++ htdocs/gcc-5/changes.html 27 Nov 2014 09:57:19 - @@ -398,6 +398,14 @@ configure option with either of --with-tune or --with-arch. + Support for the Cortex-A17 processor has been added through the + -mcpu=cortex-a17 and -mtune=cortex-a17 options. + + Initial big.LITTLE tuning support for the combination of Cortex-A17 + and Cortex-A7 was added through the -mcpu=cortex-a17.cortex-a7 +and -mtune=cortex-a17.cortex-a7 options. + + IA-32/x86-64
Re: [PATCH][ARM] Add Cortex-A17 support
On 27/11/14 11:09, Kyrill Tkachov wrote: On 27/11/14 08:52, Ramana Radhakrishnan wrote: On Thu, Nov 13, 2014 at 5:25 PM, Kyrill Tkachov wrote: Hi all, This patch adds support for the Cortex-A17 processor to the arm backend. Cortex-A17 is an ARMv7ve core with the same architectural features as the Cortex-A7, A12 and A15 cores. The -m{tune, cpu}=cortex-a17 option is added and a pipeline description for instruction scheduling is provided. This has given an uplift over -mcpu=cortex-a15 tuning on a number of benchmarks. The patch is fairly self-contained with the bulk of the diffstat being the pipeline description files. Bootstrapped and tested on arm-none-linux-gnueabihf. Ok for trunk? Ok with documentation update in invoke.texi and an entry for changes.html Hi Ramana, Thanks for the review. The invoke.texi changes were posted and approved at https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02683.html and I'm attaching the proposed changes.html patch. Ok thanks. Ramana Kyrill Ramana Thanks, Kyrill 2014-11-13 Kyrylo Tkachov * config/arm/arm.md (generic_sched): Specify cortexa17 in 'no' list. Include cortex-a17.md. * config/arm/arm.c (arm_issue_rate): Specify 2 for cortexa17. * config/arm/arm-cores.def (cortex-a17): New entry. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Regenerate. * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=cortex-a17. * config/arm/cortex-a17.md: New file. * config/arm/cortex-a17-neon.md: New file. * config/arm/driver-arm.c (arm_cpu_table): Add entry for cortex-a17. * config/arm/t-aprofile: Add cortex-a17 entries to MULTILIB_MATCHES.
Re: [PATCH][ARM] Add Cortex-A17 support
On 27/11/14 08:52, Ramana Radhakrishnan wrote: On Thu, Nov 13, 2014 at 5:25 PM, Kyrill Tkachov wrote: Hi all, This patch adds support for the Cortex-A17 processor to the arm backend. Cortex-A17 is an ARMv7ve core with the same architectural features as the Cortex-A7, A12 and A15 cores. The -m{tune, cpu}=cortex-a17 option is added and a pipeline description for instruction scheduling is provided. This has given an uplift over -mcpu=cortex-a15 tuning on a number of benchmarks. The patch is fairly self-contained with the bulk of the diffstat being the pipeline description files. Bootstrapped and tested on arm-none-linux-gnueabihf. Ok for trunk? Ok with documentation update in invoke.texi and an entry for changes.html Hi Ramana, Thanks for the review. The invoke.texi changes were posted and approved at https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02683.html and I'm attaching the proposed changes.html patch. Kyrill Ramana Thanks, Kyrill 2014-11-13 Kyrylo Tkachov * config/arm/arm.md (generic_sched): Specify cortexa17 in 'no' list. Include cortex-a17.md. * config/arm/arm.c (arm_issue_rate): Specify 2 for cortexa17. * config/arm/arm-cores.def (cortex-a17): New entry. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Regenerate. * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=cortex-a17. * config/arm/cortex-a17.md: New file. * config/arm/cortex-a17-neon.md: New file. * config/arm/driver-arm.c (arm_cpu_table): Add entry for cortex-a17. * config/arm/t-aprofile: Add cortex-a17 entries to MULTILIB_MATCHES. Index: htdocs/gcc-5/changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v retrieving revision 1.43 diff -U 3 -r1.43 changes.html --- htdocs/gcc-5/changes.html 27 Nov 2014 09:50:04 - 1.43 +++ htdocs/gcc-5/changes.html 27 Nov 2014 09:57:19 - @@ -398,6 +398,14 @@ configure option with either of --with-tune or --with-arch. + Support for the Cortex-A17 processor has been added through the + -mcpu=cortex-a17 and -mtune=cortex-a17 options. + + Initial big.LITTLE tuning support for the combination of Cortex-A17 + and Cortex-A7 was added through the -mcpu=cortex-a17.cortex-a7 +and -mtune=cortex-a17.cortex-a7 options. + + IA-32/x86-64
Re: [PATCH][ARM] Add Cortex-A17 support
On Thu, Nov 13, 2014 at 5:25 PM, Kyrill Tkachov wrote: > Hi all, > > This patch adds support for the Cortex-A17 processor to the arm backend. > Cortex-A17 is an ARMv7ve core with the same architectural features as the > Cortex-A7, A12 and A15 cores. > The -m{tune, cpu}=cortex-a17 option is added and a pipeline description for > instruction scheduling is provided. > This has given an uplift over -mcpu=cortex-a15 tuning on a number of > benchmarks. > > The patch is fairly self-contained with the bulk of the diffstat being the > pipeline description files. > > Bootstrapped and tested on arm-none-linux-gnueabihf. > > Ok for trunk? > Ok with documentation update in invoke.texi and an entry for changes.html Ramana > Thanks, > Kyrill > > 2014-11-13 Kyrylo Tkachov > > * config/arm/arm.md (generic_sched): Specify cortexa17 in 'no' list. > Include cortex-a17.md. > * config/arm/arm.c (arm_issue_rate): Specify 2 for cortexa17. > * config/arm/arm-cores.def (cortex-a17): New entry. > * config/arm/arm-tables.opt: Regenerate. > * config/arm/arm-tune.md: Regenerate. > * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=cortex-a17. > * config/arm/cortex-a17.md: New file. > * config/arm/cortex-a17-neon.md: New file. > * config/arm/driver-arm.c (arm_cpu_table): Add entry for cortex-a17. > * config/arm/t-aprofile: Add cortex-a17 entries to MULTILIB_MATCHES.
Re: [PATCH][ARM] Add Cortex-A17 support
New -mcpu= values need documenting in invoke.texi. -- Joseph S. Myers jos...@codesourcery.com
[PATCH][ARM] Add Cortex-A17 support
Hi all, This patch adds support for the Cortex-A17 processor to the arm backend. Cortex-A17 is an ARMv7ve core with the same architectural features as the Cortex-A7, A12 and A15 cores. The -m{tune, cpu}=cortex-a17 option is added and a pipeline description for instruction scheduling is provided. This has given an uplift over -mcpu=cortex-a15 tuning on a number of benchmarks. The patch is fairly self-contained with the bulk of the diffstat being the pipeline description files. Bootstrapped and tested on arm-none-linux-gnueabihf. Ok for trunk? Thanks, Kyrill 2014-11-13 Kyrylo Tkachov * config/arm/arm.md (generic_sched): Specify cortexa17 in 'no' list. Include cortex-a17.md. * config/arm/arm.c (arm_issue_rate): Specify 2 for cortexa17. * config/arm/arm-cores.def (cortex-a17): New entry. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Regenerate. * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=cortex-a17. * config/arm/cortex-a17.md: New file. * config/arm/cortex-a17-neon.md: New file. * config/arm/driver-arm.c (arm_cpu_table): Add entry for cortex-a17. * config/arm/t-aprofile: Add cortex-a17 entries to MULTILIB_MATCHES.commit 6f02016328e127c1c2c7491d7ad160c575f6d9ae Author: Kyrylo Tkachov Date: Tue Oct 21 12:29:07 2014 +0100 [ARM] Cortex-A17 tuning diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def index d5067b0..f8003ce 100644 --- a/gcc/config/arm/arm-cores.def +++ b/gcc/config/arm/arm-cores.def @@ -150,6 +150,7 @@ ARM_CORE("cortex-a8", cortexa8, cortexa8, 7A, FL_LDSCHED, cortex_a8) ARM_CORE("cortex-a9", cortexa9, cortexa9, 7A, FL_LDSCHED, cortex_a9) ARM_CORE("cortex-a12", cortexa12, cortexa15, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a12) ARM_CORE("cortex-a15", cortexa15, cortexa15, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a15) +ARM_CORE("cortex-a17", cortexa17, cortexa17, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a12) ARM_CORE("cortex-r4", cortexr4, cortexr4, 7R, FL_LDSCHED, cortex) ARM_CORE("cortex-r4f", cortexr4f, cortexr4f, 7R, FL_LDSCHED, cortex) ARM_CORE("cortex-r5", cortexr5, cortexr5, 7R, FL_LDSCHED | FL_ARM_DIV, cortex) diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt index 9c7e944..9d8159f 100644 --- a/gcc/config/arm/arm-tables.opt +++ b/gcc/config/arm/arm-tables.opt @@ -271,6 +271,9 @@ EnumValue Enum(processor_type) String(cortex-a15) Value(cortexa15) EnumValue +Enum(processor_type) String(cortex-a17) Value(cortexa17) + +EnumValue Enum(processor_type) String(cortex-r4) Value(cortexr4) EnumValue diff --git a/gcc/config/arm/arm-tune.md b/gcc/config/arm/arm-tune.md index 84355d6..7218542 100644 --- a/gcc/config/arm/arm-tune.md +++ b/gcc/config/arm/arm-tune.md @@ -28,7 +28,7 @@ (define_attr "tune" cortexm1smallmultiply,cortexm0smallmultiply,cortexm0plussmallmultiply, genericv7a,cortexa5,cortexa7, cortexa8,cortexa9,cortexa12, - cortexa15,cortexr4,cortexr4f, + cortexa15,cortexa17,cortexr4,cortexr4f, cortexr5,cortexr7,cortexm7, cortexm4,cortexm3,marvell_pj4, cortexa15cortexa7,cortexa53,cortexa57, diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index d2df286..6feb4b8 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -29965,6 +29965,7 @@ arm_issue_rate (void) case cortexa8: case cortexa9: case cortexa12: +case cortexa17: case cortexa53: case fa726te: case marvell_pj4: diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 3c2798e..52199a7 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -377,7 +377,7 @@ (define_attr "tune_cortexr4" "yes,no" (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,cortexa12,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,cortexa17,cortexa53,cortexm4,marvell_pj4") (eq_attr "tune_cortexr4" "yes")) (const_string "no") (const_string "yes" @@ -406,6 +406,7 @@ (define_attr "generic_vfp" "yes,no" (include "cortex-a8.md") (include "cortex-a9.md") (include "cortex-a15.md") +(include "cortex-a17.md") (include "cortex-a53.md") (include "cortex-r4.md") (include "cortex-r4f.md") diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h index f99e1af..22a37ae 100644 --- a/gcc/config/arm/bpabi.h +++ b/gcc/config/arm/bpabi.h @@ -64,7 +64,7 @@ " %{!mlittle-endian:%{march=armv7-a|mcpu=cortex-a5\ |mcpu=cortex-a7 \ |mcpu=cortex-a8|mcpu=cortex-a9|mcpu=cortex-a15 \ - |mcpu=cortex-a12 \ + |mcpu=cortex-a12|mcpu=cortex-a17 \ |mcpu=cortex-a15.