summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AArch64/AArch64Subtarget.h
diff options
context:
space:
mode:
authorMomchil Velikov <momchil.velikov@arm.com>2019-07-17 13:23:27 +0000
committerMomchil Velikov <momchil.velikov@arm.com>2019-07-17 13:23:27 +0000
commit4b8da3a503e434ddbc08ecf66582475765f449bc (patch)
tree1a35c3ec28ad30ad65c7916467a703b8f249e33f /llvm/lib/Target/AArch64/AArch64Subtarget.h
parent2889fe67691b4220e31bbf8c78b63474c973f26c (diff)
downloadbcm5719-llvm-4b8da3a503e434ddbc08ecf66582475765f449bc.tar.gz
bcm5719-llvm-4b8da3a503e434ddbc08ecf66582475765f449bc.zip
[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 llvm-svn: 366322
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64Subtarget.h')
-rw-r--r--llvm/lib/Target/AArch64/AArch64Subtarget.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64Subtarget.h b/llvm/lib/Target/AArch64/AArch64Subtarget.h
index 0c84cfb8329..ce829795309 100644
--- a/llvm/lib/Target/AArch64/AArch64Subtarget.h
+++ b/llvm/lib/Target/AArch64/AArch64Subtarget.h
@@ -134,6 +134,7 @@ protected:
bool HasBTI = false;
bool HasRandGen = false;
bool HasMTE = false;
+ bool HasTME = false;
// Arm SVE2 extensions
bool HasSVE2AES = false;
@@ -380,6 +381,7 @@ public:
bool hasBTI() const { return HasBTI; }
bool hasRandGen() const { return HasRandGen; }
bool hasMTE() const { return HasMTE; }
+ bool hasTME() const { return HasTME; }
// Arm SVE2 extensions
bool hasSVE2AES() const { return HasSVE2AES; }
bool hasSVE2SM4() const { return HasSVE2SM4; }
OpenPOWER on IntegriCloud