https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106902
--- Comment #15 from Alexander Monakov <amonakov at gcc dot gnu.org> --- (In reply to Richard Biener from comment #14) > I can't > seem to reproduce any vectorization for your smaller example though. My small C samples omit some detail as they were meant to illustrate what happened in the IR. Is that a problem? By the way, I noticed that tree-ssa-math-opts incorrectly handles -ffp-contract: if (FLOAT_TYPE_P (type) && flag_fp_contract_mode == FP_CONTRACT_OFF) return false; It should be 'flag_fp_contract_mode != FP_CONTRACT_FAST' instead (the pass doesn't have any idea about expression boundaries). It dates back to g:1694907238eb