https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81657
--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Wilco from comment #5) > Note there are other optimizations which can block a tailcall, for example: > > void *f (void *p) { return __builtin_strchr (p, 0); } This is irrelevant since this refers to mempcpy only, nothing else.