1 /* { dg-do run { target aarch64_sve_hw } } */
2 /* { dg-options "-O2 -ftree-vectorize" } */
4 #include "cond_arith_1.c"
9 #define TEST(TYPE, NAME, OP) \
11 TYPE x[N], y[N], z[N], pred[N]; \
12 for (int i = 0; i < N; ++i) \
15 z[i] = ((i + 2) % 3) * (i + 1); \
18 test_##TYPE##_##NAME (x, y, z, pred, N); \
19 for (int i = 0; i < N; ++i) \
21 TYPE expected = i % 3 != 1 ? y[i] OP z[i] : y[i]; \
22 if (x[i] != expected) \
24 asm volatile ("" ::: "memory"); \