summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h')
-rw-r--r--llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
index c7d6efb794f..651c077fab4 100644
--- a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
+++ b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
@@ -53,7 +53,9 @@ enum OperandType {
/// 64-bit floating-point immediates.
OPERAND_F64IMM,
/// p2align immediate for load and store address alignment.
- OPERAND_P2ALIGN
+ OPERAND_P2ALIGN,
+ /// signature immediate for block/loop.
+ OPERAND_SIGNATURE
};
/// WebAssembly-specific directive identifiers.
@@ -63,7 +65,7 @@ enum Directive {
DotResult = UINT64_MAX - 1, ///< .result
DotLocal = UINT64_MAX - 2, ///< .local
DotEndFunc = UINT64_MAX - 3, ///< .endfunc
- DotIndIdx = UINT64_MAX - 4, /// < .indidx
+ DotIndIdx = UINT64_MAX - 4, ///< .indidx
};
} // end namespace WebAssembly
@@ -141,6 +143,21 @@ static const unsigned StoreAddressOperandNo = 1;
static const unsigned LoadP2AlignOperandNo = 3;
static const unsigned StoreP2AlignOperandNo = 2;
+/// This is used to indicate block signatures.
+enum ExprType {
+ Void = 0,
+ I32 = 1,
+ I64 = 2,
+ F32 = 3,
+ F64 = 4,
+ I8x16 = 5,
+ I16x8 = 6,
+ I32x4 = 7,
+ I64x2 = 8,
+ F32x4 = 9,
+ F64x2 = 10
+};
+
} // end namespace WebAssembly
} // end namespace llvm
OpenPOWER on IntegriCloud