http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60621
--- Comment #2 from marc at kdab dot com --- Yes, that helps a bit, but emplace_back still generates larger code than the corresponding rvalue-push_back. Considering that the latter also needs to generate the implicitly defined move ctor for S, this is still somewhat surprising and runs counter to the motivation to have emplace_back in the first place.