summaryrefslogtreecommitdiff
path: root/gcc/config/aarch64/arm_acle.h
diff options
context:
space:
mode:
authorTamar Christina <tamar.christina@arm.com>2022-04-07 16:48:05 +0100
committerTamar Christina <tamar.christina@arm.com>2022-04-07 16:48:05 +0100
commitaf3cadb59fe6cb2097d2e636c1c70b26df39ae19 (patch)
tree6fb8121921b1a63b1f81e6774f7591eb9552b26a /gcc/config/aarch64/arm_acle.h
parent8c0ebaf9f586100920a3c0849fb10e9985d7ae58 (diff)
downloadgcc-af3cadb59fe6cb2097d2e636c1c70b26df39ae19.tar.gz
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".
Diffstat (limited to 'gcc/config/aarch64/arm_acle.h')
-rw-r--r--gcc/config/aarch64/arm_acle.h2
1 files changed, 2 insertions, 0 deletions
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 <stdint.h>
+#pragma GCC aarch64 "arm_acle.h"
+
#ifdef __cplusplus
extern "C" {
#endif