https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63503
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Wilco from comment #10) > The loops shown are not the correct inner loops for those options - with > -ffast-math they are vectorized. LLVM unrolls 2x but GCC doesn't. So the > question is why GCC doesn't unroll vectorized loops like LLVM? Because unrolling is not enabled at -O3. Try adding -funroll-loops.