https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92344
--- Comment #3 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Hongtao.liu from comment #1) > It also seems when both vector size are available for vectorization, > vectorizer won't compare different vector size with costs, it just use first > vector size it tried, normally it will be target preferred_simd_mode. loop_vect will try different vector sizes, but slp_vect won't in tree-vect-slp.c ---------------------- 3162 if (vectorized <----- any success will finish vectorization. 3163 || next_size == vector_sizes.length () 3164 || known_eq (autodetected_vector_size, 0U) 3165 /* If vect_slp_analyze_bb_1 signaled that analysis for all 3166 vector sizes will fail do not bother iterating. */ 3167 || fatal) 3168 return vectorized; -----------------------