The param aarch64-autovec-preference=N is a useful tool for testing
auto-vectorisation in GCC as it allows the user to force a particular
strategy. So far, N could be an numerical value between 0 and 4.
This patch adds more user-friendly names to distinguish the options.
For backwards compatibility, the numerical values are retained, but are made
aliases of the new user-readable strings.

The patch was bootstrapped and regtested on aarch64-linux-gnu, no regression.
Ok for mainline?

Signed-off-by: Jennifer Schmitz <jschm...@nvidia.com>

gcc/
        PR target/116365
        * config/aarch64/aarch64-opts.h
        (enum aarch64_autovec_preference_enum): New enum.
        * config/aarch64/aarch64.cc (aarch64_cmp_autovec_modes):
        Change numerical to enum values.
        (aarch64_autovectorize_vector_modes): Change numerical to enum
        values.
        (aarch64_vector_costs::record_potential_advsimd_unrolling):
        Change numerical to enum values.
        * config/aarch64/aarch64.opt: Change param type to enum.
        * doc/invoke.texi: Update documentation.

gcc/testsuite/
        PR target/116365
        * gcc.target/aarch64/autovec_param_0.c: New test.
        * gcc.target/aarch64/autovec_param_1.c: Likewise.
        * gcc.target/aarch64/autovec_param_2.c: Likewise.
        * gcc.target/aarch64/autovec_param_3.c: Likewise.
        * gcc.target/aarch64/autovec_param_4.c: Likewise.
        * gcc.target/aarch64/autovec_param_asimd-only.c: Likewise.
        * gcc.target/aarch64/autovec_param_default.c: Likewise.
        * gcc.target/aarch64/autovec_param_prefer-asimd.c: Likewise.
        * gcc.target/aarch64/autovec_param_prefer-sve.c: Likewise.
        * gcc.target/aarch64/autovec_param_sve-only.c: Likewise.
        * gcc.target/aarch64/neoverse_v1_2.c: Update parameter value.
        * gcc.target/aarch64/neoverse_v1_3.c: Likewise.
        * gcc.target/aarch64/sve/cond_asrd_1.c: Likewise.
        * gcc.target/aarch64/sve/cond_cnot_4.c: Likewise.
        * gcc.target/aarch64/sve/cond_unary_5.c: Likewise.
        * gcc.target/aarch64/sve/cond_uxt_5.c: Likewise.
        * gcc.target/aarch64/sve/cond_xorsign_2.c: Likewise.
        * gcc.target/aarch64/sve/pr98268-1.c: Likewise.
        * gcc.target/aarch64/sve/pr98268-2.c: Likewise.

Attachment: 0001-PR-target-116365-Add-user-friendly-arguments-to-para.patch
Description: Binary data

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to