https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107647
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Alexander Monakov from comment #3) > Nice catch, thanks for the report. This is due to g:7d810646d421 > > The documentation should clarify that patterns correspond to basic fma > instructions (without intermediate rounding), and SLP pattern matching > should check flag_fp_contract_mode != FP_CONTRACT_OFF. I don't think they should. Because __builtin_fma (and fma and fmaf) should be able to be used from an user program and still get FMA instructions. And even the SLP instruction patterns can be generating using those.