1 /* { dg-do run { target { riscv_vector } } } */
2 /* { dg-additional-options "--param=riscv-autovec-preference=scalable -fno-vect-cost-model" } */
4 #include "cond_mulh-1.c"
8 #define TEST_LOOP(TYPE, WTYPE) \
10 TYPE a[N], b[N], c[N], pred[N]; \
11 for (int i = 0; i < N; ++i) \
14 b[i] = ((i + 2) % 3) * (i + 1); \
16 asm volatile ("" ::: "memory"); \
18 test_##TYPE##_##WTYPE (a, b, c, pred, N); \
19 for (int i = 0; i < N; ++i) \
22 ? (TYPE) (((WTYPE) a[i] * (WTYPE) b[i]) >> sizeof (TYPE) * 8) \