https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94398
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Sandiford <rsand...@gcc.gnu.org>: https://gcc.gnu.org/g:f14b41d27124601284347a10d496362c8b4b8e1c commit r10-7481-gf14b41d27124601284347a10d496362c8b4b8e1c Author: Felix Yang <felix.y...@huawei.com> Date: Tue Mar 31 16:41:56 2020 +0800 vect: ICE: in vectorizable_load, at tree-vect-stmts.c:9173 [PR94398] In the testcase for PR94398, we're trying to compute: alignment_support_scheme = vect_supportable_dr_alignment (first_dr_info, false); gcc_assert (alignment_support_scheme); even for VMAT_GATHER_SCATTER, which always accesses individual elements. Here we should set alignment_support_scheme to dr_unaligned_supported the gather/scatter case instead of calling vect_supportable_dr_alignment. 2020-03-31 Felix Yang <felix.y...@huawei.com> gcc/ PR tree-optimization/94398 * tree-vect-stmts.c (vectorizable_store): Instead of calling vect_supportable_dr_alignment, set alignment_support_scheme to dr_unaligned_supported for gather-scatter accesses. (vectorizable_load): Likewise. gcc/testsuite/ PR tree-optimization/94398 * gcc.target/aarch64/pr94398.c: New test.