diff options
Diffstat (limited to 'llvm/lib/Target/WebAssembly')
-rw-r--r-- | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h | 26 |
2 files changed, 14 insertions, 14 deletions
diff --git a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp index 77744e53d62..2baa135ebd9 100644 --- a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp +++ b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp @@ -93,7 +93,7 @@ void WebAssemblyMCCodeEmitter::encodeInstruction( } else if (Info.OperandType == WebAssembly::OPERAND_GLOBAL) { llvm_unreachable("wasm globals should only be accessed symbolicly"); } else if (Info.OperandType == WebAssembly::OPERAND_SIGNATURE) { - encodeSLEB128(int64_t(MO.getImm()), OS); + OS << uint8_t(MO.getImm()); } else { encodeULEB128(uint64_t(MO.getImm()), OS); } diff --git a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h index 7dca89ab822..e27a74008ac 100644 --- a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h +++ b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h @@ -158,19 +158,19 @@ static const unsigned LoadP2AlignOperandNo = 1; static const unsigned StoreP2AlignOperandNo = 0; /// This is used to indicate block signatures. -enum class ExprType { - Void = -0x40, - I32 = -0x01, - I64 = -0x02, - F32 = -0x03, - F64 = -0x04, - I8x16 = -0x05, - I16x8 = -0x06, - I32x4 = -0x07, - F32x4 = -0x08, - B8x16 = -0x09, - B16x8 = -0x0a, - B32x4 = -0x0b +enum class ExprType : unsigned { + Void = 0x40, + I32 = 0x7F, + I64 = 0x7E, + F32 = 0x7D, + F64 = 0x7C, + I8x16 = 0x7B, + I16x8 = 0x7A, + I32x4 = 0x79, + F32x4 = 0x78, + B8x16 = 0x77, + B16x8 = 0x76, + B32x4 = 0x75 }; /// Instruction opcodes emitted via means other than CodeGen. |