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.

Attachment: asimd-vec-10.patch
Description: asimd-vec-10.patch

Reply via email to