Patchwork [1/1] tune-cortexa*.inc: use armv7at by default

login
register
mail settings
Submitter Peter Seebach
Date Aug. 21, 2014, 7:54 p.m.
Message ID <789ff5fbb9555afb745b2380ed3877d25bd21668.1408649791.git.peter.seebach@windriver.com>
Download mbox | patch
Permalink /patch/78757/
State New
Headers show

Comments

Peter Seebach - Aug. 21, 2014, 7:54 p.m.
Every cortexa* chip I've encountered so far has been capable of
executing Thumb code, so it probably makes more sense to use
armv7at-neon instead of armv7a-neon as the DEFAULTTUNE. Choice
of code generation is controlled separately, by ARM_INSTRUCTION_SET.
Most packages tend to perform at comparably with thumb because
smaller code footprint means better cache efficiency.
---
 meta/conf/machine/include/tune-cortexa15.inc |    2 +-
 meta/conf/machine/include/tune-cortexa5.inc  |    2 +-
 meta/conf/machine/include/tune-cortexa7.inc  |    2 +-
 meta/conf/machine/include/tune-cortexa8.inc  |    2 +-
 meta/conf/machine/include/tune-cortexa9.inc  |    2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)
Khem Raj - Aug. 25, 2014, 5:09 a.m.
On 14-08-21 14:54:55, Peter Seebach wrote:
> Every cortexa* chip I've encountered so far has been capable of
> executing Thumb code, so it probably makes more sense to use
> armv7at-neon instead of armv7a-neon as the DEFAULTTUNE. Choice
> of code generation is controlled separately, by ARM_INSTRUCTION_SET.

So what do we get by making this change ?
you might be having a subset of boards that are out there
The reality is that there are boards out there which do not work well
with thumb2 therefore we cant turn it on as default instruction set.
in OE-Core we have to be conservative of support base.

> Most packages tend to perform at comparably with thumb because
> smaller code footprint means better cache efficiency.
> ---
>  meta/conf/machine/include/tune-cortexa15.inc |    2 +-
>  meta/conf/machine/include/tune-cortexa5.inc  |    2 +-
>  meta/conf/machine/include/tune-cortexa7.inc  |    2 +-
>  meta/conf/machine/include/tune-cortexa8.inc  |    2 +-
>  meta/conf/machine/include/tune-cortexa9.inc  |    2 +-
>  5 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/conf/machine/include/tune-cortexa15.inc b/meta/conf/machine/include/tune-cortexa15.inc
> index 5529777..e3cc89e 100644
> --- a/meta/conf/machine/include/tune-cortexa15.inc
> +++ b/meta/conf/machine/include/tune-cortexa15.inc
> @@ -1,4 +1,4 @@
> -DEFAULTTUNE ?= "armv7a-neon"
> +DEFAULTTUNE ?= "armv7at-neon"
>  
>  require conf/machine/include/arm/arch-armv7a.inc
>  
> diff --git a/meta/conf/machine/include/tune-cortexa5.inc b/meta/conf/machine/include/tune-cortexa5.inc
> index 139e65c..a49b6c7 100644
> --- a/meta/conf/machine/include/tune-cortexa5.inc
> +++ b/meta/conf/machine/include/tune-cortexa5.inc
> @@ -1,4 +1,4 @@
> -DEFAULTTUNE ?= "armv7a-neon"
> +DEFAULTTUNE ?= "armv7at-neon"
>  
>  require conf/machine/include/arm/arch-armv7a.inc
>  
> diff --git a/meta/conf/machine/include/tune-cortexa7.inc b/meta/conf/machine/include/tune-cortexa7.inc
> index 9d06910..1cdced8 100644
> --- a/meta/conf/machine/include/tune-cortexa7.inc
> +++ b/meta/conf/machine/include/tune-cortexa7.inc
> @@ -1,4 +1,4 @@
> -DEFAULTTUNE ?= "armv7a-neon"
> +DEFAULTTUNE ?= "armv7at-neon"
>  
>  require conf/machine/include/arm/arch-armv7a.inc
>  
> diff --git a/meta/conf/machine/include/tune-cortexa8.inc b/meta/conf/machine/include/tune-cortexa8.inc
> index 771537f..cd33468 100644
> --- a/meta/conf/machine/include/tune-cortexa8.inc
> +++ b/meta/conf/machine/include/tune-cortexa8.inc
> @@ -1,4 +1,4 @@
> -DEFAULTTUNE ?= "armv7a-neon"
> +DEFAULTTUNE ?= "armv7at-neon"
>  
>  require conf/machine/include/arm/arch-armv7a.inc
>  
> diff --git a/meta/conf/machine/include/tune-cortexa9.inc b/meta/conf/machine/include/tune-cortexa9.inc
> index 700394b..3f4f8f2 100644
> --- a/meta/conf/machine/include/tune-cortexa9.inc
> +++ b/meta/conf/machine/include/tune-cortexa9.inc
> @@ -1,4 +1,4 @@
> -DEFAULTTUNE ?= "armv7a-neon"
> +DEFAULTTUNE ?= "armv7at-neon"
>  
>  require conf/machine/include/arm/arch-armv7a.inc
>  
> -- 
> 1.7.1
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/conf/machine/include/tune-cortexa15.inc b/meta/conf/machine/include/tune-cortexa15.inc
index 5529777..e3cc89e 100644
--- a/meta/conf/machine/include/tune-cortexa15.inc
+++ b/meta/conf/machine/include/tune-cortexa15.inc
@@ -1,4 +1,4 @@ 
-DEFAULTTUNE ?= "armv7a-neon"
+DEFAULTTUNE ?= "armv7at-neon"
 
 require conf/machine/include/arm/arch-armv7a.inc
 
diff --git a/meta/conf/machine/include/tune-cortexa5.inc b/meta/conf/machine/include/tune-cortexa5.inc
index 139e65c..a49b6c7 100644
--- a/meta/conf/machine/include/tune-cortexa5.inc
+++ b/meta/conf/machine/include/tune-cortexa5.inc
@@ -1,4 +1,4 @@ 
-DEFAULTTUNE ?= "armv7a-neon"
+DEFAULTTUNE ?= "armv7at-neon"
 
 require conf/machine/include/arm/arch-armv7a.inc
 
diff --git a/meta/conf/machine/include/tune-cortexa7.inc b/meta/conf/machine/include/tune-cortexa7.inc
index 9d06910..1cdced8 100644
--- a/meta/conf/machine/include/tune-cortexa7.inc
+++ b/meta/conf/machine/include/tune-cortexa7.inc
@@ -1,4 +1,4 @@ 
-DEFAULTTUNE ?= "armv7a-neon"
+DEFAULTTUNE ?= "armv7at-neon"
 
 require conf/machine/include/arm/arch-armv7a.inc
 
diff --git a/meta/conf/machine/include/tune-cortexa8.inc b/meta/conf/machine/include/tune-cortexa8.inc
index 771537f..cd33468 100644
--- a/meta/conf/machine/include/tune-cortexa8.inc
+++ b/meta/conf/machine/include/tune-cortexa8.inc
@@ -1,4 +1,4 @@ 
-DEFAULTTUNE ?= "armv7a-neon"
+DEFAULTTUNE ?= "armv7at-neon"
 
 require conf/machine/include/arm/arch-armv7a.inc
 
diff --git a/meta/conf/machine/include/tune-cortexa9.inc b/meta/conf/machine/include/tune-cortexa9.inc
index 700394b..3f4f8f2 100644
--- a/meta/conf/machine/include/tune-cortexa9.inc
+++ b/meta/conf/machine/include/tune-cortexa9.inc
@@ -1,4 +1,4 @@ 
-DEFAULTTUNE ?= "armv7a-neon"
+DEFAULTTUNE ?= "armv7at-neon"
 
 require conf/machine/include/arm/arch-armv7a.inc