diff mbox

[RFA/ARM] Add support for -mcpu=cortex-a7

Message ID 4EB80E48.4080708@arm.com
State New
Headers show

Commit Message

Matthew Gretton-Dann Nov. 7, 2011, 4:58 p.m. UTC
All,

The attached patch adds support for -mcpu=cortex-a7 to the GCC command line.

A related patch has just been committed to binutils so that gas will 
recognize cortex-a7 on the command line and in the appropriate 
directives.  See http://sourceware.org/ml/binutils/2011-11/msg00048.html.

Can someone please review and comment.

Thanks,

Matt

gcc/ChangeLog:

2011-11-07  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

         * config/arm/arm-cores.def: Add -mcpu=cortex-a7.
         * config/arm/arm-tables.opt: Regenerate.
         * config/arm/arm-tune.md: Likewise.
         * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex A-7.
         * doc/invoke.texi: Document -mcpu=cortex-a7.

Comments

Richard Earnshaw Nov. 7, 2011, 5 p.m. UTC | #1
On 07/11/11 16:58, Matthew Gretton-Dann wrote:
> All,
> 
> The attached patch adds support for -mcpu=cortex-a7 to the GCC command line.
> 
> A related patch has just been committed to binutils so that gas will 
> recognize cortex-a7 on the command line and in the appropriate 
> directives.  See http://sourceware.org/ml/binutils/2011-11/msg00048.html.
> 
> Can someone please review and comment.
> 
> Thanks,
> 
> Matt
> 
> gcc/ChangeLog:
> 
> 2011-11-07  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
> 
>          * config/arm/arm-cores.def: Add -mcpu=cortex-a7.
>          * config/arm/arm-tables.opt: Regenerate.
>          * config/arm/arm-tune.md: Likewise.
>          * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex A-7.
>          * doc/invoke.texi: Document -mcpu=cortex-a7.
> 
> 
> 

OK

R.
diff mbox

Patch

diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def
index 742b5e8..80609e0 100644
--- a/gcc/config/arm/arm-cores.def
+++ b/gcc/config/arm/arm-cores.def
@@ -126,6 +126,7 @@  ARM_CORE("arm1156t2-s",	  arm1156t2s,	6T2,				 FL_LDSCHED, v6t2)
 ARM_CORE("arm1156t2f-s",  arm1156t2fs,  6T2,				 FL_LDSCHED | FL_VFPV2, v6t2)
 ARM_CORE("generic-armv7-a", genericv7a,	7A,				 FL_LDSCHED, cortex)
 ARM_CORE("cortex-a5",	  cortexa5,	7A,				 FL_LDSCHED, cortex_a5)
+ARM_CORE("cortex-a7",	  cortexa7,	7A,				 FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex)
 ARM_CORE("cortex-a8",	  cortexa8,	7A,				 FL_LDSCHED, cortex)
 ARM_CORE("cortex-a9",	  cortexa9,	7A,				 FL_LDSCHED, cortex_a9)
 ARM_CORE("cortex-a15",	  cortexa15,	7A,				 FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex)
diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt
index 23339c7..c0b2437 100644
--- a/gcc/config/arm/arm-tables.opt
+++ b/gcc/config/arm/arm-tables.opt
@@ -238,6 +238,9 @@  EnumValue
 Enum(processor_type) String(cortex-a5) Value(cortexa5)
 
 EnumValue
+Enum(processor_type) String(cortex-a7) Value(cortexa7)
+
+EnumValue
 Enum(processor_type) String(cortex-a8) Value(cortexa8)
 
 EnumValue
diff --git a/gcc/config/arm/arm-tune.md b/gcc/config/arm/arm-tune.md
index 4b439d0..54ef0f1 100644
--- a/gcc/config/arm/arm-tune.md
+++ b/gcc/config/arm/arm-tune.md
@@ -1,5 +1,5 @@ 
 ;; -*- buffer-read-only: t -*-
 ;; Generated automatically by gentune.sh from arm-cores.def
 (define_attr "tune"
-	"arm2,arm250,arm3,arm6,arm60,arm600,arm610,arm620,arm7,arm7d,arm7di,arm70,arm700,arm700i,arm710,arm720,arm710c,arm7100,arm7500,arm7500fe,arm7m,arm7dm,arm7dmi,arm8,arm810,strongarm,strongarm110,strongarm1100,strongarm1110,fa526,fa626,arm7tdmi,arm7tdmis,arm710t,arm720t,arm740t,arm9,arm9tdmi,arm920,arm920t,arm922t,arm940t,ep9312,arm10tdmi,arm1020t,arm9e,arm946es,arm966es,arm968es,arm10e,arm1020e,arm1022e,xscale,iwmmxt,iwmmxt2,fa606te,fa626te,fmp626,fa726te,arm926ejs,arm1026ejs,arm1136js,arm1136jfs,arm1176jzs,arm1176jzfs,mpcorenovfp,mpcore,arm1156t2s,arm1156t2fs,genericv7a,cortexa5,cortexa8,cortexa9,cortexa15,cortexr4,cortexr4f,cortexr5,cortexm4,cortexm3,cortexm1,cortexm0"
+	"arm2,arm250,arm3,arm6,arm60,arm600,arm610,arm620,arm7,arm7d,arm7di,arm70,arm700,arm700i,arm710,arm720,arm710c,arm7100,arm7500,arm7500fe,arm7m,arm7dm,arm7dmi,arm8,arm810,strongarm,strongarm110,strongarm1100,strongarm1110,fa526,fa626,arm7tdmi,arm7tdmis,arm710t,arm720t,arm740t,arm9,arm9tdmi,arm920,arm920t,arm922t,arm940t,ep9312,arm10tdmi,arm1020t,arm9e,arm946es,arm966es,arm968es,arm10e,arm1020e,arm1022e,xscale,iwmmxt,iwmmxt2,fa606te,fa626te,fmp626,fa726te,arm926ejs,arm1026ejs,arm1136js,arm1136jfs,arm1176jzs,arm1176jzfs,mpcorenovfp,mpcore,arm1156t2s,arm1156t2fs,genericv7a,cortexa5,cortexa7,cortexa8,cortexa9,cortexa15,cortexr4,cortexr4f,cortexr5,cortexm4,cortexm3,cortexm1,cortexm0"
 	(const (symbol_ref "((enum attr_tune) arm_tune)")))
diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h
index 64d7df4..7d8e508 100644
--- a/gcc/config/arm/bpabi.h
+++ b/gcc/config/arm/bpabi.h
@@ -57,6 +57,7 @@ 
 
 #define BE8_LINK_SPEC \
   " %{mbig-endian:%{march=armv7-a|mcpu=cortex-a5	\
+   |mcpu=cortex-a7					\
    |mcpu=cortex-a8|mcpu=cortex-a9|mcpu=cortex-a15	\
    |mcpu=generic-armv7-a				\
    |march=armv7-m|mcpu=cortex-m3			\
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b68f607..f2c3108 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -10398,8 +10398,8 @@  assembly code.  Permissible names are: @samp{arm2}, @samp{arm250},
 @samp{arm10e}, @samp{arm1020e}, @samp{arm1022e},
 @samp{arm1136j-s}, @samp{arm1136jf-s}, @samp{mpcore}, @samp{mpcorenovfp},
 @samp{arm1156t2-s}, @samp{arm1156t2f-s}, @samp{arm1176jz-s}, @samp{arm1176jzf-s},
-@samp{cortex-a5}, @samp{cortex-a8}, @samp{cortex-a9}, @samp{cortex-a15},
-@samp{cortex-r4}, @samp{cortex-r4f}, @samp{cortex-r5},
+@samp{cortex-a5}, @samp{cortex-a7}, @samp{cortex-a8}, @samp{cortex-a9}, 
+@samp{cortex-a15}, @samp{cortex-r4}, @samp{cortex-r4f}, @samp{cortex-r5},
 @samp{cortex-m4}, @samp{cortex-m3},
 @samp{cortex-m1},
 @samp{cortex-m0},