summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/builtins-arm64.c
diff options
context:
space:
mode:
authorYi Kong <Yi.Kong@arm.com>2014-07-17 10:52:06 +0000
committerYi Kong <Yi.Kong@arm.com>2014-07-17 10:52:06 +0000
commit19a29ac0d0fbd5fcbc616a2666a7427a5cd336f9 (patch)
tree757996dc073737eb19b6f465c65f8e93ceb02e94 /clang/test/CodeGen/builtins-arm64.c
parent6dbcbac98b41df8e08ba4fdea2a835617cf9e8b8 (diff)
downloadbcm5719-llvm-19a29ac0d0fbd5fcbc616a2666a7427a5cd336f9.tar.gz
bcm5719-llvm-19a29ac0d0fbd5fcbc616a2666a7427a5cd336f9.zip
Port memory barriers intrinsics to AArch64
Memory barrier __builtin_arm_[dmb, dsb, isb] intrinsics are required to implement their corresponding ACLE and MSVC intrinsics. This patch ports ARM dmb, dsb, isb intrinsic to AArch64. Requires LLVM r213247. Differential Revision: http://reviews.llvm.org/D4521 llvm-svn: 213250
Diffstat (limited to 'clang/test/CodeGen/builtins-arm64.c')
-rw-r--r--clang/test/CodeGen/builtins-arm64.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/test/CodeGen/builtins-arm64.c b/clang/test/CodeGen/builtins-arm64.c
index 8614be0592b..cfa11812279 100644
--- a/clang/test/CodeGen/builtins-arm64.c
+++ b/clang/test/CodeGen/builtins-arm64.c
@@ -23,3 +23,9 @@ void hints() {
__builtin_arm_sev(); //CHECK: call {{.*}} @llvm.aarch64.hint(i32 4)
__builtin_arm_sevl(); //CHECK: call {{.*}} @llvm.aarch64.hint(i32 5)
}
+
+void barriers() {
+ __builtin_arm_dmb(1); //CHECK: call {{.*}} @llvm.aarch64.dmb(i32 1)
+ __builtin_arm_dsb(2); //CHECK: call {{.*}} @llvm.aarch64.dsb(i32 2)
+ __builtin_arm_isb(3); //CHECK: call {{.*}} @llvm.aarch64.isb(i32 3)
+}
OpenPOWER on IntegriCloud