summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/arm_acle.c
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-07-12 23:27:22 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-07-12 23:27:22 +0000
commit572250d60a23307df846bf56b387d7dabca17948 (patch)
treeec95eff6749d1f81c3eed93302c359d292eb11bc /clang/test/CodeGen/arm_acle.c
parent1871d8a0804924ce708c3fc41c94be2fb027702c (diff)
downloadbcm5719-llvm-572250d60a23307df846bf56b387d7dabca17948.tar.gz
bcm5719-llvm-572250d60a23307df846bf56b387d7dabca17948.zip
CodeGen: support hint intrinsics from ACLE on AArch64
This adds support for the ACLE hint intrinsics on AArch64 similar to ARM. This is required to properly support ACLE on AArch64. llvm-svn: 212890
Diffstat (limited to 'clang/test/CodeGen/arm_acle.c')
-rw-r--r--clang/test/CodeGen/arm_acle.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/clang/test/CodeGen/arm_acle.c b/clang/test/CodeGen/arm_acle.c
index a2f24d3fbf4..a7c37f5f8a0 100644
--- a/clang/test/CodeGen/arm_acle.c
+++ b/clang/test/CodeGen/arm_acle.c
@@ -3,6 +3,43 @@
#include <arm_acle.h>
+/* Hints */
+
+// ARM-LABEL: test_yield
+// AArch32: call void @llvm.arm.hint(i32 1)
+// AArch64: call void @llvm.aarch64.hint(i32 1)
+void test_yield(void) {
+ __yield();
+}
+
+// ARM-LABEL: test_wfe
+// AArch32: call void @llvm.arm.hint(i32 2)
+// AArch64: call void @llvm.aarch64.hint(i32 2)
+void test_wfe(void) {
+ __wfe();
+}
+
+// ARM-LABEL: test_wfi
+// AArch32: call void @llvm.arm.hint(i32 3)
+// AArch64: call void @llvm.aarch64.hint(i32 3)
+void test_wfi(void) {
+ __wfi();
+}
+
+// ARM-LABEL: test_sev
+// AArch32: call void @llvm.arm.hint(i32 4)
+// AArch64: call void @llvm.aarch64.hint(i32 4)
+void test_sev(void) {
+ __sev();
+}
+
+// ARM-LABEL: test_sevl
+// AArch32: call void @llvm.arm.hint(i32 5)
+// AArch64: call void @llvm.aarch64.hint(i32 5)
+void test_sevl(void) {
+ __sevl();
+}
+
/* 9 DATA-PROCESSING INTRINSICS */
/* 9.2 Miscellaneous data-processing intrinsics */
// ARM-LABEL: test_rev
OpenPOWER on IntegriCloud