1 /* { dg-do run { target aarch64_sve_hw } } */
2 /* { dg-options "-O2 -ftree-vectorize" } */
4 #include "struct_vect_19.c"
9 #define TEST_LOOP(NAME, TYPE) \
13 int counts[] = { 0, 1, N - 1 }; \
14 for (int j = 0; j < 3; ++j) \
16 int count = counts[j]; \
17 for (int i = 0; i < N; ++i) \
20 asm volatile ("" ::: "memory"); \
22 for (int i = 0; i < N * 3; ++i) \
25 asm volatile ("" ::: "memory"); \
27 NAME (out, in, count); \
28 for (int i = 0; i < N; ++i) \
30 TYPE expected = i * 7 / 2; \
32 expected += in[i * 3]; \
33 if (out[i] != expected) \
35 asm volatile ("" ::: "memory"); \
40 int __attribute__ ((optimize (1)))