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