This causes an ICE in
gcc.target/riscv/rvv/autovec/gather-scatter/mask_gather_load-11.c
(internal compiler error: in get_group_load_store_type, at
tree-vect-stmts.cc:2121)
#include <stdint-gcc.h>
#define TEST_LOOP(DATA_TYPE, INDEX_TYPE) \
void __attribute__ ((noinline, noclone)) \
f_##DATA_TYPE##_##INDEX_TYPE (DATA_TYPE *restrict y, DATA_TYPE *restrict x, \
INDEX_TYPE *restrict index, \
INDEX_TYPE *restrict cond) \
{ \
for (int i = 0; i < 100; ++i) \
{ \
if (cond[i * 2]) \
y[i * 2] = x[index[i * 2]] + 1; \
if (cond[i * 2 + 1]) \
y[i * 2 + 1] = x[index[i * 2 + 1]] + 2; \
} \
}
TEST_LOOP (int8_t, int8_t)
Is there now a mismatch with the LEN_ IFNs somewhere?
Regards
Robin