]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: arm: update fast-math-complex-mls-half-float.c
authorAlexandre Oliva <oliva@adacore.com>
Sat, 31 Jan 2026 04:51:53 +0000 (01:51 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Sat, 31 Jan 2026 04:51:53 +0000 (01:51 -0300)
Since the addition of DCE after complex lowering, reassoc1 has no
longer been impeded by COMPLEX_EXPRs, so it changes (a - (b + c)),
where (b + c) is the imaginary part of an intermediate complex value,
to ((a - b) - c), and this prevents the vectorizer from recognizing
the expected COMPLEX_ADD_ROT270 pattern in fms_elemconjsnd.

Stop expecting that pattern to be found on that test.

for  gcc/testsuite/ChangeLog

* gcc.dg/vect/complex/fast-math-complex-mls-half-float.c:
Don't expect COMPLEX_ADD_ROT270.

gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c

index 5a700c091d4387f32bd7d13f2624565c3c09ea13..c21f8402b589c5929fa985e97abf0d83349e4255 100644 (file)
@@ -7,6 +7,10 @@
 #define TYPE _Float16
 #define N 200
 #include "complex-mls-template.c"
-/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
+/* COMPLEX_ADD_ROT270 is no longer recognized in fms_elemconjsnd.
+   The COMPLEX_EXPR that prevented reassoc from changing X - (Y + Z)
+   into (X + (-Y)) + (-Z) has been removed since the introduction of
+   DCE at the end of cplxlower1.  */
+/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" { xfail *-*-* } } } */
 /* { dg-final { scan-tree-dump "Found COMPLEX_FMS_CONJ" "vect" } } */
 /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" } } */