1  /* { dg-do compile } */
       2  /* { dg-require-effective-target vect_float } */
       3  /* { dg-add-options arm_v8_3a_complex_neon } */
       4  
       5  #include <stdio.h>
       6  #include <complex.h>
       7  
       8  #define N 200
       9  #define TYPE float
      10  #define TYPE2 float
      11  
      12  void g (TYPE2 complex a[restrict N], TYPE complex b[restrict N], TYPE complex c[restrict N])
      13  {
      14    for (int i=0; i < N; i++)
      15      {
      16        c[i] -=  a[i] * b[0];
      17      }
      18  }
      19  
      20  /* The pattern overlaps with COMPLEX_ADD so we need to support consuming ADDs in COMPLEX_FMS.  */
      21  
      22  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" { xfail { vect_float } } } } */