summaryrefslogtreecommitdiff
path: root/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2016-10-24 23:27:49 +0000
committerDan Gohman <dan433584@gmail.com>2016-10-24 23:27:49 +0000
commit01b89435ec22db6b42999dfc73a741c22826f91f (patch)
tree38b8f5fc3e333a2f4a71d23310d55517e884f07c /lib/Target/WebAssembly/WebAssemblyInstrInteger.td
parentcc928287e4301a3c8fb7cb3e513dd81d567c82c7 (diff)
[WebAssembly] Implement more WebAssembly binary encoding.
This changes locals from being declared by the emitLocal hook in WebAssemblyTargetStreamer, rather than with an instruction. After exploring the infastructure in LLVM more, this seems to make more sense since declaring locals doesn't use an encoded opcode. This also adds more 0xd opcodes, type encodings, and miscellaneous binary encoding bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285040 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/WebAssembly/WebAssemblyInstrInteger.td')
-rw-r--r--lib/Target/WebAssembly/WebAssemblyInstrInteger.td4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/WebAssembly/WebAssemblyInstrInteger.td b/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
index ab28dd3e1c7..7cdeb397be9 100644
--- a/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
+++ b/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
@@ -75,10 +75,10 @@ let Defs = [ARGUMENTS] in {
def SELECT_I32 : I<(outs I32:$dst), (ins I32:$lhs, I32:$rhs, I32:$cond),
[(set I32:$dst, (select I32:$cond, I32:$lhs, I32:$rhs))],
- "i32.select\t$dst, $lhs, $rhs, $cond">;
+ "i32.select\t$dst, $lhs, $rhs, $cond", 0x1b>;
def SELECT_I64 : I<(outs I64:$dst), (ins I64:$lhs, I64:$rhs, I32:$cond),
[(set I64:$dst, (select I32:$cond, I64:$lhs, I64:$rhs))],
- "i64.select\t$dst, $lhs, $rhs, $cond">;
+ "i64.select\t$dst, $lhs, $rhs, $cond", 0x1b>;
} // Defs = [ARGUMENTS]