diff options
| author | Momchil Velikov <momchil.velikov@arm.com> | 2019-07-17 13:23:27 +0000 |
|---|---|---|
| committer | Momchil Velikov <momchil.velikov@arm.com> | 2019-07-17 13:23:27 +0000 |
| commit | 4b8da3a503e434ddbc08ecf66582475765f449bc (patch) | |
| tree | 1a35c3ec28ad30ad65c7916467a703b8f249e33f /llvm/lib/Target/AArch64/AArch64Subtarget.h | |
| parent | 2889fe67691b4220e31bbf8c78b63474c973f26c (diff) | |
| download | bcm5719-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.h | 2 |
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; } |

