On Thu, Jan 22, 2026 at 2:51 AM Alexandre Oliva <[email protected]> wrote:
>
> On Jan 20, 2026, Richard Biener <[email protected]> wrote:
>
> > I think you want to XFAIL instead with a comment why.
>
> testsuite: arm: update fast-math-complex-mls-half-float.c
>
> 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.
>
> Retested with arm-eabi on gcc-15. Ok to install?
OK.
>
> for gcc/testsuite/ChangeLog
>
> * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c:
> Don't expect COMPLEX_ADD_ROT270.
> ---
> .../complex/fast-math-complex-mls-half-float.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> 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 fb7e9a5619e9e..438426d1c6a46 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,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" } } */
>
>
> --
> Alexandre Oliva, happy hacker https://blog.lx.oliva.nom.br/
> Free Software Activist FSFLA co-founder GNU Toolchain Engineer
> More tolerance and less prejudice are key for inclusion and diversity.
> Excluding neuro-others for not behaving ""normal"" is *not* inclusive!