On Thu, 24 Aug 2023, Robin Dapp wrote:

> 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?

Can you open a bugreport, produce a preprocessed testcase and state
the cc1 commandline to debug this in a cross?

Richard.

Reply via email to