https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63503
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The other option it is the fusion of the cmp and branch which is causing the improvement. Can you manually edit the assembly and swap the cmp and fmadd in the GCC output and try again?