http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48172
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |irar at gcc dot gnu.org AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | --- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-03-18 10:00:34 UTC --- Versioning for alias only seems to consider the case that DR_STEP is the same for all DRs, right? Index: gcc/tree-vect-data-refs.c =================================================================== --- gcc/tree-vect-data-refs.c (revision 171097) +++ gcc/tree-vect-data-refs.c (working copy) @@ -528,6 +528,14 @@ vect_mark_for_runtime_alias_test (ddr_p print_generic_expr (vect_dump, DR_REF (DDR_B (ddr)), TDF_SLIM); } + if (!operand_equal_p (DR_STEP (DDR_A (ddr)), DR_STEP (DDR_B (ddr)), 0)) + { + if (vect_print_dump_info (REPORT_DR_DETAILS)) + fprintf (vect_dump, "versioning not supported for accesses with " + "different step."); + return false; + } + if (optimize_loop_nest_for_size_p (loop)) { if (vect_print_dump_info (REPORT_DR_DETAILS)) fixes it for me.