http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49038
--- Comment #4 from irar at gcc dot gnu.org 2011-05-26 07:50:14 UTC --- Author: irar Date: Thu May 26 07:50:09 2011 New Revision: 174265 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174265 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: trunk/gcc/testsuite/gcc.dg/vect/pr49038.c trunk/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-vect-data-refs.c trunk/gcc/tree-vect-loop-manip.c trunk/gcc/tree-vect-loop.c trunk/gcc/tree-vectorizer.h