http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53390
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target|x86-32 |i?86-*-* Status|NEW |ASSIGNED Host|CentOS 6 x86-32 | AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Summary|ICE: tree check: expected |[4.8 Regression] ICE: tree |integer_cst, have nop_expr |check: expected |in |integer_cst, have nop_expr |vect_compute_data_ref_align |in |men on 32-bit x86 host |vect_compute_data_ref_align | |men on 32-bit x86 host --- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-05-18 10:47:10 UTC --- Mine. Index: gcc/tree-vect-data-refs.c =================================================================== --- gcc/tree-vect-data-refs.c (revision 187650) +++ gcc/tree-vect-data-refs.c (working copy) @@ -824,6 +824,11 @@ vect_compute_data_ref_alignment (struct /* Initialize misalignment to unknown. */ SET_DR_MISALIGNMENT (dr, -1); + /* Strided loads perform only component accesses, misalignment information + is irrelevant for them. */ + if (STMT_VINFO_STRIDE_LOAD_P (stmt_info)) + return true; + misalign = DR_INIT (dr); aligned_to = DR_ALIGNED_TO (dr); base_addr = DR_BASE_ADDRESS (dr);