[AArch64] SVE tests
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / vector_initialization_nostack.c
blobaecf8262706c3b0365989d30e162f22f57a6a8c9
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)
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;
17 int arr[100][100];
18 int
19 f10 (void)
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;
30 double arr_d[100][100];
31 double
32 f11 (void)
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;
41 char arr_c[100];
42 char
43 f12 (void)
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;
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 } } } } } */