https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111136
--- Comment #1 from JuzheZhong <juzhe.zhong at rivai dot ai> ---
Hi, Richi.
It faild at RISC-V scatter store cases:
When trying to generate gimple build:
...
.MASK_LEN_SCATTER_STORE (vectp_y.28_130, { 0, 2, 4, ... }, 1, vect__25.27_127,
mask__26.20_117, _135, 0);
...
ICE at:
/* Stores can't yet have gaps. */
gcc_assert (slp_node || vls_type == VLS_LOAD || gap == 0);
in vectorizable_store.
Since slp_node is null and vls_type == VLS_STORE and gap == 1
Then assertion failed.
I change it into:
gcc_assert (slp_node || vls_type == VLS_LOAD || vls_type == VLS_STORE
|| gap == 0);
It passed.
I am not sure it's the correct fix since I saw a comment here:
/* Stores can't yet have gaps. */
Means that we should not have scatter store here?