summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-07-12 23:27:26 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-07-12 23:27:26 +0000
commit07257fe14ec24d43d675a8a24c30c0bc3d886e7d (patch)
treed128eadd6d2b6b862d78954d1afcefdede363845 /clang/lib
parent572250d60a23307df846bf56b387d7dabca17948 (diff)
downloadbcm5719-llvm-07257fe14ec24d43d675a8a24c30c0bc3d886e7d.tar.gz
bcm5719-llvm-07257fe14ec24d43d675a8a24c30c0bc3d886e7d.zip
Headers: add hint intrinsics to arm_acle.h
This adds the ARM ACLE hint intrinsic wrappers to arm_acle.h. These need to be protected with a !defined(_MSC_VER) since MSVC (and thus clang in compatibility mode) provide these wrappers as proper builtin intrinsics. llvm-svn: 212891
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Headers/arm_acle.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/clang/lib/Headers/arm_acle.h b/clang/lib/Headers/arm_acle.h
index a7406fbf0a8..460f2975d46 100644
--- a/clang/lib/Headers/arm_acle.h
+++ b/clang/lib/Headers/arm_acle.h
@@ -34,6 +34,30 @@
extern "C" {
#endif
+/* 8.4 - Hints */
+
+#if !defined(_MSC_VER)
+static __inline__ void __attribute__((always_inline, nodebug)) __wfi(void) {
+ __builtin_arm_wfi();
+}
+
+static __inline__ void __attribute__((always_inline, nodebug)) __wfe(void) {
+ __builtin_arm_wfe();
+}
+
+static __inline__ void __attribute__((always_inline, nodebug)) __sev(void) {
+ __builtin_arm_sev();
+}
+
+static __inline__ void __attribute__((always_inline, nodebug)) __sevl(void) {
+ __builtin_arm_sevl();
+}
+
+static __inline__ void __attribute__((always_inline, nodebug)) __yield(void) {
+ __builtin_arm_yield();
+}
+#endif
+
/* 9 DATA-PROCESSING INTRINSICS */
/* 9.2 Miscellaneous data-processing intrinsics */
static __inline__ uint32_t __attribute__((always_inline, nodebug))
OpenPOWER on IntegriCloud