X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Ftree-vect-data-refs.c;h=c13c2750270f1dd72a492e6af2d035d9edd60d9b;hb=e5d72697a63fb5fba97fa1f1027d765cc17a0711;hp=ea3a508966f82abdba1d37da59d2b26174c8e912;hpb=98155838dbd82b97bb7bb16dfcbf98fa2ab27ca9;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index ea3a508966f..c13c2750270 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -1138,8 +1138,8 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo) /* While cost model enhancements are expected in the future, the high level view of the code at this time is as follows: - A) If there is an unsupported misaligned access then see if peeling - to align this access can make all data references satisfy + A) If there is a misaligned access then see if peeling to align + this access can make all data references satisfy vect_supportable_dr_alignment. If so, update data structures as needed and return true. @@ -1176,7 +1176,6 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo) { stmt = DR_STMT (dr); stmt_info = vinfo_for_stmt (stmt); - supportable_dr_alignment = vect_supportable_dr_alignment (dr); /* For interleaving, only the alignment of the first access matters. */ @@ -1184,7 +1183,7 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo) && DR_GROUP_FIRST_DR (stmt_info) != stmt) continue; - if (!supportable_dr_alignment) + if (!DR_IS_READ (dr) && !aligned_access_p (dr)) { do_peeling = vector_alignment_reachable_p (dr); if (do_peeling)