https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112108
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Andrew Carlotti <acarlo...@gcc.gnu.org>: https://gcc.gnu.org/g:32afbb604b4958e78428006b10b3ca5e9ccd49f5 commit r15-3023-g32afbb604b4958e78428006b10b3ca5e9ccd49f5 Author: Andrew Carlotti <andrew.carlo...@arm.com> Date: Thu Oct 26 15:43:44 2023 +0100 aarch64: Fix tme intrinsic availability The availability of tme intrinsics was previously gated at both initialisation time (using global target options) and usage time (accounting for function-specific target options). This patch removes the check at initialisation time, and also moves the intrinsics out of the header file to allow for better error messages (matching the existing error messages for SVE intrinsics). gcc/ChangeLog: PR target/112108 * config/aarch64/aarch64-builtins.cc (aarch64_init_tme_builtins): Define intrinsic names directly. (aarch64_general_init_builtins): Move tme initialisation... (handle_arm_acle_h): ...to here, and remove feature check. (aarch64_general_check_builtin_call): Check tme intrinsics. * config/aarch64/arm_acle.h (__tstart, __tcommit, __tcancel) (__ttest): Remove. (_TMFAILURE_*): Define unconditionally. gcc/testsuite/ChangeLog: PR target/112108 * gcc.target/aarch64/acle/tme_guard-1.c: New test. * gcc.target/aarch64/acle/tme_guard-2.c: New test. * gcc.target/aarch64/acle/tme_guard-3.c: New test. * gcc.target/aarch64/acle/tme_guard-4.c: New test.