------- Comment #14 from irar at il dot ibm dot com  2009-05-10 11:00 -------
I am testing:

Index: tree-vect-data-refs.c
===================================================================
--- tree-vect-data-refs.c       (revision 147329)
+++ tree-vect-data-refs.c       (working copy)
@@ -1424,7 +1424,7 @@ vect_analyze_group_access (struct data_r
       /* First stmt in the interleaving chain. Check the chain.  */
       gimple next = DR_GROUP_NEXT_DR (vinfo_for_stmt (stmt));
       struct data_reference *data_ref = dr;
-      unsigned int count = 1;
+      unsigned int count = 1, gaps = 0;
       tree next_step;
       tree prev_init = DR_INIT (data_ref);
       gimple prev = stmt;
@@ -1490,6 +1490,8 @@ vect_analyze_group_access (struct data_r
                    fprintf (vect_dump, "interleaved store with gaps");
                  return false;
                }
+
+              gaps += diff - 1;
            }

           /* Store the gap from the previous member of the group. If there is
no
@@ -1506,8 +1508,9 @@ vect_analyze_group_access (struct data_r
          the type to get COUNT_IN_BYTES.  */
       count_in_bytes = type_size * count;

-      /* Check that the size of the interleaving is not greater than STEP.  */
-      if (dr_step < count_in_bytes)
+     /* Check that the size of the interleaving (including gaps) is not
greater
+         than STEP.  */
+      if (dr_step && dr_step < count_in_bytes + gaps * type_size)
         {
           if (vect_print_dump_info (REPORT_DETAILS))
             {

It fixes the reduced testcase, but I failed to compile the original one, so
maybe someone could check that the above patch fixes the ICE for the original
testcase?

Thanks,
Ira


-- 

irar at il dot ibm dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |irar at il dot ibm dot com
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2009-05-08 20:59:57         |2009-05-10 11:00:34
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40074

Reply via email to