1 /* { dg-do run { target { riscv_v } } } */
2 /* { dg-additional-options "--param=riscv-autovec-preference=scalable -fno-signaling-nans" } */
9 #define TEST_LOOP(FN, SUFFIX, TYPE) \
11 TYPE dst[N], x[N], y[N]; \
12 for (int i = 0; i < N; ++i) \
16 y[i] = ((i & 1) - 1) * i * i; \
30 dst[7] = nan ("0.0"); \
33 test_##TYPE (dst, y, N); \
34 for (int i = 0; i < N; ++i) \
36 double ref = FN (SUFFIX) (x[i], y[i]); \
39 asm volatile ("" ::: "memory"); \
43 int __attribute__ ((optimize ("1"))) main (void)