From af3cadb59fe6cb2097d2e636c1c70b26df39ae19 Mon Sep 17 00:00:00 2001 From: Tamar Christina Date: Thu, 7 Apr 2022 16:48:05 +0100 Subject: AArch64: fix ls64 intrinsics expansion [PR104409] The LS64 intrinsics used a machinery that's not safe to use unless being called from a pragma instantiation. This moves the initialization code to a new pragma for arm_acle.h. gcc/ChangeLog: PR target/104409 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New. (aarch64_general_init_builtins): Move LS64 code. * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support arm_acle.h * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New. * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h". --- gcc/config/aarch64/arm_acle.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/config/aarch64/arm_acle.h') diff --git a/gcc/config/aarch64/arm_acle.h b/gcc/config/aarch64/arm_acle.h index ecd852f8a46..9775a48c658 100644 --- a/gcc/config/aarch64/arm_acle.h +++ b/gcc/config/aarch64/arm_acle.h @@ -29,6 +29,8 @@ #include +#pragma GCC aarch64 "arm_acle.h" + #ifdef __cplusplus extern "C" { #endif -- cgit v1.2.1