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.
