http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49038
--- Comment #6 from irar at gcc dot gnu.org 2011-06-04 09:20:04 UTC --- Author: irar Date: Sat Jun 4 09:20:00 2011 New Revision: 174635 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174635 Log: PR tree-optimization/49038 * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader): Ensure at least one epilogue iteration if required by data accesses with gaps. * tree-vectorizer.h (struct _loop_vec_info): Add new field to mark loops that require peeling for gaps. * tree-vect-loop.c (new_loop_vec_info): Initialize new field. (vect_get_known_peeling_cost): Take peeling for gaps into account. (vect_transform_loop): Generate epilogue if required by data access with gaps. * tree-vect-data-refs.c (vect_analyze_group_access): Mark the loop as requiring an epilogue if there are gaps in the end of the strided group. Added: branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/pr49038.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/testsuite/ChangeLog branches/gcc-4_6-branch/gcc/tree-vect-data-refs.c branches/gcc-4_6-branch/gcc/tree-vect-loop-manip.c branches/gcc-4_6-branch/gcc/tree-vect-loop.c branches/gcc-4_6-branch/gcc/tree-vectorizer.h