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?

Reply via email to