aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h')
-rw-r--r--contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h b/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
index c1c799b7b349..2874c4ab42ea 100644
--- a/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
+++ b/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
@@ -285,6 +285,8 @@ struct SysAlias {
struct SysAliasReg : SysAlias {
bool NeedsReg;
SysAliasReg(const char *N, uint16_t E, bool R) : SysAlias(N, E), NeedsReg(R) {};
+ SysAliasReg(const char *N, uint16_t E, bool R, FeatureBitset F) : SysAlias(N, E, F),
+ NeedsReg(R) {};
};
namespace AArch64AT{
@@ -327,6 +329,14 @@ namespace AArch64ISB {
#include "AArch64GenSystemOperands.inc"
}
+namespace AArch64TSB {
+ struct TSB : SysAlias {
+ using SysAlias::SysAlias;
+ };
+ #define GET_TSB_DECL
+ #include "AArch64GenSystemOperands.inc"
+}
+
namespace AArch64PRFM {
struct PRFM : SysAlias {
using SysAlias::SysAlias;
@@ -335,6 +345,33 @@ namespace AArch64PRFM {
#include "AArch64GenSystemOperands.inc"
}
+namespace AArch64SVEPRFM {
+ struct SVEPRFM : SysAlias {
+ using SysAlias::SysAlias;
+ };
+#define GET_SVEPRFM_DECL
+#include "AArch64GenSystemOperands.inc"
+}
+
+namespace AArch64SVEPredPattern {
+ struct SVEPREDPAT {
+ const char *Name;
+ uint16_t Encoding;
+ };
+#define GET_SVEPREDPAT_DECL
+#include "AArch64GenSystemOperands.inc"
+}
+
+namespace AArch64ExactFPImm {
+ struct ExactFPImm {
+ const char *Name;
+ int Enum;
+ const char *Repr;
+ };
+#define GET_EXACTFPIMM_DECL
+#include "AArch64GenSystemOperands.inc"
+}
+
namespace AArch64PState {
struct PState : SysAlias{
using SysAlias::SysAlias;