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