https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91526
--- Comment #8 from Richard Biener ---
Author: rguenth
Date: Mon Aug 26 09:29:07 2019
New Revision: 274922
URL: https://gcc.gnu.org/viewcvs?rev=274922=gcc=rev
Log:
2019-08-26 Richard Biener
PR tree-optimization/91526
*
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91526
--- Comment #7 from joseph at codesourcery dot com ---
There's more or less the same ABI question as in bug 91398 about whether
there is any constraint on the called function writing to the return value
slot in cases where it does not return
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91526
--- Comment #6 from Richard Biener ---
Oh, and then, since we vectorized things, we do not NRV because
|| DECL_ALIGN (found) > DECL_ALIGN (result)
thus we adjusted the VAR_DECLs alignment but the ABI says the return slot
isn't
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91526
--- Comment #5 from Richard Biener ---
(In reply to Jakub Jelinek from comment #4)
> > so the C++ FE already elides the return copy by placing 'result' in the
> > return slot while the C FE doesn't do this.
>
> That's because in C++ the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91526
Jakub Jelinek changed:
What|Removed |Added
CC||jsm28 at gcc dot gnu.org
--- Comment #4
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91526
--- Comment #3 from Andrew Pinski ---
>Interestingly, even if the __restrict__ attribute is removed, it still gets
>vectorized. Is this correct behavior?
Yes as v1->v[0] cannot be the same as v2->v[1] or result->v[1], etc. due to the
full
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91526
Joel Yliluoma changed:
What|Removed |Added
CC||bisqwit at iki dot fi
--- Comment #2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91526
Richard Biener changed:
What|Removed |Added
Keywords||missed-optimization