Re: [PATCH][ARM] Add Cortex-A17 support

2014-11-28 Thread Kyrill Tkachov


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

2014-11-27 Thread Gerald Pfeifer

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

2014-11-27 Thread Ramana Radhakrishnan



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

2014-11-27 Thread Kyrill Tkachov


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

2014-11-27 Thread Ramana Radhakrishnan
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

2014-11-13 Thread Joseph Myers
New -mcpu= values need documenting in invoke.texi.

-- 
Joseph S. Myers
jos...@codesourcery.com


[PATCH][ARM] Add Cortex-A17 support

2014-11-13 Thread Kyrill Tkachov

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.