diff mbox

[ARM] Wire up scheduling for Cortex-A12

Message ID 52B02CA5.60606@arm.com
State New
Headers show

Commit Message

Kyrylo Tkachov Dec. 17, 2013, 10:51 a.m. UTC
Hi all,

This patch wires up the Cortex-A12 instruction scheduling to use the Cortex-A15 
pipeline description and sets the issue rate for it to 2 in arm_issue_rate.

This patch depends on James' recent rework of the tuning parameters posted at
http://gcc.gnu.org/ml/gcc-patches/2013-12/msg01477.html

Tested arm-none-eabi on qemu.

Ok for trunk after the prerequisite goes in?

Thanks,
Kyrill

2013-12-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     * config/arm/arm-cores.def (cortex-a12): Use cortexa15 scheduling.
     * config/arm/arm.c (arm_issue_rate): Handle cortexa12.
     * config/arm/arm.md (generic_vfp): Remove cortexa12.

Comments

Richard Earnshaw Dec. 17, 2013, 12:09 p.m. UTC | #1
On 17/12/13 10:51, Kyrill Tkachov wrote:
> Hi all,
> 
> This patch wires up the Cortex-A12 instruction scheduling to use the Cortex-A15 
> pipeline description and sets the issue rate for it to 2 in arm_issue_rate.
> 
> This patch depends on James' recent rework of the tuning parameters posted at
> http://gcc.gnu.org/ml/gcc-patches/2013-12/msg01477.html
> 
> Tested arm-none-eabi on qemu.
> 
> Ok for trunk after the prerequisite goes in?
> 
> Thanks,
> Kyrill
> 
> 2013-12-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
> 
>      * config/arm/arm-cores.def (cortex-a12): Use cortexa15 scheduling.
>      * config/arm/arm.c (arm_issue_rate): Handle cortexa12.
>      * config/arm/arm.md (generic_vfp): Remove cortexa12.
> 
> 
OK.

R.
diff mbox

Patch

diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def
index 3264eed..abe7636 100644
--- a/gcc/config/arm/arm-cores.def
+++ b/gcc/config/arm/arm-cores.def
@@ -138,7 +138,7 @@  ARM_CORE("cortex-a5",		cortexa5, cortexa5,		7A,  FL_LDSCHED, cortex_a5)
 ARM_CORE("cortex-a7",		cortexa7, cortexa7,		7A,  FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a7)
 ARM_CORE("cortex-a8",		cortexa8, cortexa8,		7A,  FL_LDSCHED, cortex)
 ARM_CORE("cortex-a9",		cortexa9, cortexa9,		7A,  FL_LDSCHED, cortex_a9)
-ARM_CORE("cortex-a12",	  	cortexa12, cortexa12,		7A,  FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a12)
+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-r4",		cortexr4, cortexr4,		7R,  FL_LDSCHED, cortex)
 ARM_CORE("cortex-r4f",		cortexr4f, cortexr4f,		7R,  FL_LDSCHED, cortex)
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 0fc6b76..0d773bb 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -28979,6 +28979,7 @@  arm_issue_rate (void)
     case cortexa7:
     case cortexa8:
     case cortexa9:
+    case cortexa12:
     case cortexa53:
     case fa726te:
     case marvell_pj4:
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 46fc442..c474ff1 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -477,7 +477,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,cortexa12,cortexa53,cortexm4,marvell_pj4")
+	       (eq_attr "tune" "!arm1020e,arm1022e,cortexa5,cortexa7,cortexa8,cortexa9,cortexa53,cortexm4,marvell_pj4")
 	       (eq_attr "tune_cortexr4" "no"))
 	  (const_string "yes")
 	  (const_string "no"))))