https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119943
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|-O3 forgets trivial code |improve function splitting |shift. causing significant |by sinking expressions |slowdown |early on --- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So I suspect you need to mark radixSort as noinline for benchmarking reasons anyways. Because I suspect radixSort is not going to be inlinable in your non benchmark code.