ARM: add support for v8 ldaex/stlex builtins.
ARMv8 adds (to both AArch32 and AArch64) acquiring and releasing variants of the exclusive operations, in line with the C++11 memory model. This adds support for two new intrinsics to expose them to C & C++ developers directly: __builtin_arm_ldaex and __builtin_arm_stlex, in direct analogy with the versions with no implicit barrier. rdar://problem/15885451 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212175 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- docs/LanguageExtensions.rst 7 additions, 5 deletionsdocs/LanguageExtensions.rst
- include/clang/Basic/BuiltinsAArch64.def 2 additions, 0 deletionsinclude/clang/Basic/BuiltinsAArch64.def
- include/clang/Basic/BuiltinsARM.def 2 additions, 0 deletionsinclude/clang/Basic/BuiltinsARM.def
- lib/CodeGen/CGBuiltin.cpp 44 additions, 16 deletionslib/CodeGen/CGBuiltin.cpp
- lib/Sema/SemaChecking.cpp 14 additions, 4 deletionslib/Sema/SemaChecking.cpp
- test/CodeGen/builtins-arm-exclusive.c 162 additions, 1 deletiontest/CodeGen/builtins-arm-exclusive.c
- test/Sema/builtins-arm-exclusive.c 51 additions, 0 deletionstest/Sema/builtins-arm-exclusive.c
- test/Sema/builtins-arm64-exclusive.c 49 additions, 0 deletionstest/Sema/builtins-arm64-exclusive.c
Loading
Please register or sign in to comment