> On 20 Aug 2024, at 19:11, Richard Sandiford <richard.sandif...@arm.com> wrote:
> 
> External email: Use caution opening links or attachments
> 
> 
> Jennifer Schmitz <jschm...@nvidia.com> writes:
>> 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?
> 
> User-readable names are good, but just to check: who is the intended
> user here?  Is it just to save developers/experimenters the effort of
> having to look up the magic numbers (and yes, I have to do that each
> time I use it :) )?  Or is it for more general users?
> 
> If this is something that is being recommended for general use,
> then we should probably promote it from a --param to a full -m option.
> 
> The difference is that --params are intended to be developer options,
> so they can be removed or changed without warning.  For this reason,
> if we keep it as a --param, I think we should remove the old numeric
> values and just go with the symbolic ones.
> 
> Instead, -m options are intended as user options and are more stable.
> If an -m option becomes redundant later, we'd probably just turn it into
> a no-op rather than remove it.

I recommended to Jennifer to keep the old names as aliases because I had seem 
some internal scripts that did some specialist analysis use them and I got the 
impression there may be more such users.
But those scripts can easily be updated and indeed this is a param that we 
don’t promise to keep it backwards—compatible.
I’ve been in two minds over whether to keep the old options, I’m okay with 
switching to just the enum values.
I wouldn’t want to make this an -m* option as I don’t want to see this used in 
production code to override what the compiler should be getting right on its 
own.

Thanks,
Kyrill


> 
>> 
>> 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.
>> 
>> From 2e8693143f1c9c0668dea7bad77b3eadac6a4835 Mon Sep 17 00:00:00 2001
>> From: Jennifer Schmitz <jschm...@nvidia.com>
>> Date: Mon, 19 Aug 2024 08:42:55 -0700
>> Subject: [PATCH] PR target/116365: Add user-friendly arguments to --param
>> aarch64-autovec-preference=N
>> 
>> 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 a 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.
>> ---
>> gcc/config/aarch64/aarch64-opts.h             | 17 +++++++++
>> gcc/config/aarch64/aarch64.cc                 | 14 +++----
>> gcc/config/aarch64/aarch64.opt                | 37 ++++++++++++++++++-
>> gcc/doc/invoke.texi                           | 27 ++++++--------
>> .../gcc.target/aarch64/autovec_param_0.c      |  4 ++
>> .../gcc.target/aarch64/autovec_param_1.c      |  4 ++
>> .../gcc.target/aarch64/autovec_param_2.c      |  4 ++
>> .../gcc.target/aarch64/autovec_param_3.c      |  4 ++
>> .../gcc.target/aarch64/autovec_param_4.c      |  4 ++
>> .../aarch64/autovec_param_asimd-only.c        |  4 ++
>> .../aarch64/autovec_param_default.c           |  4 ++
>> .../aarch64/autovec_param_prefer-asimd.c      |  4 ++
>> .../aarch64/autovec_param_prefer-sve.c        |  4 ++
>> .../aarch64/autovec_param_sve-only.c          |  4 ++
>> .../gcc.target/aarch64/neoverse_v1_2.c        |  2 +-
>> .../gcc.target/aarch64/neoverse_v1_3.c        |  2 +-
>> .../gcc.target/aarch64/sve/cond_asrd_1.c      |  2 +-
>> .../gcc.target/aarch64/sve/cond_cnot_4.c      |  2 +-
>> .../gcc.target/aarch64/sve/cond_unary_5.c     |  2 +-
>> .../gcc.target/aarch64/sve/cond_uxt_5.c       |  2 +-
>> .../gcc.target/aarch64/sve/cond_xorsign_2.c   |  2 +-
>> .../gcc.target/aarch64/sve/pr98268-1.c        |  2 +-
>> .../gcc.target/aarch64/sve/pr98268-2.c        |  2 +-
>> 23 files changed, 120 insertions(+), 33 deletions(-)
>> create mode 100644 gcc/testsuite/gcc.target/aarch64/autovec_param_0.c
>> create mode 100644 gcc/testsuite/gcc.target/aarch64/autovec_param_1.c
>> create mode 100644 gcc/testsuite/gcc.target/aarch64/autovec_param_2.c
>> create mode 100644 gcc/testsuite/gcc.target/aarch64/autovec_param_3.c
>> create mode 100644 gcc/testsuite/gcc.target/aarch64/autovec_param_4.c
>> create mode 100644 
>> gcc/testsuite/gcc.target/aarch64/autovec_param_asimd-only.c
>> create mode 100644 gcc/testsuite/gcc.target/aarch64/autovec_param_default.c
>> create mode 100644 
>> gcc/testsuite/gcc.target/aarch64/autovec_param_prefer-asimd.c
>> create mode 100644 
>> gcc/testsuite/gcc.target/aarch64/autovec_param_prefer-sve.c
>> create mode 100644 gcc/testsuite/gcc.target/aarch64/autovec_param_sve-only.c
>> 
>> diff --git a/gcc/config/aarch64/aarch64-opts.h 
>> b/gcc/config/aarch64/aarch64-opts.h
>> index 80ec1a05253..1567c4baffa 100644
>> --- a/gcc/config/aarch64/aarch64-opts.h
>> +++ b/gcc/config/aarch64/aarch64-opts.h
>> @@ -115,6 +115,23 @@ enum aarch64_key_type {
>>   AARCH64_KEY_B
>> };
>> 
>> +/* An enum for setting the auto-vectorization preference:
>> +   - AARCH64_AUTOVEC_PREFERENCE_DEFAULT: Use default heuristics
>> +   - AARCH64_AUTOVEC_PREFERENCE_ASIMD_ONLY: Use only Advanced SIMD (Neon)
>> +   for auto-vectorisation
>> +   - AARCH64_AUTOVEC_PREFERENCE_SVE_ONLY: Use only SVE for 
>> auto-vectorisation
>> +   - AARCH64_AUTOVEC_PREFERENCE_PREFER_ASIMD: Use both Neon and SVE,
>> +   but prefer Neon when the costs are equal
>> +   - AARCH64_AUTOVEC_PREFERENCE_PREFER_SVE: Use both Neon and SVE,
>> +   but prefer SVE when the costs are equal.  */
>> +enum aarch64_autovec_preference_enum {
>> +  AARCH64_AUTOVEC_PREFERENCE_DEFAULT,
>> +  AARCH64_AUTOVEC_PREFERENCE_ASIMD_ONLY,
>> +  AARCH64_AUTOVEC_PREFERENCE_SVE_ONLY,
>> +  AARCH64_AUTOVEC_PREFERENCE_PREFER_ASIMD,
>> +  AARCH64_AUTOVEC_PREFERENCE_PREFER_SVE
>> +};
>> +
>> /* An enum specifying how to handle load and store pairs using
>>    a fine-grained policy:
>>    - LDP_STP_POLICY_DEFAULT: Use the policy defined in the tuning structure.
>> diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
>> index bfd7bcdef7c..fba3abe9856 100644
>> --- a/gcc/config/aarch64/aarch64.cc
>> +++ b/gcc/config/aarch64/aarch64.cc
>> @@ -16404,7 +16404,7 @@ record_potential_advsimd_unrolling (loop_vec_info 
>> loop_vinfo)
>> 
>>   /* Check whether it is possible in principle to use Advanced SIMD
>>      instead.  */
>> -  if (aarch64_autovec_preference == 2)
>> +  if (aarch64_autovec_preference == AARCH64_AUTOVEC_PREFERENCE_SVE_ONLY)
>>     return;
>> 
>>   /* We don't want to apply the heuristic to outer loops, since it's
>> @@ -22310,8 +22310,8 @@ static bool
>> aarch64_cmp_autovec_modes (machine_mode sve_m, machine_mode asimd_m)
>> {
>>   /* Take into account the aarch64-autovec-preference param if non-zero.  */
>> -  bool only_asimd_p = aarch64_autovec_preference == 1;
>> -  bool only_sve_p = aarch64_autovec_preference == 2;
>> +  bool only_asimd_p = aarch64_autovec_preference == 
>> AARCH64_AUTOVEC_PREFERENCE_ASIMD_ONLY;
>> +  bool only_sve_p = aarch64_autovec_preference == 
>> AARCH64_AUTOVEC_PREFERENCE_SVE_ONLY;
>> 
>>   if (only_asimd_p)
>>     return false;
>> @@ -22319,8 +22319,8 @@ aarch64_cmp_autovec_modes (machine_mode sve_m, 
>> machine_mode asimd_m)
>>     return true;
>> 
>>   /* The preference in case of a tie in costs.  */
>> -  bool prefer_asimd = aarch64_autovec_preference == 3;
>> -  bool prefer_sve = aarch64_autovec_preference == 4;
>> +  bool prefer_asimd = aarch64_autovec_preference == 
>> AARCH64_AUTOVEC_PREFERENCE_PREFER_ASIMD;
>> +  bool prefer_sve = aarch64_autovec_preference == 
>> AARCH64_AUTOVEC_PREFERENCE_PREFER_SVE;
>> 
>>   poly_int64 nunits_sve = GET_MODE_NUNITS (sve_m);
>>   poly_int64 nunits_asimd = GET_MODE_NUNITS (asimd_m);
>> @@ -22421,8 +22421,8 @@ aarch64_autovectorize_vector_modes (vector_modes 
>> *modes, bool)
>>        than an SVE main loop with N bytes then by default we'll try to
>>        use the SVE loop to vectorize the epilogue instead.  */
>> 
>> -  bool only_asimd_p = aarch64_autovec_preference == 1;
>> -  bool only_sve_p = aarch64_autovec_preference == 2;
>> +  bool only_asimd_p = aarch64_autovec_preference == 
>> AARCH64_AUTOVEC_PREFERENCE_ASIMD_ONLY;
>> +  bool only_sve_p = aarch64_autovec_preference == 
>> AARCH64_AUTOVEC_PREFERENCE_SVE_ONLY;
> 
> Formatting nit, sorry, but: long lines in the three hunks above.
> (Alternatively, we could drop "PREFERENCE_" from the enum name,
> in which case the lines all fit.)
>> 
>>   unsigned int sve_i = (TARGET_SVE && !only_asimd_p) ? 0 : ARRAY_SIZE 
>> (sve_modes);
>>   unsigned int advsimd_i = 0;
>> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
>> index 32b772d2a8a..a5c60e6a309 100644
>> --- a/gcc/doc/invoke.texi
>> +++ b/gcc/doc/invoke.texi
>> @@ -17175,22 +17175,17 @@ The precision of division is propotional to this 
>> param when division
>> approximation is enabled.  The default value is 2.
>> 
>> @item aarch64-autovec-preference
>> -Force an ISA selection strategy for auto-vectorization.  Accepts values from
>> -0 to 4, inclusive.
>> -@table @samp
>> -@item 0
>> -Use the default heuristics.
>> -@item 1
>> -Use only Advanced SIMD for auto-vectorization.
>> -@item 2
>> -Use only SVE for auto-vectorization.
>> -@item 3
>> -Use both Advanced SIMD and SVE.  Prefer Advanced SIMD when the costs are
>> -deemed equal.
>> -@item 4
>> -Use both Advanced SIMD and SVE.  Prefer SVE when the costs are deemed equal.
>> -@end table
>> -The default value is 0.
>> +Force an ISA selection strategy for auto-vectorization.
>> +With @option{--param=aarch64-autovec-preference=default}, use the default
>> +heuristics.
>> +With @option{--param=aarch64-autovec-preference=asimd-only}, use only
>> +Advanced SIMD for auto-vectorization.
>> +With @option{--param=aarch64-autovec-preference=sve-only}, use only SVE
>> +for auto-vectorization.
>> +With @option{--param=aarch64-autovec-preference=prefer-asimd}, use both
>> +Advanced SIMD and SVE.  Prefer Advanced SIMD when the costs are deemed 
>> equal.
>> +With @option{--param=aarch64-autovec-preference=prefer-sve}, use both
>> +Advanced SIMD and SVE.  Prefer SVE when the costs are deemed equal.
> 
> The table presentation seems more natural to me.
> 
> Thanks,
> Richard
> 
>> 
>> @item aarch64-ldp-policy
>> Fine-grained policy for load pairs.
>> diff --git a/gcc/testsuite/gcc.target/aarch64/autovec_param_0.c 
>> b/gcc/testsuite/gcc.target/aarch64/autovec_param_0.c
>> new file mode 100644
>> index 00000000000..45a2a4c5a6b
>> --- /dev/null
>> +++ b/gcc/testsuite/gcc.target/aarch64/autovec_param_0.c
>> @@ -0,0 +1,4 @@
>> +/* { dg-options "--param aarch64-autovec-preference=0" } */
>> +
>> +void
>> +foo (void) {}
>> diff --git a/gcc/testsuite/gcc.target/aarch64/autovec_param_1.c 
>> b/gcc/testsuite/gcc.target/aarch64/autovec_param_1.c
>> new file mode 100644
>> index 00000000000..bf7f7b402a9
>> --- /dev/null
>> +++ b/gcc/testsuite/gcc.target/aarch64/autovec_param_1.c
>> @@ -0,0 +1,4 @@
>> +/* { dg-options "--param aarch64-autovec-preference=1" } */
>> +
>> +void
>> +foo (void) {}
>> diff --git a/gcc/testsuite/gcc.target/aarch64/autovec_param_2.c 
>> b/gcc/testsuite/gcc.target/aarch64/autovec_param_2.c
>> new file mode 100644
>> index 00000000000..81d6c19ea9c
>> --- /dev/null
>> +++ b/gcc/testsuite/gcc.target/aarch64/autovec_param_2.c
>> @@ -0,0 +1,4 @@
>> +/* { dg-options "--param aarch64-autovec-preference=2" } */
>> +
>> +void
>> +foo (void) {}
>> diff --git a/gcc/testsuite/gcc.target/aarch64/autovec_param_3.c 
>> b/gcc/testsuite/gcc.target/aarch64/autovec_param_3.c
>> new file mode 100644
>> index 00000000000..875eb1ea0d6
>> --- /dev/null
>> +++ b/gcc/testsuite/gcc.target/aarch64/autovec_param_3.c
>> @@ -0,0 +1,4 @@
>> +/* { dg-options "--param aarch64-autovec-preference=3" } */
>> +
>> +void
>> +foo (void) {}
>> diff --git a/gcc/testsuite/gcc.target/aarch64/autovec_param_4.c 
>> b/gcc/testsuite/gcc.target/aarch64/autovec_param_4.c
>> new file mode 100644
>> index 00000000000..55ad25fecc4
>> --- /dev/null
>> +++ b/gcc/testsuite/gcc.target/aarch64/autovec_param_4.c
>> @@ -0,0 +1,4 @@
>> +/* { dg-options "--param aarch64-autovec-preference=4" } */
>> +
>> +void
>> +foo (void) {}
>> diff --git a/gcc/testsuite/gcc.target/aarch64/autovec_param_asimd-only.c 
>> b/gcc/testsuite/gcc.target/aarch64/autovec_param_asimd-only.c
>> new file mode 100644
>> index 00000000000..c983b26604d
>> --- /dev/null
>> +++ b/gcc/testsuite/gcc.target/aarch64/autovec_param_asimd-only.c
>> @@ -0,0 +1,4 @@
>> +/* { dg-options "--param aarch64-autovec-preference=asimd-only" } */
>> +
>> +void
>> +foo (void) {}
>> diff --git a/gcc/testsuite/gcc.target/aarch64/autovec_param_default.c 
>> b/gcc/testsuite/gcc.target/aarch64/autovec_param_default.c
>> new file mode 100644
>> index 00000000000..d02acf17df2
>> --- /dev/null
>> +++ b/gcc/testsuite/gcc.target/aarch64/autovec_param_default.c
>> @@ -0,0 +1,4 @@
>> +/* { dg-options "--param aarch64-autovec-preference=default" } */
>> +
>> +void
>> +foo (void) {}
>> diff --git a/gcc/testsuite/gcc.target/aarch64/autovec_param_prefer-asimd.c 
>> b/gcc/testsuite/gcc.target/aarch64/autovec_param_prefer-asimd.c
>> new file mode 100644
>> index 00000000000..a40d7bdc0d9
>> --- /dev/null
>> +++ b/gcc/testsuite/gcc.target/aarch64/autovec_param_prefer-asimd.c
>> @@ -0,0 +1,4 @@
>> +/* { dg-options "--param aarch64-autovec-preference=prefer-asimd" } */
>> +
>> +void
>> +foo (void) {}
>> diff --git a/gcc/testsuite/gcc.target/aarch64/autovec_param_prefer-sve.c 
>> b/gcc/testsuite/gcc.target/aarch64/autovec_param_prefer-sve.c
>> new file mode 100644
>> index 00000000000..b8b995fe969
>> --- /dev/null
>> +++ b/gcc/testsuite/gcc.target/aarch64/autovec_param_prefer-sve.c
>> @@ -0,0 +1,4 @@
>> +/* { dg-options "--param aarch64-autovec-preference=prefer-sve" } */
>> +
>> +void
>> +foo (void) {}
>> diff --git a/gcc/testsuite/gcc.target/aarch64/autovec_param_sve-only.c 
>> b/gcc/testsuite/gcc.target/aarch64/autovec_param_sve-only.c
>> new file mode 100644
>> index 00000000000..f9c567fa6a5
>> --- /dev/null
>> +++ b/gcc/testsuite/gcc.target/aarch64/autovec_param_sve-only.c
>> @@ -0,0 +1,4 @@
>> +/* { dg-options "--param aarch64-autovec-preference=sve-only" } */
>> +
>> +void
>> +foo (void) {}
>> diff --git a/gcc/testsuite/gcc.target/aarch64/neoverse_v1_2.c 
>> b/gcc/testsuite/gcc.target/aarch64/neoverse_v1_2.c
>> index 45d7e81c78e..c95fd463ebf 100644
>> --- a/gcc/testsuite/gcc.target/aarch64/neoverse_v1_2.c
>> +++ b/gcc/testsuite/gcc.target/aarch64/neoverse_v1_2.c
>> @@ -1,4 +1,4 @@
>> -/* { dg-options "-O2 -mcpu=neoverse-v1 --param aarch64-autovec-preference=1 
>> -fdump-tree-vect-details" } */
>> +/* { dg-options "-O2 -mcpu=neoverse-v1 --param 
>> aarch64-autovec-preference=asimd-only -fdump-tree-vect-details" } */
>> 
>> void
>> f (float x[restrict][100], float y[restrict][100])
>> diff --git a/gcc/testsuite/gcc.target/aarch64/neoverse_v1_3.c 
>> b/gcc/testsuite/gcc.target/aarch64/neoverse_v1_3.c
>> index de31fc13b28..f5c94969bf3 100644
>> --- a/gcc/testsuite/gcc.target/aarch64/neoverse_v1_3.c
>> +++ b/gcc/testsuite/gcc.target/aarch64/neoverse_v1_3.c
>> @@ -1,4 +1,4 @@
>> -/* { dg-options "-O2 -mcpu=neoverse-v1 --param aarch64-autovec-preference=2 
>> -fdump-tree-vect-details" } */
>> +/* { dg-options "-O2 -mcpu=neoverse-v1 --param 
>> aarch64-autovec-preference=sve-only -fdump-tree-vect-details" } */
>> 
>> void
>> f (float x[restrict][100], float y[restrict][100])
>> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/cond_asrd_1.c 
>> b/gcc/testsuite/gcc.target/aarch64/sve/cond_asrd_1.c
>> index 96e99353601..9e14bc68e05 100644
>> --- a/gcc/testsuite/gcc.target/aarch64/sve/cond_asrd_1.c
>> +++ b/gcc/testsuite/gcc.target/aarch64/sve/cond_asrd_1.c
>> @@ -1,5 +1,5 @@
>> /* { dg-do compile } */
>> -/* { dg-options "-O2 -ftree-vectorize -moverride=sve_width=256 
>> --param=aarch64-autovec-preference=2" } */
>> +/* { dg-options "-O2 -ftree-vectorize -moverride=sve_width=256 
>> --param=aarch64-autovec-preference=sve-only" } */
>> 
>> #include <stdint.h>
>> 
>> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/cond_cnot_4.c 
>> b/gcc/testsuite/gcc.target/aarch64/sve/cond_cnot_4.c
>> index 6f969a82942..cc2363cad29 100644
>> --- a/gcc/testsuite/gcc.target/aarch64/sve/cond_cnot_4.c
>> +++ b/gcc/testsuite/gcc.target/aarch64/sve/cond_cnot_4.c
>> @@ -1,5 +1,5 @@
>> /* { dg-do compile } */
>> -/* { dg-options "-O2 -ftree-vectorize -moverride=sve_width=256 
>> --param=aarch64-autovec-preference=2" } */
>> +/* { dg-options "-O2 -ftree-vectorize -moverride=sve_width=256 
>> --param=aarch64-autovec-preference=sve-only" } */
>> 
>> #include <stdint.h>
>> 
>> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/cond_unary_5.c 
>> b/gcc/testsuite/gcc.target/aarch64/sve/cond_unary_5.c
>> index e6ec5157cd6..078318e8d26 100644
>> --- a/gcc/testsuite/gcc.target/aarch64/sve/cond_unary_5.c
>> +++ b/gcc/testsuite/gcc.target/aarch64/sve/cond_unary_5.c
>> @@ -1,5 +1,5 @@
>> /* { dg-do compile } */
>> -/* { dg-options "-O2 -ftree-vectorize -moverride=sve_width=256 
>> --param=aarch64-autovec-preference=2" } */
>> +/* { dg-options "-O2 -ftree-vectorize -moverride=sve_width=256 
>> --param=aarch64-autovec-preference=sve-only" } */
>> 
>> #include <stdint.h>
>> 
>> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/cond_uxt_5.c 
>> b/gcc/testsuite/gcc.target/aarch64/sve/cond_uxt_5.c
>> index 7ed35921b6f..0b0984743c8 100644
>> --- a/gcc/testsuite/gcc.target/aarch64/sve/cond_uxt_5.c
>> +++ b/gcc/testsuite/gcc.target/aarch64/sve/cond_uxt_5.c
>> @@ -1,5 +1,5 @@
>> /* { dg-do compile } */
>> -/* { dg-options "-O2 -ftree-vectorize -moverride=sve_width=256 
>> --param=aarch64-autovec-preference=2" } */
>> +/* { dg-options "-O2 -ftree-vectorize -moverride=sve_width=256 
>> --param=aarch64-autovec-preference=sve-only" } */
>> 
>> #include <stdint.h>
>> 
>> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/cond_xorsign_2.c 
>> b/gcc/testsuite/gcc.target/aarch64/sve/cond_xorsign_2.c
>> index 274dd0ede59..20ec97040bd 100644
>> --- a/gcc/testsuite/gcc.target/aarch64/sve/cond_xorsign_2.c
>> +++ b/gcc/testsuite/gcc.target/aarch64/sve/cond_xorsign_2.c
>> @@ -1,5 +1,5 @@
>> /* { dg-do compile } */
>> -/* { dg-options "-O2 -msve-vector-bits=128 --param 
>> aarch64-autovec-preference=2" } */
>> +/* { dg-options "-O2 -msve-vector-bits=128 --param 
>> aarch64-autovec-preference=sve-only" } */
>> 
>> #include "cond_xorsign_1.c"
>> 
>> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr98268-1.c 
>> b/gcc/testsuite/gcc.target/aarch64/sve/pr98268-1.c
>> index fdbe55e0b4e..9b160990ddb 100644
>> --- a/gcc/testsuite/gcc.target/aarch64/sve/pr98268-1.c
>> +++ b/gcc/testsuite/gcc.target/aarch64/sve/pr98268-1.c
>> @@ -1,5 +1,5 @@
>> /* { dg-do link } */
>> -/* { dg-options "-flto -O -ftree-vectorize 
>> --param=aarch64-autovec-preference=3" } */
>> +/* { dg-options "-flto -O -ftree-vectorize 
>> --param=aarch64-autovec-preference=prefer-asimd" } */
>> /* { dg-additional-sources "pr98268-2.c" } */
>> 
>> short d, e;
>> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr98268-2.c 
>> b/gcc/testsuite/gcc.target/aarch64/sve/pr98268-2.c
>> index de3b05d5e15..59cea967bbd 100644
>> --- a/gcc/testsuite/gcc.target/aarch64/sve/pr98268-2.c
>> +++ b/gcc/testsuite/gcc.target/aarch64/sve/pr98268-2.c
>> @@ -1,5 +1,5 @@
>> /* { dg-do compile } */
>> -/* { dg-options "-O -ftree-vectorize --param=aarch64-autovec-preference=3" 
>> } */
>> +/* { dg-options "-O -ftree-vectorize 
>> --param=aarch64-autovec-preference=prefer-asimd" } */
>> 
>> extern short d[], e[];
>> void f(char a, long *b) {

Reply via email to