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

--- Comment #1 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Alice Carlotti <[email protected]>:

https://gcc.gnu.org/g:1ced019ad9de965971d6fafe0d6fa4af2ddf54ac

commit r16-7439-g1ced019ad9de965971d6fafe0d6fa4af2ddf54ac
Author: Alice Carlotti <[email protected]>
Date:   Wed Jan 14 13:48:35 2026 +0000

    aarch64: Disable shrink-wrap for locally-streaming functions [PR 123624]

    The meaning of poly_int values changes depending on whether we are in
    streaming or non-streaming mode, but this dependency is not explicitly
    tracked.  Locally-streaming functions can change streaming state in the
    prologue and epilogue, so it is unsafe to apply shrink wrapping to these
    functions, as doing so could change the mode seen by instructions like
    cntd.

    gcc/ChangeLog:

            PR target/123624
            * config/aarch64/aarch64-protos.h
            (aarch64_use_simple_return_insn_p): New.
            * config/aarch64/aarch64.cc
            (aarch64_use_simple_return_insn_p): New, used...
            * config/aarch64/aarch64.md (simple_return): ...here.

    gcc/testsuite/ChangeLog:

            PR target/123624
            * gcc.target/aarch64/sme/sme-shrinkwrap.c: New test.

Reply via email to