mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-18 13:16:24 -04:00
[WebAssembly] made assembler parse block_type
Summary: This was previously ignored and an incorrect value generated. Also fixed Disassembler's handling of block_type. Reviewers: dschuff, aheejin Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D56092 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350270 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -167,12 +167,17 @@ MCDisassembler::DecodeStatus WebAssemblyDisassembler::getInstruction(
|
||||
}
|
||||
// SLEB operands:
|
||||
case WebAssembly::OPERAND_I32IMM:
|
||||
case WebAssembly::OPERAND_I64IMM:
|
||||
case WebAssembly::OPERAND_SIGNATURE: {
|
||||
case WebAssembly::OPERAND_I64IMM: {
|
||||
if (!parseLEBImmediate(MI, Size, Bytes, true))
|
||||
return MCDisassembler::Fail;
|
||||
break;
|
||||
}
|
||||
// block_type operands (uint8_t).
|
||||
case WebAssembly::OPERAND_SIGNATURE: {
|
||||
if (!parseImmediate<uint8_t>(MI, Size, Bytes))
|
||||
return MCDisassembler::Fail;
|
||||
break;
|
||||
}
|
||||
// FP operands.
|
||||
case WebAssembly::OPERAND_F32IMM: {
|
||||
if (!parseImmediate<float>(MI, Size, Bytes))
|
||||
|
||||
Reference in New Issue
Block a user