diff options
author | Tamar Christina <tamar.christina@arm.com> | 2022-04-07 16:48:05 +0100 |
---|---|---|
committer | Tamar Christina <tamar.christina@arm.com> | 2022-04-07 16:48:05 +0100 |
commit | af3cadb59fe6cb2097d2e636c1c70b26df39ae19 (patch) | |
tree | 6fb8121921b1a63b1f81e6774f7591eb9552b26a /gcc/config/aarch64/arm_acle.h | |
parent | 8c0ebaf9f586100920a3c0849fb10e9985d7ae58 (diff) | |
download | gcc-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.h | 2 |
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 |