diff options
author | Tim Northover <tnorthover@apple.com> | 2014-04-17 20:00:24 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2014-04-17 20:00:24 +0000 |
commit | fa9a0aa77b3b35f48e2484079ed243792d7741fa (patch) | |
tree | 1ef7bb2500475e9a87beeef6304b9a235e09d3a7 /include | |
parent | d5e9413512a841b2a6cddd19ce1cccf2ff767054 (diff) | |
download | llvm-fa9a0aa77b3b35f48e2484079ed243792d7741fa.tar.gz llvm-fa9a0aa77b3b35f48e2484079ed243792d7741fa.tar.bz2 llvm-fa9a0aa77b3b35f48e2484079ed243792d7741fa.tar.xz |
ARM64: add acquire/release versions of the existing atomic intrinsics.
These will be needed to support IR-level lowering of atomic
operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206489 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/IR/IntrinsicsARM64.td | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/llvm/IR/IntrinsicsARM64.td b/include/llvm/IR/IntrinsicsARM64.td index d7f307e9ff..abdb655b12 100644 --- a/include/llvm/IR/IntrinsicsARM64.td +++ b/include/llvm/IR/IntrinsicsARM64.td @@ -14,12 +14,18 @@ let TargetPrefix = "arm64" in { def int_arm64_ldxr : Intrinsic<[llvm_i64_ty], [llvm_anyptr_ty]>; +def int_arm64_ldaxr : Intrinsic<[llvm_i64_ty], [llvm_anyptr_ty]>; def int_arm64_stxr : Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_anyptr_ty]>; -def int_arm64_clrex : Intrinsic<[]>; +def int_arm64_stlxr : Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_anyptr_ty]>; def int_arm64_ldxp : Intrinsic<[llvm_i64_ty, llvm_i64_ty], [llvm_ptr_ty]>; -def int_arm64_stxp : Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i64_ty, - llvm_ptr_ty]>; +def int_arm64_ldaxp : Intrinsic<[llvm_i64_ty, llvm_i64_ty], [llvm_ptr_ty]>; +def int_arm64_stxp : Intrinsic<[llvm_i32_ty], + [llvm_i64_ty, llvm_i64_ty, llvm_ptr_ty]>; +def int_arm64_stlxp : Intrinsic<[llvm_i32_ty], + [llvm_i64_ty, llvm_i64_ty, llvm_ptr_ty]>; + +def int_arm64_clrex : Intrinsic<[]>; def int_arm64_sdiv : Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>, LLVMMatchType<0>], [IntrNoMem]>; |