All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: Andre McCurdy <armccurdy@gmail.com>
Cc: OE-core <openembedded-core@lists.openembedded.org>,
	Koen Kooi <koen@dominion.thruhere.net>
Subject: Re: [PATCH v2 0/4] Add tune for ARMv8 and some cortex processors
Date: Tue, 12 Jun 2018 16:43:35 -0500	[thread overview]
Message-ID: <6ecaaa28-1748-b808-e519-72ee8642ebd6@windriver.com> (raw)
In-Reply-To: <CAJ86T=XPaV78aURUKY8bywmvD57hQacAfQ+jJ8ryf2pAYABYhw@mail.gmail.com>

On 6/12/18 3:39 PM, Andre McCurdy wrote:
> On Tue, Jun 12, 2018 at 1:00 PM, Mark Hatle <mark.hatle@windriver.com> wrote:
>> On 6/12/18 10:49 AM, Herve Jourdain wrote:
>>> Hi,
>>>
>>> So I agree with you about restricting to what gcc can support, that's actually my proposal (actually, probably a subset of what gcc can support).
>>> So for armv8, gcc supports, as architectures: armv8-a, armv8.1-a, armv8.2-a, armv8.3-a, armv8.4-a.
>>> Then, you can add the supported options with a "+" after the architecture.
>>> Options supported for armv8-a are: '+crc', '+simd', '+crypto', '+nocrypto', '+nofp'
>>> Options supported for armv8.1-a are: '+simd', '+crypto', '+nocrypto', '+nofp'
>>> Options supported for armv8.2-a and armv8.3-a are: '+fp16', '+fp16fml', '+simd', '+crypto', '+dotprod', '+nocrypto', '+nofp'
>>> Options supported for armv8.4-a are: '+fp16', '+simd', '+crypto', '+dotprod', '+nocrypto', '+nofp'
>>>
>>> As you can see, proposals for armv8-a, whether my previous one, the new one here, or even the one I have updated and used in production, just capture the existing complexity, and not add to it.
>>> and support for armv8.1-a, armv8.2-a, armv8.3-a, armv8.4a will only add more options down the line.
>>
>> Sounds a lot like the above would be TUNE_FEATURES to me..  (even if we don't
>> necessarily define a tune that uses them -- if it's standard another layer
>> certainly could.)
>>
>>> Regarding fpu, gcc supports the following for armv8: fp-armv8, neon-fp-armv8, and crypto-neon-fp-armv8.
>>>
>>> Regarding cpu, I believe that the armv8 supported ones are: ‘cortex-a32’, ‘cortex-a35’, ‘cortex-a53’, ‘cortex-a55’, ‘cortex-a57’, ‘cortex-a72’, ‘cortex-a73’, ‘cortex-a75’.
>>>
>>> I personally would like to keep tuning for a specific CPU as much as possible (again I'm working closely with various ARM-based SoCs, so my opinion might be tainted).
>>
>> Thats a lot of options, but if we focus on TUNE_FEATURES, I think it's a bit
>> more reasonable to support all of this.. (maybe that is what needs to be done in
>> the future as well for other architectures.. focus on the 'gcc' behavior and
>> generate TUNE_FEATURES matching the compiler.)
>>
>> I'd like Khem's opinion on how crazy of an idea that is.
>>
>>> One thing that could be done to simplify things would be to just use the cpu, and add the options to it. Gcc supports adding options to the cpu.
>>> '+nofp' for ‘cortex-a32’, ‘cortex-a35’, ‘cortex-a53’ and ‘cortex-a55’
>>> '+crypto' for ‘cortex-a32’, ‘cortex-a35’, ‘cortex-a53’, ‘cortex-a55’, ‘cortex-a57’, ‘cortex-a72’, ‘cortex-a73’, ‘cortex-a75’
>>>
>>> That could simplify the tune settings, but would give less control than what we currently have.
>>> As you might have guessed, I do put a specific emphasis on the crypto option, and on the neon option, which are the most interesting for armv8 in my opinion.
>>
>> In the past 'crypto' options have only been assembly.. if that's changed it has
>> definitely opened up a new facet in all of this work.
>>
>>> Regarding thumb, always adding it to the tune without creating specific variants with or without thumb makes sense, since the tune is normally about the SoC capabilities, and arv7 and armv8 both support it.
>>> You can always select whether you want thumb or not by setting ARM_INSTRUCTION_SET appropriately at the distro level.
>>
>> Yes, that might be needed now that thumb is theoretically always supposed to be
>> present.
> 
> It's not _always_ present - it's missing for armv4 CPUs such as StrongARM.

Always present on -modern- ARM processors.. ARMv7 (Cortex) and newer AFAIK.  I'm
not referring to older cores.

> However the option has been unnecessarily propagated into tuning files
> for higher architecture levels where support for Thumb _is_ always
> present.
> 



  reply	other threads:[~2018-06-12 21:43 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-09  6:26 [PATCH v2 0/4] Add tune for ARMv8 and some cortex processors Randy Li
2018-06-09  6:26 ` [PATCH v2 1/4] arch-armv8a.inc: add tune include for armv8 Randy Li
2018-06-12  5:59   ` Nicolas Dechesne
2018-06-12 14:21     ` Mark Hatle
2018-06-09  6:26 ` [PATCH v2 2/4] tune-cortexa35: add tunes for ARM Cortex-A35 Randy Li
2018-06-09  6:26 ` [PATCH v2 3/4] tune-cortexa32: add tunes for ARM Cortex-A32 Randy Li
2018-06-09  6:26 ` [PATCH v2 4/4] tune-cortexa72: add tunes for ARM Cortex-A72 Randy Li
2018-06-12  9:00 ` [PATCH v2 0/4] Add tune for ARMv8 and some cortex processors Koen Kooi
2018-06-12  9:30   ` Herve Jourdain
2018-06-12 14:32     ` Mark Hatle
2018-06-12 15:49       ` Herve Jourdain
2018-06-12 20:00         ` Mark Hatle
2018-06-12 20:39           ` Andre McCurdy
2018-06-12 21:43             ` Mark Hatle [this message]
2018-06-12 21:48               ` Andre McCurdy
2018-06-12 23:32             ` Herve Jourdain
2018-06-13  0:07               ` Andre McCurdy

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=6ecaaa28-1748-b808-e519-72ee8642ebd6@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=armccurdy@gmail.com \
    --cc=koen@dominion.thruhere.net \
    --cc=openembedded-core@lists.openembedded.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.