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

Reply via email to