It seems that even calls to std::copy() with trivially known size are not inlined. I'm attaching source C++ source file and output of GDB disassemble command.
Compilation: g++-4.4 -O3 test3.cpp -o test3 -- Summary: std::copy() results to a call to memmove() and is not inlined in trivial cases Product: gcc Version: 4.4.2 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pogonyshev at gmx dot net GCC target triplet: i486-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42203