https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82935
--- Comment #6 from Jakub Jelinek ---
Well, clang uses a tail call, and we don't. And the reason why we don't is
that the call is introduced only during expansion and doesn't therefore have
the
GF_CALL_TAILCALL flag set (CALL_EXPR_TAILCALL on
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82935
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82935
--- Comment #4 from Marc Glisse ---
We keep
*a1_2(D) = *a2_3(D);
and only at expansion time turn it into a call to memcpy, so the gimple pass
that detects tail calls doesn't have a chance to notice this case.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82935
--- Comment #3 from Uroš Bizjak ---
(In reply to Antony Polukhin from comment #2)
> Because Clang does not generate them.
So, the Earth is flat because someone says, too?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82935
--- Comment #2 from Antony Polukhin ---
> Why do you think these instructions are not needed?
Because Clang does not generate them.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82935
--- Comment #1 from Uroš Bizjak ---
Why do you think these instructions are not needed?