> -----Original Message-----
> From: Artemiy Volkov <[email protected]>
> Sent: 05 January 2026 10:23
> To: [email protected]
> Cc: Tamar Christina <[email protected]>; Christophe Lyon
> <[email protected]>; Artemiy Volkov <[email protected]>
> Subject: [PATCH] testsuite: rework some vect/complex testcases
> 
> Some of the testcases in the gcc.dg/vect/complex directory try to match
> "stmt.*$internal_fn" in the slp1/vect logs, which leads to many false
> positives; this patch changes this to "add new stmt: \[^\n\r]*$internal_fn",
> making sure that the log fragments matched in this way are limited to
> single lines and correspond to actual newly created GIMPLE statements.
> This main change results in some fallout, necessitating the following
> additional tweaks:
> 

Thanks for doing this,

> - For fast-math testcases, replace the "1"s in scan-tree-dump-times
>   directives by appropriate counts.
> - XFAIL bb-slp and vect testcases featuring integral types,
>   since the cadd{90,270} optabs are not implemented for integral modes.

They're implemented for SVE2.  So the tests for AArch64 should enable SVE2
instead of xfail-ing.

> - Disable some FP16 tests for arm targets due to absence of cadd{90,270}
>   for V8HF.

Hmm that also doesn't look right. The md file has

(define_expand "cadd<rot><mode>3"
  [(set (match_operand:VHSDF 0 "register_operand")
        (unspec:VHSDF [(match_operand:VHSDF 1 "register_operand")
                       (match_operand:VHSDF 2 "register_operand")]
                       FCADD))]
  "TARGET_COMPLEX && !BYTES_BIG_ENDIAN"
)

(define_mode_iterator VHSDF [(V4HF "TARGET_SIMD_F16INST")
                             (V8HF "TARGET_SIMD_F16INST")
                             V2SF V4SF V2DF])

So are you sure it's not just missing `+fp16` on Arm targets?

Thanks,
Tamar

> - Replace "target { X } && ! target { Y }" selectors with the correct
>   "target { X && { ! Y } }" form.
> - In bb-slp-complex-add-pattern-long.c, adjust the testcase header to
>   match other tests so that different scan-tree-dump-times directives
>   can be switched off selectively.
> - In bb-slp-complex-add-pattern-long.c, remove an extraneous scan for
>   "Found COMPLEX_ADD_ROT90".
> - In bb-slp-complex-add-pattern-int.c, use vect_complex_add_int instead of
>   vect_complex_add_byte.
> 
> Regtested on aarch64 (with and without SVE2) and arm.
> 
> gcc/testsuite/ChangeLog:
> 
>       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c: Adjust
> testcase.
>       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c: Likewise.
>       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c: Likewise.
>       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c:
>       Likewise.
>       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c:
>       Likewise.
>       * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-
> short.c:
>       Likewise.
>       * gcc.dg/vect/complex/complex-add-pattern-template.c: Likewise.
>       * gcc.dg/vect/complex/complex-add-template.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c:
> Likewise.
>       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c:
> Likewise.
>       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c:
>       Likewise.
>       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-
> double.c:
>       Likewise.
>       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-
> float.c:
>       Likewise.
>       * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-
> float.c:
>       Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-add-double.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-add-float.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c:
> Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c:
> Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c:
>       * gcc.dg/vect/complex/vect-complex-add-pattern-byte.c: Likewise.
>       * gcc.dg/vect/complex/vect-complex-add-pattern-int.c: Likewise.
>       * gcc.dg/vect/complex/vect-complex-add-pattern-long.c: Likewise.
>       * gcc.dg/vect/complex/vect-complex-add-pattern-short.c: Likewise.
>       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c:
>       Likewise.
>       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c:
> Likewise.
>       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c:
>       Likewise.
>       * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c:
>       Likewise.
> ---
>  .../gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c  | 4 ++--
>  .../gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c | 8 ++++----
>  .../vect/complex/bb-slp-complex-add-pattern-short.c       | 4 ++--
>  .../complex/bb-slp-complex-add-pattern-unsigned-int.c     | 4 ++--
>  .../complex/bb-slp-complex-add-pattern-unsigned-long.c    | 4 ++--
>  .../complex/bb-slp-complex-add-pattern-unsigned-short.c   | 4 ++--
>  .../gcc.dg/vect/complex/complex-add-pattern-template.c    | 8 ++++----
>  gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c  | 8 ++++----
>  .../vect/complex/fast-math-bb-slp-complex-add-double.c    | 4 ++--
>  .../vect/complex/fast-math-bb-slp-complex-add-float.c     | 4 ++--
>  .../complex/fast-math-bb-slp-complex-add-half-float.c     | 4 ++--
>  .../complex/fast-math-bb-slp-complex-add-pattern-double.c | 4 ++--
>  .../complex/fast-math-bb-slp-complex-add-pattern-float.c  | 4 ++--
>  .../fast-math-bb-slp-complex-add-pattern-half-float.c     | 4 ++--
>  .../gcc.dg/vect/complex/fast-math-complex-add-double.c    | 4 ++--
>  .../gcc.dg/vect/complex/fast-math-complex-add-float.c     | 4 ++--
>  .../vect/complex/fast-math-complex-add-half-float.c       | 4 ++--
>  .../vect/complex/fast-math-complex-add-pattern-double.c   | 4 ++--
>  .../vect/complex/fast-math-complex-add-pattern-float.c    | 4 ++--
>  .../complex/fast-math-complex-add-pattern-half-float.c    | 4 ++--
>  .../gcc.dg/vect/complex/vect-complex-add-pattern-byte.c   | 4 ++--
>  .../gcc.dg/vect/complex/vect-complex-add-pattern-int.c    | 4 ++--
>  .../gcc.dg/vect/complex/vect-complex-add-pattern-long.c   | 4 ++--
>  .../gcc.dg/vect/complex/vect-complex-add-pattern-short.c  | 4 ++--
>  .../vect/complex/vect-complex-add-pattern-unsigned-byte.c | 4 ++--
>  .../vect/complex/vect-complex-add-pattern-unsigned-int.c  | 4 ++--
>  .../vect/complex/vect-complex-add-pattern-unsigned-long.c | 4 ++--
>  .../complex/vect-complex-add-pattern-unsigned-short.c     | 4 ++--
>  28 files changed, 62 insertions(+), 62 deletions(-)
> 
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> int.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c
> index cead05f1cc4..d12e4d988ca 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c
> @@ -9,7 +9,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1"
> { target { vect_complex_add_byte } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "slp1" { target { vect_complex_add_int } && ! target { aarch64_sve2 } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "slp1" { target { vect_complex_add_int } xfail
> { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "slp1" { target { vect_complex_add_int &&
> { ! aarch64_sve2 } } xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> long.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> long.c
> index 0d21f57666e..eaaee5c9122 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c
> @@ -1,6 +1,7 @@
>  /* { dg-do compile } */
> -/* { dg-require-effective-target vect_complex_add_long } */
>  /* { dg-require-effective-target stdint_types } */
> +/* { dg-require-effective-target vect_int } */
> +/* { dg-additional-options "-fno-tree-loop-vectorize" } */
>  /* { dg-add-options arm_v8_3a_complex_neon } */
> 
>  #define UNROLL
> @@ -10,8 +11,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1"
> { target { vect_complex_add_long } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "slp1" { target { vect_complex_add_long } && ! target { aarch64_sve2 } } } } 
> */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "slp1" { target { vect_complex_add_long }
> xfail { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "slp1" { target { vect_complex_add_long
> && { ! aarch64_sve2 } } xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" {
> target { vect_long_long } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" { target
> { vect_long_long } } } } */
> -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" { target
> { vect_long_long } } } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> short.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> short.c
> index 8928386a517..0cc4f6e4e69 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> short.c
> @@ -11,7 +11,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1"
> { target { vect_complex_add_short } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "slp1" { target { vect_complex_add_short } && ! target { aarch64_sve2 } } } } 
> */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "slp1" { target { vect_complex_add_short }
> xfail { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "slp1" { target { vect_complex_add_short
> && { ! aarch64_sve2 } } xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> unsigned-int.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-
> pattern-unsigned-int.c
> index 4ab4b9a446a..388f37eb30d 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> unsigned-int.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> unsigned-int.c
> @@ -11,7 +11,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1"
> { target { vect_complex_add_int } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "slp1" { target { vect_complex_add_int } && ! target { aarch64_sve2 } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "slp1" { target { vect_complex_add_int } xfail
> { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "slp1" { target { vect_complex_add_int &&
> { ! aarch64_sve2 } } xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> unsigned-long.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-
> pattern-unsigned-long.c
> index 38aa9c0b9d5..c44e774deb5 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> unsigned-long.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> unsigned-long.c
> @@ -10,7 +10,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1"
> { target { vect_complex_add_long } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "slp1" { target { vect_complex_add_long } && ! target { aarch64_sve2 } } } } 
> */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "slp1" { target { vect_complex_add_long }
> xfail { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "slp1" { target { vect_complex_add_long
> && { ! aarch64_sve2 } } xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" {
> target { vect_long_long } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" { target
> { vect_long_long } } } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> unsigned-short.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-
> pattern-unsigned-short.c
> index 8846c9889fb..14d88cf52f8 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> unsigned-short.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-
> unsigned-short.c
> @@ -11,7 +11,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1"
> { target { vect_complex_add_short } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "slp1" { target { vect_complex_add_short } && ! target { aarch64_sve2 } } } } 
> */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "slp1" { target { vect_complex_add_short }
> xfail { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "slp1" { target { vect_complex_add_short
> && { ! aarch64_sve2 } } xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/complex-add-pattern-
> template.c b/gcc/testsuite/gcc.dg/vect/complex/complex-add-pattern-
> template.c
> index 658af294f1c..9b9f0a4a7d8 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/complex-add-pattern-template.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/complex-add-pattern-template.c
> @@ -10,7 +10,7 @@ void add90 (TYPE a[restrict N], TYPE b[restrict N], TYPE
> c[restrict N])
>      }
>  }
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 1 "vect" } } */
> 
>  void add270 (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N])
>  {
> @@ -24,7 +24,7 @@ void add270 (TYPE a[restrict N], TYPE b[restrict N], TYPE
> c[restrict N])
>      }
>  }
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 1 "vect" } } */
> 
>  void addMixed (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N])
>  {
> @@ -55,7 +55,7 @@ void add90HandUnrolled (TYPE a[restrict N], TYPE
> b[restrict N],
>      }
>  }
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 1 "vect" } } */
> 
>  void add90Hybrid (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N],
>                 TYPE d[restrict N])
> @@ -72,4 +72,4 @@ void add90Hybrid (TYPE a[restrict N], TYPE b[restrict N],
> TYPE c[restrict N],
>      }
>  }
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 2 "vect"
> } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 2 "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c
> b/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c
> index f37ab98813f..3870196b9fb 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c
> @@ -20,7 +20,7 @@ void add90snd (_Complex TYPE a[restrict N], _Complex
> TYPE b[restrict N],
>      c[i] = a[i] + (b[i] * I);
>  }
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 1 "vect" } } */
> 
>  void add180snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N],
>               _Complex TYPE c[restrict N])
> @@ -42,7 +42,7 @@ void add270snd (_Complex TYPE a[restrict N], _Complex
> TYPE b[restrict N],
>      c[i] = a[i] + (b[i] * I * I * I);
>  }
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 1 "vect" } } */
> 
>  void add90fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N],
>              _Complex TYPE c[restrict N])
> @@ -54,7 +54,7 @@ void add90fst (_Complex TYPE a[restrict N], _Complex
> TYPE b[restrict N],
>      c[i] = (a[i] * I) + b[i];
>  }
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 1 "vect" } } */
> 
>  void add180fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N],
>               _Complex TYPE c[restrict N])
> @@ -76,7 +76,7 @@ void add270fst (_Complex TYPE a[restrict N], _Complex
> TYPE b[restrict N],
>      c[i] = (a[i] * I * I * I) + b[i];
>  }
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 1 "vect" } } */
> 
>  void addconjfst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N],
>                _Complex TYPE c[restrict N])
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-
> add-double.c
> index fd5bd9b2da0..ec8109c9b51 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> double.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> double.c
> @@ -9,8 +9,8 @@
>  #define N 16
>  #include "complex-add-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1"
> { target { vect_complex_add_double } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "slp1" { target { vect_complex_add_double } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 32 "slp1" { target {
> vect_complex_add_double } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 32 "slp1" { target {
> vect_complex_add_double } } } } */
> 
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> float.c
> index a859b233030..40b79f5c5d9 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> float.c
> @@ -9,7 +9,7 @@
>  #define N 16
>  #include "complex-add-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1"
> { target { vect_complex_add_float } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "slp1" { target { vect_complex_add_float } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 16 "slp1" { target { vect_complex_add_float
> } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 16 "slp1" { target {
> vect_complex_add_float } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-
> add-half-float.c
> index 12df361c06d..c486fba13d7 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-
> float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> half-float.c
> @@ -10,5 +10,5 @@
> 
>  /* Vectorization is failing for these cases.  They should work but for now
> ignore.  */
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "slp1" { xfail *-*-* } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1"
> { xfail *-*-* } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "slp1" { xfail *-*-* } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "slp1" { xfail *-*-* } } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> pattern-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-
> complex-add-pattern-double.c
> index 2cd7eb25b3e..7678e26bec0 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> pattern-double.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> pattern-double.c
> @@ -9,7 +9,7 @@
>  #define N 16
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1"
> { target { vect_complex_add_double } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "slp1" { target { vect_complex_add_double } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 20 "slp1" { target {
> vect_complex_add_double } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 8 "slp1" { target {
> vect_complex_add_double } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> pattern-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-
> complex-add-pattern-float.c
> index 6e560d8778e..65d8c3956d9 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> pattern-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> pattern-float.c
> @@ -9,7 +9,7 @@
>  #define N 16
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1"
> { target { vect_complex_add_float } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "slp1" { target { vect_complex_add_float } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 10 "slp1" { target { vect_complex_add_float
> } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 4 "slp1" { target { vect_complex_add_float
> } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> pattern-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-
> complex-add-pattern-half-float.c
> index e90d10e584f..2e0ff5b3e8d 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> pattern-half-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-
> pattern-half-float.c
> @@ -10,7 +10,7 @@
>  #define N 16
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1"
> { target { vect_complex_add_half } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "slp1" { target { vect_complex_add_half } && ! target { arm*-*-* } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 5 "slp1" { target { vect_complex_add_half
> && { ! arm*-*-* } } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 2 "slp1" { target { vect_complex_add_half
> && { ! arm*-*-* } } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-
> double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-
> double.c
> index c95c573d560..32ef5faeaa8 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c
> @@ -7,7 +7,7 @@
>  #define N 200
>  #include "complex-add-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_double } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_double } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 2 "vect" { target {
> vect_complex_add_double } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 2 "vect"  { target {
> vect_complex_add_double } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c
> index 954644b82f9..e9fd02ea88e 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c
> @@ -7,7 +7,7 @@
>  #define N 200
>  #include "complex-add-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_float } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_float } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 2 "vect" { target { vect_complex_add_float
> } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 2 "vect" { target { vect_complex_add_float }
> } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-
> float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-
> float.c
> index a773e796ddc..4d9cd425932 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c
> @@ -8,5 +8,5 @@
>  #define N 200
>  #include "complex-add-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 2 "vect" { target { !arm*-*-* } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 2 "vect" { target { !arm*-*-* } } } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-
> pattern-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-
> add-pattern-double.c
> index 2dede5c7639..8e98b85f590 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-
> double.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-
> double.c
> @@ -7,7 +7,7 @@
>  #define N 200
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_double } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_double } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 4 "vect" { target {
> vect_complex_add_double } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 1 "vect" { target {
> vect_complex_add_double } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-
> pattern-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-
> pattern-float.c
> index 73f2f07d7df..3415cc2287a 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-
> float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-
> float.c
> @@ -7,7 +7,7 @@
>  #define N 200
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_float } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_float } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 3 "vect" { target { vect_complex_add_float }
> } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 1 "vect" { target { vect_complex_add_float
> } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-
> pattern-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-
> add-pattern-half-float.c
> index e634da93873..32aca36bf86 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-
> float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-
> half-float.c
> @@ -8,8 +8,8 @@
>  #define N 200
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_half } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_half } && ! target { arm*-*-* } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" 3 "vect" { target { vect_complex_add_half
> && { !arm*-*-* } } } } } */
> +/* { dg-final { scan-tree-dump-times "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" 1 "vect" { target { vect_complex_add_half
> && { ! arm*-*-* } } } } }  */
> 
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-
> byte.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-byte.c
> index bf7c135fa1a..cf2c5de35b2 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-byte.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-byte.c
> @@ -8,7 +8,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_byte } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_byte } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "vect" { target { vect_complex_add_byte }
> xfail { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "vect" { target { vect_complex_add_byte }
> xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-int.c
> b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-int.c
> index 2fd2a9f0617..9a147716fb1 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-int.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-int.c
> @@ -8,7 +8,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_int } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_int } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "vect" { target { vect_complex_add_int } xfail
> { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "vect" { target { vect_complex_add_int }
> xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-
> long.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-long.c
> index 70977155256..d7177cd8601 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-long.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-long.c
> @@ -9,7 +9,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_long } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_long } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "vect" { target { vect_complex_add_long }
> xfail { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "vect" { target { vect_complex_add_long }
> xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" {
> target { vect_long_long } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" { target
> { vect_long_long } } } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-
> short.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-
> short.c
> index 8cbb8ac0c19..12554d151bb 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-short.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-short.c
> @@ -8,7 +8,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_short } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_short } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "vect" { target { vect_complex_add_short }
> xfail { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "vect" { target { vect_complex_add_short }
> xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-
> unsigned-byte.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-
> pattern-unsigned-byte.c
> index 9477f0d92d8..2b8c1decfa4 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-
> byte.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-
> unsigned-byte.c
> @@ -8,7 +8,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_byte } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_byte } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "vect" { target { vect_complex_add_byte }
> xfail { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "vect" { target { vect_complex_add_byte }
> xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-
> unsigned-int.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-
> pattern-unsigned-int.c
> index 41f60042ee9..adef69aa9ff 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-
> int.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-
> unsigned-int.c
> @@ -8,7 +8,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_int } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_int } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "vect" { target { vect_complex_add_int } xfail
> { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "vect" { target { vect_complex_add_int }
> xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-
> unsigned-long.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-
> pattern-unsigned-long.c
> index 7708ac495b8..e3d9ceec6ec 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-
> long.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-
> unsigned-long.c
> @@ -9,7 +9,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_long } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_long } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "vect" { target { vect_complex_add_long }
> xfail { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "vect" { target { vect_complex_add_long }
> xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" {
> target { vect_long_long } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" { target
> { vect_long_long } } } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-
> unsigned-short.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-
> pattern-unsigned-short.c
> index 6260be4d121..ad0e4cd222a 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-
> short.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-
> unsigned-short.c
> @@ -8,7 +8,7 @@
>  #include <stdint.h>
>  #include "complex-add-pattern-template.c"
> 
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"
> { target { vect_complex_add_short } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1
> "vect" { target { vect_complex_add_short } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT90" "vect" { target { vect_complex_add_short }
> xfail { *-*-* } } } } */
> +/* { dg-final { scan-tree-dump "add new stmt:
> \[^\n\r]*COMPLEX_ADD_ROT270" "vect" { target { vect_complex_add_short }
> xfail { *-*-* } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> --
> 2.43.0

Reply via email to