Hi Richard, > On 10 Dec 2025, at 11:56, Richard Earnshaw <[email protected]> wrote: > > On 10/12/2025 09:04, Kyrylo Tkachov wrote: >> Hi all, >> We've received reports from users confused about -mcpu=neoverse-v2 enabling >> the RNG intrinsics by default, even though it is an optional feature in the >> core and not implemented in their implementation. >> We think it'd be cleaner to not enable it by default for -mcpu=neoverse-v2, >> same as for -mcpu=grace. We'll also propose the change to Clang to keep >> the two compilers consistent. >> Bootstrapped and tested on aarch64-none-linux-gnu. >> Ok for trunk if the Clang change is also agreed upon? >> Signed-off-by: Kyrylo Tkachov <[email protected]> >> gcc/ >> * config/aarch64/aarch64-cores.def (neoverse-v2): Remove RNG. > > So the principle that we've normally applied is that (except for crypto) > optional features in the architecture are not enabled by default while for > CPUs optional features are enabled by default. The idea is that it's much > more obvious for users if something optional gets included (it will show up > quickly during debugging/execution), whilst missing a feature can lead to > poor performance when the feature isn't being utilized - something that is > not obvious during a test/debug run.
Thanks for the writeup. I’m inclined to agree. I’ll see if Clang can be adjusted to be consistent with the GCC position here (I think they need to fix some orthogonal -mcpu=native issues first). So this patch is on hold, and I may abandon it. Kyrill > > So I think this is inconsistent with our previous position. > > R.
