https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91790
--- Comment #15 from Kewen Lin <linkw at gcc dot gnu.org> --- Author: linkw Date: Tue Dec 10 12:54:21 2019 New Revision: 279166 URL: https://gcc.gnu.org/viewcvs?rev=279166&root=gcc&view=rev Log: [PATCH] Fix PR91790 by considering different first_stmt_info for realign As PR91790 exposed, when we have one slp node whose first_stmt_info_for_drptr is different from first_stmt_info, it's possible that the first_stmt DR isn't initialized yet before stmt SLP_TREE_SCALAR_STMTS[0] of slp node. So we shouldn't use first_stmt_info for vect_setup_realignment, instead we can use the one based on first_stmt_info_for_drptr DR with additional adjustment by bumping the distance from first_stmt DR. 2019-12-10 Kewen Lin <li...@gcc.gnu.org> Backport from mainline 2019-11-27 Kewen Lin <li...@gcc.gnu.org> PR tree-optimization/91790 * gcc/tree-vect-stmts.c (vectorizable_load): Use the adjusted DR for vect_setup_realignment when first_stmt_info is different from first_stmt_info_for_drptr. Modified: branches/gcc-9-branch/gcc/ChangeLog branches/gcc-9-branch/gcc/tree-vect-stmts.c