[Bug tree-optimization/40074] [4.4/4.5 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:944
irar at il dot ibm dot com
gcc-bugzilla@gcc.gnu.org
Sun May 10 11:00:00 GMT 2009
------- 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
More information about the Gcc-bugs
mailing list