https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123624
--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-14 branch has been updated by Alice Carlotti <[email protected]>: https://gcc.gnu.org/g:77b67edb50059b7542f45ab221593b15a006b0e9 commit r14-12312-g77b67edb50059b7542f45ab221593b15a006b0e9 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.
