https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117874
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |116578 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- 9.23% 90826 milc_peak.amd64 milc_peak.amd64-m64-gcc42-nn [.] mult_su3_na 7.43% 69530 milc_peak.amd64 milc_peak.amd64-m64-gcc42-nn [.] mult_su3_nn ... 6.11% 60709 milc_base.amd64 milc_base.amd64-m64-gcc42-nn [.] mult_su3_na 5.24% 49015 milc_base.amd64 milc_base.amd64-m64-gcc42-nn [.] mult_su3_nn 5.10% 46303 milc_peak.amd64 milc_peak.amd64-m64-gcc42-nn [.] mult_su3_an ... 0.97% 8860 milc_base.amd64 milc_base.amd64-m64-gcc42-nn [.] mult_su3_an We used to vectorize these but no longer. m_mat_an.c:39:12: note: marking hybrid: b0r_89 = b_73(D)->e[0][j_110].real; m_mat_an.c:39:12: note: marking hybrid: b0i_90 = b_73(D)->e[0][j_110].imag; m_mat_an.c:39:12: note: marking hybrid: b2r_82 = b_73(D)->e[2][j_110].real; m_mat_an.c:39:12: note: marking hybrid: b2i_83 = b_73(D)->e[2][j_110].imag; m_mat_an.c:39:12: note: === vect_update_vf_for_slp === m_mat_an.c:39:12: note: Loop contains SLP and non-SLP stmts Note GCC 14 also considers this hybrid. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116578 [Bug 116578] vectorizer SLP transition issues / dependencies