-
- Downloads
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.
Showing
- gcc/config/aarch64/aarch64-builtins.cc 33 additions, 24 deletionsgcc/config/aarch64/aarch64-builtins.cc
- gcc/config/aarch64/arm_acle.h 1 addition, 35 deletionsgcc/config/aarch64/arm_acle.h
- gcc/testsuite/gcc.target/aarch64/acle/tme_guard-1.c 9 additions, 0 deletionsgcc/testsuite/gcc.target/aarch64/acle/tme_guard-1.c
- gcc/testsuite/gcc.target/aarch64/acle/tme_guard-2.c 10 additions, 0 deletionsgcc/testsuite/gcc.target/aarch64/acle/tme_guard-2.c
- gcc/testsuite/gcc.target/aarch64/acle/tme_guard-3.c 9 additions, 0 deletionsgcc/testsuite/gcc.target/aarch64/acle/tme_guard-3.c
- gcc/testsuite/gcc.target/aarch64/acle/tme_guard-4.c 10 additions, 0 deletionsgcc/testsuite/gcc.target/aarch64/acle/tme_guard-4.c
Loading
Please register or sign in to comment