https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121414
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-15 branch has been updated by Richard Sandiford <rsand...@gcc.gnu.org>: https://gcc.gnu.org/g:868a5774431e889aa2c35bf7f678433cfa21e3d4 commit r15-10233-g868a5774431e889aa2c35bf7f678433cfa21e3d4 Author: Richard Sandiford <richard.sandif...@arm.com> Date: Thu Aug 14 17:56:51 2025 +0100 aarch64: Mark SME functions as .variant_pcs [PR121414] Unlike base PCS functions, __arm_streaming and __arm_streaming_compatible functions allow/require PSTATE.SM to be 1 on entry, so they need to be treated as STO_AARCH64_VARIANT_PCS. Similarly, functions that share ZA or ZT0 with their callers require ZA to be active on entry, whereas the base PCS requires ZA to be dormant or off. These functions too need to be marked as having a variant PCS. gcc/ PR target/121414 * config/aarch64/aarch64.cc (aarch64_is_variant_pcs): New function, split out from... (aarch64_asm_output_variant_pcs): ...here. Handle various types of SME function type. gcc/testsuite/ PR target/121414 * gcc.target/aarch64/sme/pr121414_1.c: New test.