https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121304

--- Comment #2 from Sam James <sjames at gcc dot gnu.org> ---
> tree-vect- stmts.cc:2222:8: runtime error: load of value 3026314944, which is 
> not a valid value for type 'vect_memory_access_type'
>     #0 0x556ebb877e42 in get_group_load_store_type
> /usr/src/debug/sys-devel/gcc-16.0.9999/gcc-16.0.9999/gcc/tree-vect-stmts.cc:
> 2222

  /* As a last resort, trying using a gather load or scatter store.

     ??? Although the code can handle all group sizes correctly,
     it probably isn't a win to use separate strided accesses based
     on nearby locations.  Or, even if it's a win over scalar code,
     it might not be a win over vectorizing at a lower VF, if that
     allows us to use contiguous accesses.  */
  if ((*memory_access_type == VMAT_ELEMENTWISE
       || *memory_access_type == VMAT_STRIDED_SLP)
      && !STMT_VINFO_GATHER_SCATTER_P (stmt_info) /* <<<<<< */
      && single_element_p
      && SLP_TREE_LANES (slp_node) == 1
      && loop_vinfo
      && vect_use_strided_gather_scatters_p (stmt_info, vectype, loop_vinfo,
                                             masked_p, gs_info, elsvals))
    *memory_access_type = VMAT_GATHER_SCATTER;

Reply via email to