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