> -----Original Message-----
> From: Alfie Richards <[email protected]>
> Sent: 17 September 2026 15:40
> To: [email protected]
> Cc: Alex Coplan <[email protected]>; Alice Carlotti
> <[email protected]>; Andrea Pinski
> <[email protected]>; Richard Biener <[email protected]>;
> Tamar Christina <[email protected]>; Zdenek Dvorak <[email protected]>;
> Robin Dapp <[email protected]>; Richard Sandiford
> <[email protected]>; Kyrylo Tkachov <[email protected]>;
> Alfie Richards <[email protected]>
> Subject: [PATCH v3 15/16] aarch64: Add HSSR tests
> 
> In addition, disable HSSR code gen for several tests as these cause the
> tests to break.
> 
> For instance, the peeling tests no longer peel when using hssr,
> breaking the test. This prevents other similar spurious failures.
> 
> gcc/testsuite/ChangeLog:
> 
>       * gcc.target/aarch64/sve/ffr_1.c: New test.
>       * gcc.target/aarch64/sve/ffr_2.c: New test.
>       * gcc.target/aarch64/sve/ffr_3.c: New test.
>       * gcc.target/aarch64/sve/ffr_4.c: New test.
>       * gcc.target/aarch64/sve/noeffect11.c: Update to disable HSSR
>       codegen which breaks the test spuriously.
>       * gcc.target/aarch64/sve/peel_ind_1.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_11.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_12.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_13.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_14.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_15.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_16.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_17.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_2.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_3.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_4.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_5.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_6.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_7.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_8.c: Likewise.
>       * gcc.target/aarch64/sve/peel_ind_9.c: Likewise.
>       * gcc.target/aarch64/sve/peeled.c: Likewise.
>       * gcc.target/aarch64/sve/peeled1.c: Likewise.
>       * gcc.target/aarch64/sve/peeled2.c: Likewise.
>       * gcc.target/aarch64/sve/peeled3.c: Likewise.
>       * gcc.target/aarch64/sve/pr119351.c: Likewise.
> ---
>  gcc/testsuite/gcc.target/aarch64/sve/ffr_1.c  | 16 +++++++
>  gcc/testsuite/gcc.target/aarch64/sve/ffr_2.c  | 44 +++++++++++++++++++
>  gcc/testsuite/gcc.target/aarch64/sve/ffr_3.c  | 21 +++++++++
>  gcc/testsuite/gcc.target/aarch64/sve/ffr_4.c  | 21 +++++++++
>  .../gcc.target/aarch64/sve/noeffect11.c       |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_1.c       |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_11.c      |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_12.c      |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_13.c      |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_14.c      |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_15.c      |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_16.c      |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_17.c      |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_2.c       |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_3.c       |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_4.c       |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_5.c       |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_6.c       |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_7.c       |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_8.c       |  2 +-
>  .../gcc.target/aarch64/sve/peel_ind_9.c       |  2 +-
>  gcc/testsuite/gcc.target/aarch64/sve/peeled.c |  2 +-
>  .../gcc.target/aarch64/sve/peeled1.c          |  2 +-
>  .../gcc.target/aarch64/sve/peeled2.c          |  2 +-
>  .../gcc.target/aarch64/sve/peeled3.c          |  2 +-
>  .../gcc.target/aarch64/sve/pr119351.c         |  2 +-
>  26 files changed, 124 insertions(+), 22 deletions(-)
>  create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/ffr_1.c
>  create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/ffr_2.c
>  create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/ffr_3.c
>  create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/ffr_4.c
> 
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/ffr_1.c
> b/gcc/testsuite/gcc.target/aarch64/sve/ffr_1.c
> new file mode 100644
> index 00000000000..361e4ea9c9f
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/ffr_1.c
> @@ -0,0 +1,16 @@
> +/* { dg-do compile } */
> +/* { dg-options "-O3 -fdump-tree-vect-details --save-temps --param=vect-
> hssr-usage=3" } */
> +
> +#include <stdint.h>
> +
> +int foo (int *restrict a, int *restrict b, int N) {
> +  for (int i = 0; i < N; i++)
> +   {
> +     if (a[i] == b[i])
> +       return 1;
> +   }
> +   return 0;
> +}
> +
> +/* { dg-final { scan-tree-dump "Will use HSSR" "vect" } } */

Minor nit I'll make in the patch that introduces this. We don't normally use 
capitals
for informational sentences (there are some exceptions but norm is lowercase).

Patch is OK with that nit fixed.

Thanks,
Tamar

> +/* { dg-final { scan-assembler-times {\tldff1w\tz[0-9]+\.s, p[0-9]+/z,} 2 } 
> } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/ffr_2.c
> b/gcc/testsuite/gcc.target/aarch64/sve/ffr_2.c
> new file mode 100644
> index 00000000000..f27dc64a882
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/ffr_2.c
> @@ -0,0 +1,44 @@
> +/* { dg-do compile } */
> +/* { dg-options "-O3 -fdump-tree-vect-details --save-temps --param=vect-
> hssr-usage=3" } */
> +/* { dg-final { check-function-bodies "**" "" "" } } */
> +
> +#include <stdint.h>
> +
> +#define type uint16_t
> +
> +type call [[gnu::simd, gnu::const]] (type);
> +
> +void foo(
> +        type * const restrict dst1,
> +        type * const restrict src1,
> +        type * const restrict src1b,
> +        type * const restrict src2,
> +        unsigned int n)
> +{
> +
> +    for (int i = 0; i < n; i++) {
> +        type v1b = call (src1b[i]);
> +        type v1 = src1[i];
> +        if (v1 == v1b) {break;}
> +        type v2 = src2[i];
> +        dst1[i] = v1 + v2;
> +    }
> +}
> +
> +/* { dg-final { scan-tree-dump "Will use HSSR" "vect" } } */
> +
> +// Make sure the call does not come between the loads and the rdffr
> +// As the call can clobber the HSSR state
> +/*
> +** foo:
> +** ...
> +**   ldff1h  z[0-9]+\.h, p[0-9]/z, \[x[0-9]+\]
> +**   ldff1h  z[0-9]+\.h, p[0-9]/z, \[x[0-9]+\]
> +** ...
> +**   rdffrs  p[0-9]+.b, p[0-9]+/z
> +** ...
> +**   b.nlast \.L[0-9]+
> +** ...
> +**   bl      _ZGVsMxv_call
> +** ...
> +*/
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/ffr_3.c
> b/gcc/testsuite/gcc.target/aarch64/sve/ffr_3.c
> new file mode 100644
> index 00000000000..49d31165983
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/ffr_3.c
> @@ -0,0 +1,21 @@
> +/* { dg-do compile } */
> +
> +/* { dg-options "-O3 -fdump-tree-vect-details --param=aarch64-autovec-
> preference=VNx4QI --param=vect-hssr-usage=3" } */
> +// Select VNx4SI specifically to test widening loads
> +
> +#include <stdint.h>
> +
> +int foo (char *restrict a, char *restrict b, int N) {
> +  for (int i = 0; i < N; i++)
> +   {
> +     if (a[i] + b[i] == 0)
> +       return 1;
> +   }
> +   return 0;
> +}
> +
> +/* { dg-final { scan-tree-dump "Will use HSSR" "vect" } } */
> +/* Check it actually uses the widening loads as desired.  */
> +/* { dg-final { scan-assembler-times {\tldff1b\tz[0-9]+\.s, p[0-9]+/z,} 2 } 
> } */
> +/* Check it doesn't try extend the already extended loads.  */
> +/* { dg-final { scan-assembler-not {\tuxtb\tz[0-9]+\.h, p[0-9]+/m,} } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/ffr_4.c
> b/gcc/testsuite/gcc.target/aarch64/sve/ffr_4.c
> new file mode 100644
> index 00000000000..189815f1ed1
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/ffr_4.c
> @@ -0,0 +1,21 @@
> +/* { dg-do compile } */
> +
> +/* { dg-options "-O3 -fdump-tree-vect-details --param=aarch64-autovec-
> preference=VNx8QI --param=vect-hssr-usage=3" } */
> +// Select VNx8HI specifically to test widening loads
> +
> +#include <stdint.h>
> +
> +int foo (char *restrict a, char *restrict b, int N) {
> +  for (int i = 0; i < N; i++)
> +   {
> +     if (a[i] + b[i] == 0)
> +       return 1;
> +   }
> +   return 0;
> +}
> +
> +/* { dg-final { scan-tree-dump "Will use HSSR" "vect" } } */
> +/* Check it actually uses the widening loads as desired.  */
> +/* { dg-final { scan-assembler-times {\tldff1b\tz[0-9]+\.h, p[0-9]+/z,} 2 } 
> } */
> +/* Check it doesn't try extend the already extended loads.  */
> +/* { dg-final { scan-assembler-not {\tuxtb\tz[0-9]+\.h, p[0-9]+/m,} } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/noeffect11.c
> b/gcc/testsuite/gcc.target/aarch64/sve/noeffect11.c
> index 5c8c3565da6..0f781496fad 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/noeffect11.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/noeffect11.c
> @@ -1,6 +1,6 @@
>  /* { dg-do compile } */
>  /* { dg-require-effective-target lp64 } */
> -/* { dg-options "-O3 -march=armv8-a+sve --param=aarch64-autovec-
> preference=sve-only -msve-vector-bits=scalable" } */
> +/* { dg-options "-O3 -march=armv8-a+sve --param=aarch64-autovec-
> preference=sve-only -msve-vector-bits=scalable --param=vect-hssr-usage=0" }
> */
>  /* { dg-final { check-function-bodies "**" "" "" } } */
> 
>  /*
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_1.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_1.c
> index e9afc2047e4..ed454669ab2 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_1.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_1.c
> @@ -1,7 +1,7 @@
>  /* { dg-do compile } */
>  /* Pick an arbitrary target for which unaligned accesses are more
>     expensive.  */
> -/* { dg-options "-O3 -msve-vector-bits=256 -mtune=thunderx" } */
> +/* { dg-options "-O3 -msve-vector-bits=256 -mtune=thunderx --param=vect-
> hssr-usage=0" } */
> 
>  #define N 512
>  #define START 1
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_11.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_11.c
> index 37806adea7b..158a1c22d17 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_11.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_11.c
> @@ -1,6 +1,6 @@
>  /* Peeling for alignment with masking in VLA modes.  */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast -msve-vector-bits=scalable --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast -msve-vector-bits=scalable --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details --param=vect-hssr-usage=0" }
> */
> 
>  #define START 3
>  #define END 510
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_12.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_12.c
> index e3ed63afb05..2eaa374cae7 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_12.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_12.c
> @@ -1,6 +1,6 @@
>  /* Peeling for alignment with masking together with versioning in VLA modes.
> */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast -msve-vector-bits=scalable --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast -msve-vector-bits=scalable --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details --param=vect-hssr-usage=0" }
> */
> 
>  #define START 5
>  #define END 509
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_13.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_13.c
> index 730e33ed8f7..e733bd05e06 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_13.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_13.c
> @@ -1,6 +1,6 @@
>  /* Known inbounds DR in VLA modes.  */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast -msve-vector-bits=scalable --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast -msve-vector-bits=scalable --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details --param=vect-hssr-usage=0" }
> */
> 
>  #define N 512
>  #define START 5
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_14.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_14.c
> index b2f4650bb2c..6a7a4bafc88 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_14.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_14.c
> @@ -1,6 +1,6 @@
>  /* Fix for PR123089 alignment peeling with vectors and VLS and overflows.
> */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast --param aarch64-autovec-preference=sve-only -
> fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast --param aarch64-autovec-preference=sve-only -
> fdump-tree-vect-details --param=vect-hssr-usage=0" } */
>  /* { dg-additional-options "-msve-vector-bits=256" { target
> aarch64_sve256_hw } } */
>  /* { dg-additional-options "-msve-vector-bits=128" { target
> aarch64_sve128_hw } } */
> 
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_15.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_15.c
> index b2f4650bb2c..6a7a4bafc88 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_15.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_15.c
> @@ -1,6 +1,6 @@
>  /* Fix for PR123089 alignment peeling with vectors and VLS and overflows.
> */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast --param aarch64-autovec-preference=sve-only -
> fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast --param aarch64-autovec-preference=sve-only -
> fdump-tree-vect-details --param=vect-hssr-usage=0" } */
>  /* { dg-additional-options "-msve-vector-bits=256" { target
> aarch64_sve256_hw } } */
>  /* { dg-additional-options "-msve-vector-bits=128" { target
> aarch64_sve128_hw } } */
> 
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_16.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_16.c
> index b2f4650bb2c..6a7a4bafc88 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_16.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_16.c
> @@ -1,6 +1,6 @@
>  /* Fix for PR123089 alignment peeling with vectors and VLS and overflows.
> */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast --param aarch64-autovec-preference=sve-only -
> fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast --param aarch64-autovec-preference=sve-only -
> fdump-tree-vect-details --param=vect-hssr-usage=0" } */
>  /* { dg-additional-options "-msve-vector-bits=256" { target
> aarch64_sve256_hw } } */
>  /* { dg-additional-options "-msve-vector-bits=128" { target
> aarch64_sve128_hw } } */
> 
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_17.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_17.c
> index 5395a759c61..08623e8f379 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_17.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_17.c
> @@ -1,6 +1,6 @@
>  /* Fix for PR123089 alignment peeling with vectors and VLS and overflows.
> */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast --param aarch64-autovec-preference=sve-only  -
> fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast --param aarch64-autovec-preference=sve-only  -
> fdump-tree-vect-details --param=vect-hssr-usage=0" } */
>  /* { dg-additional-options "-msve-vector-bits=256" { target
> aarch64_sve256_hw } } */
>  /* { dg-additional-options "-msve-vector-bits=128" { target
> aarch64_sve128_hw } } */
> 
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_2.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_2.c
> index f07900b2f0a..cb0a1e8cf88 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_2.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_2.c
> @@ -1,7 +1,7 @@
>  /* { dg-do compile } */
>  /* Pick an arbitrary target for which unaligned accesses are more
>     expensive.  */
> -/* { dg-options "-O3 -msve-vector-bits=256 -mtune=thunderx -fno-vect-
> cost-model" } */
> +/* { dg-options "-O3 -msve-vector-bits=256 -mtune=thunderx -fno-vect-
> cost-model --param=vect-hssr-usage=0" } */
> 
>  #define N 512
>  #define START 7
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_3.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_3.c
> index 15da5a7e696..5f014e568e1 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_3.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_3.c
> @@ -1,7 +1,7 @@
>  /* { dg-do compile } */
>  /* Pick an arbitrary target for which unaligned accesses are more
>     expensive.  */
> -/* { dg-options "-O3 -msve-vector-bits=256 -mtune=thunderx -fno-vect-
> cost-model" } */
> +/* { dg-options "-O3 -msve-vector-bits=256 -mtune=thunderx -fno-vect-
> cost-model --param=vect-hssr-usage=0" } */
> 
>  #define N 32
>  #define MAX_START 8
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_4.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_4.c
> index 5b5d88ad521..ad9ed058a48 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_4.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_4.c
> @@ -1,7 +1,7 @@
>  /* { dg-do compile } */
>  /* Pick an arbitrary target for which unaligned accesses are more
>     expensive.  */
> -/* { dg-options "-Ofast -msve-vector-bits=256 -mtune=thunderx -fno-vect-
> cost-model" } */
> +/* { dg-options "-Ofast -msve-vector-bits=256 -mtune=thunderx -fno-vect-
> cost-model --param=vect-hssr-usage=0" } */
> 
>  #define START 1
>  #define END 505
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_5.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_5.c
> index 1977bf3af2d..ac448ed1db4 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_5.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_5.c
> @@ -1,6 +1,6 @@
>  /* Fix for PR119351 alignment peeling with vectors and VLS.  */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast -msve-vector-bits=256 --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast -msve-vector-bits=256 --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details --param=vect-hssr-usage=0" }
> */
> 
>  #define N 512
>  #define START 2
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_6.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_6.c
> index 0b40d26ae2a..d725f636117 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_6.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_6.c
> @@ -1,6 +1,6 @@
>  /* Fix for PR119351 alignment peeling with vectors and VLS.  */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast -msve-vector-bits=256 --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast -msve-vector-bits=256 --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details --param=vect-hssr-usage=0" }
> */
> 
>  #define N 512
>  #define START 1
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_7.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_7.c
> index 7a24d689e95..c7da8828313 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_7.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_7.c
> @@ -1,6 +1,6 @@
>  /* Fix for PR119351 alignment peeling with vectors and VLS.  */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast -msve-vector-bits=256 --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast -msve-vector-bits=256 --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details --param=vect-hssr-usage=0" }
> */
> 
>  #define N 512
>  #define START 1
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_8.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_8.c
> index 043348b55d0..58e36d1fcb1 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_8.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_8.c
> @@ -1,6 +1,6 @@
>  /* Fix for PR119351 alignment peeling with vectors and VLS.  */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast -msve-vector-bits=256 --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast -msve-vector-bits=256 --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details --param=vect-hssr-usage=0" }
> */
> 
>  #define N 512
>  #define START 1
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_9.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_9.c
> index 136d18c2ea8..a08d4aa5be5 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_9.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peel_ind_9.c
> @@ -1,6 +1,6 @@
>  /* Fix for PR119351 alignment peeling with vectors and VLS.  */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast -msve-vector-bits=256 --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast -msve-vector-bits=256 --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details --param=vect-hssr-usage=0" }
> */
> 
>  #define N 512
>  #define START 1
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peeled.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peeled.c
> index f40ffc8f0bc..60c6c7877b1 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peeled.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peeled.c
> @@ -1,5 +1,5 @@
>  /* { dg-do compile } */
> -/* { dg-options "-O3 -mautovec-preference=sve-only -msve-vector-
> bits=scalable" } */
> +/* { dg-options "-O3 -mautovec-preference=sve-only -msve-vector-
> bits=scalable --param=vect-hssr-usage=0" } */
> 
>  char b[100];
> 
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peeled1.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peeled1.c
> index 92e5bca44c4..5a5e398ad5d 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peeled1.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peeled1.c
> @@ -1,5 +1,5 @@
>  /* { dg-do compile } */
> -/* { dg-options "-O3 -mautovec-preference=sve-only -msve-vector-
> bits=scalable" } */
> +/* { dg-options "-O3 -mautovec-preference=sve-only -msve-vector-
> bits=scalable --param=vect-hssr-usage=0" } */
> 
>  char b[100];
>  char e[100];
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peeled2.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peeled2.c
> index c29dab4b553..4620e9965e1 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peeled2.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peeled2.c
> @@ -1,5 +1,5 @@
>  /* { dg-do compile } */
> -/* { dg-options "-O3 -mautovec-preference=sve-only -msve-vector-
> bits=scalable" } */
> +/* { dg-options "-O3 -mautovec-preference=sve-only -msve-vector-
> bits=scalable --param=vect-hssr-usage=0" } */
> 
>  char b[100];
> 
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/peeled3.c
> b/gcc/testsuite/gcc.target/aarch64/sve/peeled3.c
> index 8d82828b770..e629b0898d3 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/peeled3.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/peeled3.c
> @@ -1,5 +1,5 @@
>  /* { dg-do compile } */
> -/* { dg-options "-O3 -mautovec-preference=sve-only -msve-vector-
> bits=scalable -fdump-tree-vect-details" } */
> +/* { dg-options "-O3 -mautovec-preference=sve-only -msve-vector-
> bits=scalable -fdump-tree-vect-details --param=vect-hssr-usage=0" } */
> 
>  int __attribute__ ((noipa))
>  c (int *restrict x, int *restrict y, int n)
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr119351.c
> b/gcc/testsuite/gcc.target/aarch64/sve/pr119351.c
> index 1aca6c7de1d..f58c31e52ae 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/pr119351.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/pr119351.c
> @@ -1,6 +1,6 @@
>  /* Fix for PR119351 alignment peeling with vectors and VLS.  */
>  /* { dg-do compile } */
> -/* { dg-options "-Ofast -msve-vector-bits=256 --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details" } */
> +/* { dg-options "-Ofast -msve-vector-bits=256 --param aarch64-autovec-
> preference=sve-only -fdump-tree-vect-details --param=vect-hssr-usage=0" }
> */
>  /* { dg-final { check-function-bodies "**" "" ""} } */
> 
>  #define N 512
> --
> 2.43.0

Reply via email to