https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117202
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Smaller testcase: void __attribute__ ((noinline, noclone)) foo (signed char *__restrict dest, signed char *__restrict src, signed char *__restrict cond, signed char bias, long n) { for (long i = 0; i < n; ++i) { signed char value = src[i] + bias; if (cond[i]) { dest[i * 4] = value; dest[i * 4 + 1] = value; dest[i * 4 + 2] = value; dest[i * 4 + 3] = value; } } } for risc-v use -march=rv64gcv -mabi=lp64 -O3 -ftree-vectorize -mrvv-vector-bits=scalable -fno-vect-cost-model