https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123624
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-15 branch has been updated by Alice Carlotti <[email protected]>: https://gcc.gnu.org/g:771dfe6e2427cb06c5046b06e7342485b6fd6e51 commit r15-10822-g771dfe6e2427cb06c5046b06e7342485b6fd6e51 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.
