Hi all, This patch introduces the prefer_advsimd_autovec internal tune flag that's already available on the GCC 8 and 9 branches. It allows a CPU tuning to specify that it prefers Advanced SIMD for autovectorisation rather than SVE. In GCC 10 onwards this can be easily adjusted through the aarch64_autovec_preference param in the options override hook. The neoversev1_tunings struct makes use of this tuning flag
Bootstrapped and tested on aarch64-none-linux-gnu. Confirmed that an --param aarch64-autovec-preference can override the CPU setting if the user really wishes to. Pushing to the GCC 10 branch. Thanks, Kyrill gcc/ChangeLog: * config/aarch64/aarch64-tuning-flags.def (prefer_advsimd_autovec): Define. * config/aarch64/aarch64.c (neoversev1_tunings): Use it. (aarch64_override_options_internal): Adjust aarch64_autovec_preference param when prefer_advsimd_autovec is enabled. gcc/testsuite/ChangeLog: * gcc.target/aarch64/advsimd_autovec_only_1.c: New test.
asimd-vec-10.patch
Description: asimd-vec-10.patch