https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105905
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|WAITING |RESOLVED --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So clang defaults to -ffp-contract=off (maybe on which is actually the same as off for GCC) while GCC defaults to -ffp-contract=fast. And with -march=native, the FMA instruction is enabled which allows GCC to do contractions for some floating point and uses FMA more. Using -ffp-contract=off (or -ffp-contract=on) will get the behavior the developer wants.