summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/Disassembler/WebAssembly
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/MC/Disassembler/WebAssembly')
-rw-r--r--llvm/test/MC/Disassembler/WebAssembly/lit.local.cfg3
-rw-r--r--llvm/test/MC/Disassembler/WebAssembly/wasm.txt33
2 files changed, 36 insertions, 0 deletions
diff --git a/llvm/test/MC/Disassembler/WebAssembly/lit.local.cfg b/llvm/test/MC/Disassembler/WebAssembly/lit.local.cfg
new file mode 100644
index 00000000000..2b7fce1988a
--- /dev/null
+++ b/llvm/test/MC/Disassembler/WebAssembly/lit.local.cfg
@@ -0,0 +1,3 @@
+if not 'WebAssembly' in config.root.targets:
+ config.unsupported = True
+
diff --git a/llvm/test/MC/Disassembler/WebAssembly/wasm.txt b/llvm/test/MC/Disassembler/WebAssembly/wasm.txt
new file mode 100644
index 00000000000..d6229f69700
--- /dev/null
+++ b/llvm/test/MC/Disassembler/WebAssembly/wasm.txt
@@ -0,0 +1,33 @@
+# RUN: llvm-mc --disassemble %s -triple=wasm32-unknown-unknown | FileCheck %s
+
+# CHECK: .text
+
+# CHECK: nop
+0x01
+
+# CHECK: i32.add $0=, $0, $0
+# NOTE: registers are meaningless, as there is no context for what they are.
+0x6a
+
+# CHECK: i64.const $0=, -1
+0x42 0x7F
+
+# CHECK: i64.load32_u $0=, 16($0):p2align=1
+0x35 0x01 0x10
+
+# CHECK: block
+# 3
+# FIXME: WebAssemblyInstPrinter does not currently print block number.
+0x02 0x03
+
+# CHECK: call_indirect
+# $0=, 128, 0
+# FIXME: WebAssemblyInstPrinter does not print immediates.
+0x11 0x80 0x01 0x00
+
+# CHECK: get_local $0=, 128
+0x20 0x80 0x01
+
+# Prefix byte example:
+# CHECK: i64.trunc_u:sat/f64 $0=, $0
+0xFC 0x07
OpenPOWER on IntegriCloud