]> granicus.if.org Git - clang/commit
[AArch64] Add support for Transactional Memory Extension (TME)
authorMomchil Velikov <momchil.velikov@arm.com>
Wed, 17 Jul 2019 13:23:27 +0000 (13:23 +0000)
committerMomchil Velikov <momchil.velikov@arm.com>
Wed, 17 Jul 2019 13:23:27 +0000 (13:23 +0000)
commitbd90f409a113c4bb1d76d253d1186401db10a600
treec70ad3b05dd5c82a64f7b1de6db6769cd1c8bbf0
parent13104bffbba7231b816353ec8d5d79204fd4665b
[AArch64] Add support for Transactional Memory Extension (TME)

TME is a future architecture technology, documented in

https://developer.arm.com/architectures/cpu-architecture/a-profile/exploration-tools
https://developer.arm.com/docs/ddi0601/a

More about the future architectures:

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/new-technologies-for-the-arm-a-profile-architecture

This patch adds support for the TME instructions TSTART, TTEST, TCOMMIT, and
TCANCEL and the target feature/arch extension "tme".

It also implements TME builtin functions, defined in ACLE Q2 2019
(https://developer.arm.com/docs/101028/latest)

Patch by Javed Absar and Momchil Velikov

Differential Revision: https://reviews.llvm.org/D64416

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@366322 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/BuiltinsAArch64.def
lib/Basic/Targets/AArch64.cpp
lib/Basic/Targets/AArch64.h
lib/Headers/arm_acle.h
lib/Sema/SemaChecking.cpp
test/CodeGen/aarch64-tme-tcancel-arg.cpp [new file with mode: 0644]
test/CodeGen/aarch64-tme.c [new file with mode: 0644]
test/Sema/aarch64-tme-errors.c [new file with mode: 0644]
test/Sema/aarch64-tme-tcancel-const-error.c [new file with mode: 0644]
test/Sema/aarch64-tme-tcancel-range-error.c [new file with mode: 0644]