https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69289
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-01-15 Ever confirmed|0 |1 --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- If you disable inlining it behaves as expected. I think you are measuring the clearing of the vector with the .resize() call which is inlined in the non-profile case but happens to end up using memset in the profile case. The code of the actual copying function is the same. Not sure how we end up "optimizing" the resize without profile-generate though.