(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
vector_initialization_nostack.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O3 -ftree-vectorize -fno-vect-cost-model" } */
       3  float arr_f[100][100];
       4  float
       5  f9 (void)
       6  {
       7  
       8    int i;
       9    float sum = 0;
      10    for (i = 0; i < 100; i++)
      11      sum += arr_f[i][0] * arr_f[0][i];
      12    return sum;
      13  
      14  }
      15  
      16  
      17  int arr[100][100];
      18  int
      19  f10 (void)
      20  {
      21  
      22    int i;
      23    int sum = 0;
      24    for (i = 0; i < 100; i++)
      25      sum += arr[i][0] * arr[0][i];
      26    return sum;
      27  
      28  }
      29  
      30  double arr_d[100][100];
      31  double
      32  f11 (void)
      33  {
      34    int i;
      35    double sum = 0;
      36    for (i = 0; i < 100; i++)
      37      sum += arr_d[i][0] * arr_d[0][i];
      38    return sum;
      39  }
      40  
      41  char arr_c[100];
      42  char
      43  f12 (void)
      44  {
      45    int i;
      46    char sum = 0;
      47    for (i = 0; i < 100; i++)
      48      sum += arr_c[i] * arr_c[i];
      49    return sum;
      50  }
      51  
      52  /* Fails for fixed-length SVE because we lack a vec_init pattern.
      53     A later patch fixes this in generic code.  */
      54  /* { dg-final { scan-assembler-not "sp" { xfail { aarch64_sve && { ! vect_variable_length } } } } } */