]> granicus.if.org Git - clang/commit
ARM: add support for v8 ldaex/stlex builtins.
authorTim Northover <tnorthover@apple.com>
Wed, 2 Jul 2014 12:56:02 +0000 (12:56 +0000)
committerTim Northover <tnorthover@apple.com>
Wed, 2 Jul 2014 12:56:02 +0000 (12:56 +0000)
commitce437d1ab312eeb3a267b5038a5ddba04f2f9e7b
treebbc05f317a7f22fc1934418b84c9f9eb3b178765
parent862a959d36f83378dbc0a18079dea5a01394b36b
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
docs/LanguageExtensions.rst
include/clang/Basic/BuiltinsAArch64.def
include/clang/Basic/BuiltinsARM.def
lib/CodeGen/CGBuiltin.cpp
lib/Sema/SemaChecking.cpp
test/CodeGen/builtins-arm-exclusive.c
test/Sema/builtins-arm-exclusive.c
test/Sema/builtins-arm64-exclusive.c