Re: aarch64 feature modifiers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Christer Solskogen via Gcc-help <gcc-help@xxxxxxxxxxx> writes:
> On 21.02.2022 12:35, Richard Sandiford via Gcc-help wrote:
>> Christer Solskogen via Gcc-help <gcc-help@xxxxxxxxxxx> writes:
>>> On https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html there's a
>>> list of feature modifiers to -march and -mcpu. Is there a way to check
>>> or detect what features are available on a particular CPU?
>> 
>> If you want to compile for a specific CPU then it's better to use
>> -mcpu=<that-cpu> with no feature modifiers, and leave out -march.
>> GCC will then make full use of the available features.
>> E.g. -mcpu=neoverse-n1 (on its own) will enable all features
>> available on Neoverse N1 and optimise code for Neoverse N1.
>> 
>> If you're just curious which features a given CPU implements,
>> you can find that out by compiling a dummy file with -mcpu.  E.g.:
>> 
>>    echo | gcc -mcpu=neoverse-n1 -xc - -o - -S | grep '\.arch'
>> 
>> will print out:
>> 
>>          .arch armv8.2-a+crc+fp16+rcpc+dotprod+profile

BTW, I should have said that this only explicitly lists the *optional*
features.  It doesn't include features that are required by Armv8.2-A.

> I see. Thank you.
> Does that mean that the cortex-a72 doesn't really support the +crypto or 
> +simd? Or does that depend on what is built?

+simd and +fp are implied by the armv8.2-a (and armv8-a).

Cortex-A72 support for +crypto is optional, so you're right that it has
to be specified explicitly when present.  See the TRM for details:

    https://developer.arm.com/documentation/100095/0003

Thanks,
Richard



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux