testsuite: remove COMPLEX_ADD_ROT270 check in vect/complex mls tests

Message ID 20260108112029.1153942-2-artemiy.volkov@arm.com
State New
Headers
Series testsuite: remove COMPLEX_ADD_ROT270 check in vect/complex mls tests |

Commit Message

Artemiy Volkov Jan. 8, 2026, 11:18 a.m. UTC
  The fast-math-complex-mls-*.c testcases are looking for the "Found
COMPLEX_ADD_ROT270" string in the vect logs, which looks out of place and
(rightfully) FAILs on both arm and aarch64 (and has been since its
introduction in r12-4786-g4045d5fa42f2ee).  Remove the corresponding
lines and scan only for "Found COMPLEX_FM{A,S,S_CONJ}".

Pushing if no objections before EOW.

gcc/testsuite/ChangeLog:

	* gcc.dg/vect/complex/fast-math-complex-mls-double.c: Adjust
	testcase.
	* gcc.dg/vect/complex/fast-math-complex-mls-float.c: Likewise.
	* gcc.dg/vect/complex/fast-math-complex-mls-half-float.c:
	Likewise.
---
 gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c | 1 -
 gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c  | 1 -
 .../gcc.dg/vect/complex/fast-math-complex-mls-half-float.c       | 1 -
 3 files changed, 3 deletions(-)
  

Comments

Tamar Christina Jan. 8, 2026, 11:31 a.m. UTC | #1
> -----Original Message-----
> From: Artemiy Volkov <artemiy.volkov@arm.com>
> Sent: 08 January 2026 11:19
> To: gcc-patches@gcc.gnu.org
> Cc: Tamar Christina <Tamar.Christina@arm.com>; Christophe Lyon
> <Christophe.Lyon@arm.com>; Artemiy Volkov <Artemiy.Volkov@arm.com>
> Subject: [PATCH] testsuite: remove COMPLEX_ADD_ROT270 check in
> vect/complex mls tests
> 
> The fast-math-complex-mls-*.c testcases are looking for the "Found
> COMPLEX_ADD_ROT270" string in the vect logs, which looks out of place and
> (rightfully) FAILs on both arm and aarch64 (and has been since its
> introduction in r12-4786-g4045d5fa42f2ee).  Remove the corresponding
> lines and scan only for "Found COMPLEX_FM{A,S,S_CONJ}".
> 
> Pushing if no objections before EOW.

Please don't.  That's not right. They used to pass fine until r15-3087-gb07f8a301158e5
and there's a PR to track this https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116463

as it's an important regression. There's no single instruction covering the case and the
test is checking that we can match the subsequence of complex add within the multiply
and substract.

So XFAIL is fine, but not removing.

Thanks,
Tamar

> 
> gcc/testsuite/ChangeLog:
> 
> 	* gcc.dg/vect/complex/fast-math-complex-mls-double.c: Adjust
> 	testcase.
> 	* gcc.dg/vect/complex/fast-math-complex-mls-float.c: Likewise.
> 	* gcc.dg/vect/complex/fast-math-complex-mls-half-float.c:
> 	Likewise.
> ---
>  gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c | 1 -
>  gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c  | 1 -
>  .../gcc.dg/vect/complex/fast-math-complex-mls-half-float.c       | 1 -
>  3 files changed, 3 deletions(-)
> 
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-
> double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-
> double.c
> index a69c788bacf..0a065d1795e 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c
> @@ -6,7 +6,6 @@
>  #define TYPE double
>  #define N 200
>  #include "complex-mls-template.c"
> -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMA" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS_CONJ" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
> index 6fa3da79d32..51d4d9d4dde 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
> @@ -6,7 +6,6 @@
>  #define TYPE float
>  #define N 200
>  #include "complex-mls-template.c"
> -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMA" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS_CONJ" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-
> float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-
> float.c
> index fb7e9a5619e..5ce5ae0b991 100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c
> @@ -7,6 +7,5 @@
>  #define TYPE _Float16
>  #define N 200
>  #include "complex-mls-template.c"
> -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS_CONJ" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" } } */
> --
> 2.43.0
  
Artemiy Volkov Jan. 8, 2026, 11:43 a.m. UTC | #2
On Thu, Jan 08, 2026 at 11:31:51AM +0000, Tamar Christina wrote:
> > -----Original Message-----
> > From: Artemiy Volkov <artemiy.volkov@arm.com>
> > Sent: 08 January 2026 11:19
> > To: gcc-patches@gcc.gnu.org
> > Cc: Tamar Christina <Tamar.Christina@arm.com>; Christophe Lyon
> > <Christophe.Lyon@arm.com>; Artemiy Volkov <Artemiy.Volkov@arm.com>
> > Subject: [PATCH] testsuite: remove COMPLEX_ADD_ROT270 check in
> > vect/complex mls tests
> > 
> > The fast-math-complex-mls-*.c testcases are looking for the "Found
> > COMPLEX_ADD_ROT270" string in the vect logs, which looks out of place and
> > (rightfully) FAILs on both arm and aarch64 (and has been since its
> > introduction in r12-4786-g4045d5fa42f2ee).  Remove the corresponding
> > lines and scan only for "Found COMPLEX_FM{A,S,S_CONJ}".
> > 
> > Pushing if no objections before EOW.
> 
> Please don't.  That's not right. They used to pass fine until r15-3087-gb07f8a301158e5
> and there's a PR to track this https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116463
> 
> as it's an important regression. There's no single instruction covering the case and the
> test is checking that we can match the subsequence of complex add within the multiply
> and substract.
> 
> So XFAIL is fine, but not removing.

Understood, thank you.  It's just that after my recent changes this is
FAILing on arm too, but I see now that it's for a good reason, so I'll
drop this altogether.

Sorry for the noise,
Artemiy

> 
> Thanks,
> Tamar
> 
> > 
> > gcc/testsuite/ChangeLog:
> > 
> > 	* gcc.dg/vect/complex/fast-math-complex-mls-double.c: Adjust
> > 	testcase.
> > 	* gcc.dg/vect/complex/fast-math-complex-mls-float.c: Likewise.
> > 	* gcc.dg/vect/complex/fast-math-complex-mls-half-float.c:
> > 	Likewise.
> > ---
> >  gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c | 1 -
> >  gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c  | 1 -
> >  .../gcc.dg/vect/complex/fast-math-complex-mls-half-float.c       | 1 -
> >  3 files changed, 3 deletions(-)
> > 
> > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-
> > double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-
> > double.c
> > index a69c788bacf..0a065d1795e 100644
> > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c
> > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c
> > @@ -6,7 +6,6 @@
> >  #define TYPE double
> >  #define N 200
> >  #include "complex-mls-template.c"
> > -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
> >  /* { dg-final { scan-tree-dump "Found COMPLEX_FMA" "vect" } } */
> >  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS_CONJ" "vect" } } */
> >  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" } } */
> > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
> > b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
> > index 6fa3da79d32..51d4d9d4dde 100644
> > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
> > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
> > @@ -6,7 +6,6 @@
> >  #define TYPE float
> >  #define N 200
> >  #include "complex-mls-template.c"
> > -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
> >  /* { dg-final { scan-tree-dump "Found COMPLEX_FMA" "vect" } } */
> >  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS_CONJ" "vect" } } */
> >  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" } } */
> > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-
> > float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-
> > float.c
> > index fb7e9a5619e..5ce5ae0b991 100644
> > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c
> > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c
> > @@ -7,6 +7,5 @@
> >  #define TYPE _Float16
> >  #define N 200
> >  #include "complex-mls-template.c"
> > -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
> >  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS_CONJ" "vect" } } */
> >  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" } } */
> > --
> > 2.43.0
>
  

Patch

diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c
index a69c788bacf..0a065d1795e 100644
--- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c
+++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c
@@ -6,7 +6,6 @@ 
 #define TYPE double
 #define N 200
 #include "complex-mls-template.c"
-/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
 /* { dg-final { scan-tree-dump "Found COMPLEX_FMA" "vect" } } */
 /* { dg-final { scan-tree-dump "Found COMPLEX_FMS_CONJ" "vect" } } */
 /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
index 6fa3da79d32..51d4d9d4dde 100644
--- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
+++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
@@ -6,7 +6,6 @@ 
 #define TYPE float
 #define N 200
 #include "complex-mls-template.c"
-/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
 /* { dg-final { scan-tree-dump "Found COMPLEX_FMA" "vect" } } */
 /* { dg-final { scan-tree-dump "Found COMPLEX_FMS_CONJ" "vect" } } */
 /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c
index fb7e9a5619e..5ce5ae0b991 100644
--- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c
+++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c
@@ -7,6 +7,5 @@ 
 #define TYPE _Float16
 #define N 200
 #include "complex-mls-template.c"
-/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
 /* { dg-final { scan-tree-dump "Found COMPLEX_FMS_CONJ" "vect" } } */
 /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" } } */