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);

Reply via email to