1 /* { dg-do run { target { aarch64_sve_hw } } } */
2 /* { dg-options "-O2 -ftree-vectorize -fno-inline" } */
9 #define TEST_LOOP(TYPE) \
12 for (int i = 0; i < N; ++i) \
14 a[i] = i * 2 + (i % 3); \
15 asm volatile ("" ::: "memory"); \
17 TYPE expected = a[N - 1]; \
18 TYPE res = test_##TYPE (a, N, OP); \
19 if (res != expected) \
21 for (int i = 0; i < N; ++i) \
23 TYPE old = i * 2 + (i % 3); \
24 if (a[i] != (TYPE) (old * (TYPE) OP)) \
26 asm volatile ("" ::: "memory"); \
30 int __attribute__ ((optimize (1)))