From: Martin Jansa <martin.jansa@gmail.com>
To: Phil Blundell <pb@pbcl.net>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [RFC][PATCH] cortexa{7,15,17}: add VFPv4 tunes
Date: Tue, 6 Oct 2015 16:28:57 +0200 [thread overview]
Message-ID: <20151006142857.GA2383@jama> (raw)
In-Reply-To: <1444139541.10310.4.camel@pbcl.net>
[-- Attachment #1: Type: text/plain, Size: 3739 bytes --]
On Tue, Oct 06, 2015 at 02:52:21PM +0100, Phil Blundell wrote:
> On Tue, 2015-10-06 at 15:36 +0200, Martin Jansa wrote:
> >
> > * we should also update Cortex-A7 and Cortex-A15, to use
> > -march=armv7ve,
> > but the problem is that oe-core has gcc-4.[89] and gcc-5.2 and gcc
> > -4.8
> > doesn't support it yet,
>
> Or you could make it use -mcpu=cortex-a15, which works for all gcc
> versions within living memory. I've been using this change locally for
> some months and it seems to work reasonably well:
Thanks for comment.
Yes, that's what we're doing now for our MACHINEs (dropping -march while adding -mcpu).
But on current tunes I liked how hierarchical they are, so dropping
common armv7a (or armv7ve) seems a bit strange in current design.
> diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc
> index a94386f..22291dc 100644
> --- a/meta/conf/machine/include/arm/feature-arm-thumb.inc
> +++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc
> @@ -12,6 +12,7 @@ ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', 't', '', d
> ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', 't2', '', d)}"
> ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', 't2', '', d)}"
> ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', 't2', '', d)}"
> +ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', 't2', '', d)}"
>
> # If the device supports ARM, then respect ARM_THUMB_OPT (which can be "arm" or "thumb")
> # If the defice doesn't support ARM, then always set "thumb" even when
> diff --git a/meta/conf/machine/include/tune-cortexa15.inc b/meta/conf/machine/include/tune-cortexa15.inc
> index 5529777..f6c7d80 100644
> --- a/meta/conf/machine/include/tune-cortexa15.inc
> +++ b/meta/conf/machine/include/tune-cortexa15.inc
> @@ -3,7 +3,9 @@ DEFAULTTUNE ?= "armv7a-neon"
> require conf/machine/include/arm/arch-armv7a.inc
>
> TUNEVALID[cortexa15] = "Enable Cortex-A15 specific processor optimizations"
> -TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa15", " -mtune=cortex-a15", "", d)}"
> +TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa15", " -mcpu=cortex-a15", "", d)}"
> +
> +MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa15", "cortexa15:armv7a:", "" ,d)}"
>
> # Little Endian base configs
> AVAILTUNES += "cortexa15 cortexa15t cortexa15-neon cortexa15t-neon"
> @@ -11,10 +13,10 @@ ARMPKGARCH_tune-cortexa15 = "cortexa15"
> ARMPKGARCH_tune-cortexa15t = "cortexa15"
> ARMPKGARCH_tune-cortexa15-neon = "cortexa15"
> ARMPKGARCH_tune-cortexa15t-neon = "cortexa15"
> -TUNE_FEATURES_tune-cortexa15 = "${TUNE_FEATURES_tune-armv7a} cortexa15"
> -TUNE_FEATURES_tune-cortexa15t = "${TUNE_FEATURES_tune-armv7at} cortexa15"
> -TUNE_FEATURES_tune-cortexa15-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa15"
> -TUNE_FEATURES_tune-cortexa15t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa15"
> +TUNE_FEATURES_tune-cortexa15 = "arm vfp cortexa15"
> +TUNE_FEATURES_tune-cortexa15t = "arm vftp thumb cortexa15"
> +TUNE_FEATURES_tune-cortexa15-neon = "arm vfp neon cortexa15"
> +TUNE_FEATURES_tune-cortexa15t-neon = "arm vfp neon thumb cortexa15"
> PACKAGE_EXTRA_ARCHS_tune-cortexa15 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa15-vfp"
> PACKAGE_EXTRA_ARCHS_tune-cortexa15t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa15-vfp cortexa15t2-vfp"
> PACKAGE_EXTRA_ARCHS_tune-cortexa15-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa15-vfp cortexa15-vfp-neon"
>
> p.
>
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]
next prev parent reply other threads:[~2015-10-06 14:28 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-06 13:36 [RFC][PATCH] cortexa{7,15,17}: add VFPv4 tunes Martin Jansa
2015-10-06 13:52 ` Phil Blundell
2015-10-06 14:28 ` Martin Jansa [this message]
2015-10-06 15:11 ` [RFC][WIP[[PATCH 1/2] tune-*: use mcpu instead of mtune for ARM tunes Martin Jansa
2015-10-06 15:11 ` [RFC][WIP[[PATCH 2/2] arch-armv7ve: add tune include for armv7ve and use it from cortexa7 and cortexa15 Martin Jansa
2015-10-19 18:03 ` [RFC][WIP[[PATCH] feature-arm-vfp.inc: respect vfpv4 when setting -mfloat-abi andARMPKGSFX_EABI Martin Jansa
2015-10-19 19:40 ` Khem Raj
2015-10-19 20:13 ` Martin Jansa
2015-10-19 20:16 ` [RFC][WIP[[PATCHv2] " Martin Jansa
2015-10-19 20:29 ` [RFC][WIP[[PATCH] feature-arm-vfp.inc: add -mfpu=vfpv4 when vfpv4 is in TUNE_FEATURES Martin Jansa
2015-10-19 20:49 ` [RFC][WIP[[PATCH] feature-arm-vfp.inc: respect vfpv4 when setting -mfloat-abi andARMPKGSFX_EABI Khem Raj
-- strict thread matches above, loose matches on Subject: below --
2015-10-06 13:31 [RFC][PATCH] cortexa{7,15,17}: add VFPv4 tunes Martin Jansa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151006142857.GA2383@jama \
--to=martin.jansa@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=pb@pbcl.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox