This keeps coming up repeatedly and the ACLE has finally added
__ARM_FEATURE_ATOMICS for the LSE feature in GCC. This is now part of
the latest ACLE release
(https://developer.arm.com/docs/101028/latest/5-feature-test-macros)
I know it's late for GCC-9 but this is a simple macro which need not
wait for another year.
Ok for trunk and to backport to all release branches ?
Tested with a simple build and a smoke test.
Backport from mainline.
PR target/86538
* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
__ARM_FEATURE_ATOMICS
From-SVN: r270770
+2019-05-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ Backport from mainline.
+ 2019-04-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ PR target/86538
+ * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
+ Define __ARM_FEATURE_ATOMICS
+
2019-04-30 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
PR target/90075
Backport from mainline
2018-12-11 Richard Earnshaw <Richard.Earnshaw@arm.com>
-
PR target/37369
* config/aarch64/iterators.md (sizem1): Add sizes for
SFmode and DFmode.
aarch64_def_or_undef (TARGET_CRYPTO, "__ARM_FEATURE_CRYPTO", pfile);
aarch64_def_or_undef (TARGET_SIMD_RDMA, "__ARM_FEATURE_QRDMX", pfile);
+ aarch64_def_or_undef (TARGET_LSE, "__ARM_FEATURE_ATOMICS", pfile);
+
/* Not for ACLE, but required to keep "float.h" correct if we switch
target between implementations that do or do not support ARMv8.2-A
16-bit floating-point extensions. */