https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113618

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
It might be good to recognize this pattern in strlenopt or a related pass.

A purely local transform would turn it into

    memcpy (temp, a, 64);
    memmove (b, a, 64);

relying on DSE to eliminate the copy to temp if possible.  Not sure if
that possibly would be a bad transform if copying to temp is required.

        stp     q30, q31, [sp]
        ldp     q30, q31, [sp]

why is CSE not able to catch this?

Reply via email to