http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59209
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |DUPLICATE
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
We simply are not able to optimize x + 1 - x to 1. See also PR58742
for which I think this is a dup.
_2 = x_1(D) + 1;
src_end.1_8 = (long int) _2;
src_start.2_9 = (long int) x_1(D);
_10 = src_end.1_8 - src_start.2_9;
_11 = (long unsigned int) _10;
__builtin_memcpy (&r, x_1(D), _11);
later on RTL we optimize the size argument to 1 but that's too late.
*** This bug has been marked as a duplicate of bug 58742 ***