view gcc/testsuite/gcc.target/aarch64/vector_initialization_nostack.c @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents 84e7813d76e9
children
line wrap: on
line source

/* { dg-do compile } */
/* { dg-options "-O3 -ftree-vectorize -fno-vect-cost-model" } */
float arr_f[100][100];
float
f9 (void)
{

  int i;
  float sum = 0;
  for (i = 0; i < 100; i++)
    sum += arr_f[i][0] * arr_f[0][i];
  return sum;

}


int arr[100][100];
int
f10 (void)
{

  int i;
  int sum = 0;
  for (i = 0; i < 100; i++)
    sum += arr[i][0] * arr[0][i];
  return sum;

}

double arr_d[100][100];
double
f11 (void)
{
  int i;
  double sum = 0;
  for (i = 0; i < 100; i++)
    sum += arr_d[i][0] * arr_d[0][i];
  return sum;
}

char arr_c[100];
char
f12 (void)
{
  int i;
  char sum = 0;
  for (i = 0; i < 100; i++)
    sum += arr_c[i] * arr_c[i];
  return sum;
}

/* Fails for fixed-length SVE because we lack a vec_init pattern.
   A later patch fixes this in generic code.  */
/* { dg-final { scan-assembler-not "sp" { xfail { aarch64_sve && { ! vect_variable_length } } } } } */