[Bug tree-optimization/92344] Missing considering fre optimization of vector load in auto-vectorization

crazylht at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Nov 4 10:02:00 GMT 2019


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;                  
-----------------------


More information about the Gcc-bugs mailing list