diff options
author | Joey Gouly <joey.gouly@arm.com> | 2013-09-05 15:35:24 +0000 |
---|---|---|
committer | Joey Gouly <joey.gouly@arm.com> | 2013-09-05 15:35:24 +0000 |
commit | 4897151df698197f0eb5c4085545312dbb20c94d (patch) | |
tree | c01a96e1254455cb74d6ebcdf1993bdee36c7a31 /test/CodeGen/ARM | |
parent | b5523ce1bb50e86942ad5273e3a89872c4d26b73 (diff) | |
download | external_llvm-4897151df698197f0eb5c4085545312dbb20c94d.zip external_llvm-4897151df698197f0eb5c4085545312dbb20c94d.tar.gz external_llvm-4897151df698197f0eb5c4085545312dbb20c94d.tar.bz2 |
[ARMv8] Implement the new DMB/DSB operands.
This removes the custom ISD Node: MEMBARRIER and replaces it
with an intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190055 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM')
-rw-r--r-- | test/CodeGen/ARM/intrinsics-v8.ll | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/intrinsics-v8.ll b/test/CodeGen/ARM/intrinsics-v8.ll new file mode 100644 index 0000000..a6a4545 --- /dev/null +++ b/test/CodeGen/ARM/intrinsics-v8.ll @@ -0,0 +1,16 @@ +; RUN: llc < %s -mtriple=armv8 -mattr=+db | FileCheck %s + +define void @test() { + ; CHECK: dmb sy + call void @llvm.arm.dmb(i32 15) + ; CHECK: dmb osh + call void @llvm.arm.dmb(i32 3) + ; CHECK: dsb sy + call void @llvm.arm.dsb(i32 15) + ; CHECK: dsb ishld + call void @llvm.arm.dsb(i32 9) + ret void +} + +declare void @llvm.arm.dmb(i32) +declare void @llvm.arm.dsb(i32) |