Merge pull request #86 from WebAssembly/de-wasmate
Delete wasmate
diff --git a/prototype-wasmate/.gitignore b/prototype-wasmate/.gitignore
deleted file mode 100644
index c3bf65e..0000000
--- a/prototype-wasmate/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-test/output
-third_party/llvm
diff --git a/prototype-wasmate/README.md b/prototype-wasmate/README.md
deleted file mode 100644
index ac38c07..0000000
--- a/prototype-wasmate/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a temporary hack used to bring up some testcases to help validate
-other parts of the WebAssembly platform.
diff --git a/prototype-wasmate/known_gcc_test_failures.txt b/prototype-wasmate/known_gcc_test_failures.txt
deleted file mode 100644
index 3eb7345..0000000
--- a/prototype-wasmate/known_gcc_test_failures.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-# Expected failures from running wasmate on the GCC torture test output files.
-
-# Address-taken labels in test cause "can't resolve symbol".
-20071220-1.c.s
-20071220-2.c.s
-
-# Code contains `extern int abort();` and it's address-taken. .s file doesn't
-# declare `abort`.
-921110-1.c.s
diff --git a/prototype-wasmate/run-tests.py b/prototype-wasmate/run-tests.py
deleted file mode 100755
index cf2fedb..0000000
--- a/prototype-wasmate/run-tests.py
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env python
-
-import difflib
-import glob
-import os
-import subprocess
-import sys
-import unittest
-
-SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
-WASMATE = os.path.join(SCRIPT_DIR, 'wasmate.py')
-ENVIRONMENT = 'misctest'
-
-def DiffLines(expected, actual):
- expected_lines = expected.splitlines(1)
- actual_lines = actual.splitlines(1)
- return list(difflib.unified_diff(expected_lines, actual_lines,
- fromfile='expected', tofile='actual'))
-
-class RunTests(unittest.TestCase):
- def _runTestFile(self, shortName, fileName):
- expectedLogPath = fileName.replace("test/", "test/expected-output/").replace(".s", ".wast")
- logPath = fileName.replace("test/", "test/output/").replace(".s", ".wast")
- try:
- os.remove(logPath)
- except OSError:
- pass
-
- commandStr = ("%s -l %s %s > %s") % (WASMATE, ENVIRONMENT, fileName, logPath)
- exitCode = subprocess.call(commandStr, shell=True)
- self.assertEqual(0, exitCode, "test runner failed with exit code %i" % exitCode)
-
- try:
- expected = open(expectedLogPath)
- except IOError:
- # print("// WARNING: No expected output found for %s" % fileName)
- return
-
- output = open(logPath)
-
- with expected:
- with output:
- expectedText = expected.read()
- actualText = output.read()
- if expectedText != actualText:
- msg = ('Mismatch in stdout:\n' +
- ''.join(DiffLines(expectedText, actualText)))
- self.assertEqual(expectedText, actualText, msg)
-
-def generate_test_case(attrName, fileName):
- return lambda self : self._runTestFile(attrName, fileName)
-
-def generate_test_cases(cls, files):
- for fileName in files:
- attrName = fileName
- testCase = generate_test_case(attrName, fileName)
- setattr(cls, attrName, testCase)
-
-if __name__ == "__main__":
- try:
- os.makedirs("test/output/")
- except OSError:
- pass
-
- testFiles = glob.glob("test/*.s")
- generate_test_cases(RunTests, testFiles)
- unittest.main()
diff --git a/prototype-wasmate/scripts/build-llvm.sh b/prototype-wasmate/scripts/build-llvm.sh
deleted file mode 100755
index 5d9f2a7..0000000
--- a/prototype-wasmate/scripts/build-llvm.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-set -o nounset
-set -o errexit
-
-SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
-ROOT_DIR="$(dirname "${SCRIPT_DIR}")"
-LLVM_DIR="${ROOT_DIR}/third_party/llvm"
-BUILD_DIR="${LLVM_DIR}/build"
-CMAKE_FLAGS="\
- -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
- -DLLVM_BUILD_TESTS=ON \
- -DCMAKE_BUILD_TYPE=Debug \
- -DLLVM_ENABLE_ASSERTIONS=ON \
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly \
- -DLLVM_TARGETS_TO_BUILD=X86"
-
-if [[ ! -d ${BUILD_DIR} ]]; then
- mkdir -p ${BUILD_DIR}
- (cd ${BUILD_DIR} && cmake -G Ninja .. ${CMAKE_FLAGS})
-fi
-
-pushd ${BUILD_DIR}
-time ninja
-popd
diff --git a/prototype-wasmate/scripts/llvm-to-s.py b/prototype-wasmate/scripts/llvm-to-s.py
deleted file mode 100755
index 27df6e3..0000000
--- a/prototype-wasmate/scripts/llvm-to-s.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-
-import argparse
-import os
-import re
-import shlex
-import subprocess
-import sys
-
-
-SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
-ROOT_DIR= os.path.dirname(SCRIPT_DIR)
-LLVM_TEST_DIR = os.path.join(ROOT_DIR, 'third_party', 'llvm', 'test', 'CodeGen',
- 'WebAssembly')
-S_TEST_DIR = os.path.join(ROOT_DIR, 'test')
-LLVM_DIR = os.path.join(ROOT_DIR, 'third_party', 'llvm')
-BIN_DIR = os.path.join(LLVM_DIR, 'build', 'bin')
-
-
-def FindTestFiles(directory, ext):
- tests = []
- for root, dirs, files in os.walk(directory):
- for f in files:
- path = os.path.join(root, f)
- if os.path.splitext(f)[1] == ext:
- tests.append(path)
- tests.sort()
- return tests
-
-
-def GetRunLine(test):
- run_line = ''
- with open(test) as test_file:
- for line in test_file.readlines():
- m = re.match(r'; RUN: (.*?)(\\?)$', line)
- if m:
- run_line += m.group(1)
- if not m.group(2):
- break
- # Remove FileCheck
- run_line = re.sub(r'\|\s*FileCheck.*$', '', run_line)
- # Remove pipe input
- run_line = re.sub(r'<\s*%s', '', run_line)
- # Remove stderr > stdout redirect
- run_line = re.sub(r'2>&1', '', run_line)
- return run_line
-
-
-def main(args):
- parser = argparse.ArgumentParser()
- options = parser.parse_args(args)
-
- tests = FindTestFiles(LLVM_TEST_DIR, '.ll')
- for ll_test in tests:
- name_noext = os.path.splitext(os.path.basename(ll_test))[0]
- s = os.path.join(S_TEST_DIR, name_noext + '.s')
- run_line = GetRunLine(ll_test)
- cmd = shlex.split(run_line)
- cmd.extend([ll_test, '-o', s])
- # Don't run if the command isn't llc. Some are opt and they don't
- # generate .s files.
- if cmd[0] != 'llc':
- continue
- cmd[0] = os.path.join(BIN_DIR, cmd[0])
- subprocess.check_call(cmd)
-
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv[1:]))
diff --git a/prototype-wasmate/scripts/update-llvm.sh b/prototype-wasmate/scripts/update-llvm.sh
deleted file mode 100755
index c674b8d..0000000
--- a/prototype-wasmate/scripts/update-llvm.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-set -o nounset
-set -o errexit
-
-SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
-ROOT_DIR="$(dirname "${SCRIPT_DIR}")"
-LLVM_SVN=http://llvm.org/svn/llvm-project/llvm/trunk
-LLVM_DIR="${ROOT_DIR}/third_party/llvm"
-REV=255925
-
-(cd ${SCRIPT_DIR} && svn co -r ${REV} ${LLVM_SVN} ${LLVM_DIR})
diff --git a/prototype-wasmate/test/alternate-lcomm.s b/prototype-wasmate/test/alternate-lcomm.s
deleted file mode 100644
index 70966ef..0000000
--- a/prototype-wasmate/test/alternate-lcomm.s
+++ /dev/null
@@ -1,5 +0,0 @@
- .data
- .type a,@object
- .lcomm a,1
- .type b,@object
- .lcomm b,3
diff --git a/prototype-wasmate/test/call.s b/prototype-wasmate/test/call.s
deleted file mode 100644
index c9c3d9b..0000000
--- a/prototype-wasmate/test/call.s
+++ /dev/null
@@ -1,123 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/call.ll"
- .globl call_i32_nullary
- .type call_i32_nullary,@function
-call_i32_nullary: # @call_i32_nullary
- .result i32
-# BB#0:
- i32.call $push0=, i32_nullary
- return $pop0
-func_end0:
- .size call_i32_nullary, func_end0-call_i32_nullary
-
- .globl call_i64_nullary
- .type call_i64_nullary,@function
-call_i64_nullary: # @call_i64_nullary
- .result i64
-# BB#0:
- i64.call $push0=, i64_nullary
- return $pop0
-func_end1:
- .size call_i64_nullary, func_end1-call_i64_nullary
-
- .globl call_float_nullary
- .type call_float_nullary,@function
-call_float_nullary: # @call_float_nullary
- .result f32
-# BB#0:
- f32.call $push0=, float_nullary
- return $pop0
-func_end2:
- .size call_float_nullary, func_end2-call_float_nullary
-
- .globl call_double_nullary
- .type call_double_nullary,@function
-call_double_nullary: # @call_double_nullary
- .result f64
-# BB#0:
- f64.call $push0=, double_nullary
- return $pop0
-func_end3:
- .size call_double_nullary, func_end3-call_double_nullary
-
- .globl call_void_nullary
- .type call_void_nullary,@function
-call_void_nullary: # @call_void_nullary
-# BB#0:
- call void_nullary
- return
-func_end4:
- .size call_void_nullary, func_end4-call_void_nullary
-
- .globl call_i32_unary
- .type call_i32_unary,@function
-call_i32_unary: # @call_i32_unary
- .param i32
- .result i32
-# BB#0:
- i32.call $push0=, i32_unary, $0
- return $pop0
-func_end5:
- .size call_i32_unary, func_end5-call_i32_unary
-
- .globl call_i32_binary
- .type call_i32_binary,@function
-call_i32_binary: # @call_i32_binary
- .param i32, i32
- .result i32
-# BB#0:
- i32.call $push0=, i32_binary, $0, $1
- return $pop0
-func_end6:
- .size call_i32_binary, func_end6-call_i32_binary
-
- .globl call_indirect_void
- .type call_indirect_void,@function
-call_indirect_void: # @call_indirect_void
- .param i32
-# BB#0:
- call_indirect $0
- return
-func_end7:
- .size call_indirect_void, func_end7-call_indirect_void
-
- .globl call_indirect_i32
- .type call_indirect_i32,@function
-call_indirect_i32: # @call_indirect_i32
- .param i32
- .result i32
-# BB#0:
- i32.call_indirect $push0=, $0
- return $pop0
-func_end8:
- .size call_indirect_i32, func_end8-call_indirect_i32
-
- .globl tail_call_void_nullary
- .type tail_call_void_nullary,@function
-tail_call_void_nullary: # @tail_call_void_nullary
-# BB#0:
- call void_nullary
- return
-func_end9:
- .size tail_call_void_nullary, func_end9-tail_call_void_nullary
-
- .globl fastcc_tail_call_void_nullary
- .type fastcc_tail_call_void_nullary,@function
-fastcc_tail_call_void_nullary: # @fastcc_tail_call_void_nullary
-# BB#0:
- call void_nullary
- return
-func_end10:
- .size fastcc_tail_call_void_nullary, func_end10-fastcc_tail_call_void_nullary
-
- .globl coldcc_tail_call_void_nullary
- .type coldcc_tail_call_void_nullary,@function
-coldcc_tail_call_void_nullary: # @coldcc_tail_call_void_nullary
-# BB#0:
- call void_nullary
- return
-func_end11:
- .size coldcc_tail_call_void_nullary, func_end11-coldcc_tail_call_void_nullary
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/cfg-stackify.s b/prototype-wasmate/test/cfg-stackify.s
deleted file mode 100644
index b97ac9b..0000000
--- a/prototype-wasmate/test/cfg-stackify.s
+++ /dev/null
@@ -1,773 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll"
- .globl test0
- .type test0,@function
-test0: # @test0
- .param i32
- .local i32
-# BB#0: # %entry
- i32.const $1=, 0
-BB0_1: # %header
- # =>This Inner Loop Header: Depth=1
- loop BB0_3
- i32.const $push0=, 1
- i32.add $1=, $1, $pop0
- i32.ge_s $push1=, $1, $0
- br_if $pop1, BB0_3
-# BB#2: # %back
- # in Loop: Header=BB0_1 Depth=1
- call something
- br BB0_1
-BB0_3: # %exit
- return
-func_end0:
- .size test0, func_end0-test0
-
- .globl test1
- .type test1,@function
-test1: # @test1
- .param i32
- .local i32
-# BB#0: # %entry
- i32.const $1=, 0
-BB1_1: # %header
- # =>This Inner Loop Header: Depth=1
- loop BB1_3
- i32.const $push0=, 1
- i32.add $1=, $1, $pop0
- i32.ge_s $push1=, $1, $0
- br_if $pop1, BB1_3
-# BB#2: # %back
- # in Loop: Header=BB1_1 Depth=1
- call something
- br BB1_1
-BB1_3: # %exit
- return
-func_end1:
- .size test1, func_end1-test1
-
- .globl test2
- .type test2,@function
-test2: # @test2
- .param i32, i32
-# BB#0: # %entry
- i32.const $push0=, 1
- i32.lt_s $push1=, $1, $pop0
- block BB2_2
- br_if $pop1, BB2_2
-BB2_1: # %for.body
- # =>This Inner Loop Header: Depth=1
- loop BB2_2
- f64.load $push2=, 0($0)
- f64.const $push3=, 0x1.999999999999ap1
- f64.mul $push4=, $pop2, $pop3
- f64.store $discard=, 0($0), $pop4
- i32.const $push5=, -1
- i32.add $1=, $1, $pop5
- i32.const $push6=, 8
- i32.add $0=, $0, $pop6
- br_if $1, BB2_1
-BB2_2: # %for.end
- return
-func_end2:
- .size test2, func_end2-test2
-
- .globl doublediamond
- .type doublediamond,@function
-doublediamond: # @doublediamond
- .param i32, i32, i32
- .result i32
- .local i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.store $3=, 0($2), $pop0
- block BB3_5
- block BB3_4
- i32.const $push6=, 0
- i32.eq $push7=, $0, $pop6
- br_if $pop7, BB3_4
-# BB#1: # %false
- i32.const $push1=, 2
- i32.store $discard=, 0($2), $pop1
- block BB3_3
- i32.const $push8=, 0
- i32.eq $push9=, $1, $pop8
- br_if $pop9, BB3_3
-# BB#2: # %ff
- i32.const $push2=, 4
- i32.store $discard=, 0($2), $pop2
- br BB3_5
-BB3_3: # %ft
- i32.const $push3=, 3
- i32.store $discard=, 0($2), $pop3
- br BB3_5
-BB3_4: # %true
- i32.const $push4=, 1
- i32.store $discard=, 0($2), $pop4
-BB3_5: # %exit
- i32.const $push5=, 5
- i32.store $discard=, 0($2), $pop5
- return $3
-func_end3:
- .size doublediamond, func_end3-doublediamond
-
- .globl triangle
- .type triangle,@function
-triangle: # @triangle
- .param i32, i32
- .result i32
- .local i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.store $2=, 0($0), $pop0
- block BB4_2
- br_if $1, BB4_2
-# BB#1: # %true
- i32.const $push1=, 1
- i32.store $discard=, 0($0), $pop1
-BB4_2: # %exit
- i32.const $push2=, 2
- i32.store $discard=, 0($0), $pop2
- return $2
-func_end4:
- .size triangle, func_end4-triangle
-
- .globl diamond
- .type diamond,@function
-diamond: # @diamond
- .param i32, i32
- .result i32
- .local i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.store $2=, 0($0), $pop0
- block BB5_3
- block BB5_2
- i32.const $push4=, 0
- i32.eq $push5=, $1, $pop4
- br_if $pop5, BB5_2
-# BB#1: # %false
- i32.const $push1=, 2
- i32.store $discard=, 0($0), $pop1
- br BB5_3
-BB5_2: # %true
- i32.const $push2=, 1
- i32.store $discard=, 0($0), $pop2
-BB5_3: # %exit
- i32.const $push3=, 3
- i32.store $discard=, 0($0), $pop3
- return $2
-func_end5:
- .size diamond, func_end5-diamond
-
- .globl single_block
- .type single_block,@function
-single_block: # @single_block
- .param i32
- .result i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.store $push1=, 0($0), $pop0
- return $pop1
-func_end6:
- .size single_block, func_end6-single_block
-
- .globl minimal_loop
- .type minimal_loop,@function
-minimal_loop: # @minimal_loop
- .param i32
- .result i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.store $discard=, 0($0), $pop0
-BB7_1: # %loop
- # =>This Inner Loop Header: Depth=1
- loop BB7_2
- i32.const $push1=, 1
- i32.store $discard=, 0($0), $pop1
- br BB7_1
-BB7_2:
-func_end7:
- .size minimal_loop, func_end7-minimal_loop
-
- .globl simple_loop
- .type simple_loop,@function
-simple_loop: # @simple_loop
- .param i32, i32
- .result i32
- .local i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.store $2=, 0($0), $pop0
-BB8_1: # %loop
- # =>This Inner Loop Header: Depth=1
- loop BB8_2
- i32.const $push1=, 1
- i32.store $discard=, 0($0), $pop1
- i32.const $push3=, 0
- i32.eq $push4=, $1, $pop3
- br_if $pop4, BB8_1
-BB8_2: # %exit
- i32.const $push2=, 2
- i32.store $discard=, 0($0), $pop2
- return $2
-func_end8:
- .size simple_loop, func_end8-simple_loop
-
- .globl doubletriangle
- .type doubletriangle,@function
-doubletriangle: # @doubletriangle
- .param i32, i32, i32
- .result i32
- .local i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.store $3=, 0($2), $pop0
- block BB9_4
- br_if $0, BB9_4
-# BB#1: # %true
- i32.const $push1=, 2
- i32.store $discard=, 0($2), $pop1
- block BB9_3
- br_if $1, BB9_3
-# BB#2: # %tt
- i32.const $push2=, 3
- i32.store $discard=, 0($2), $pop2
-BB9_3: # %tf
- i32.const $push3=, 4
- i32.store $discard=, 0($2), $pop3
-BB9_4: # %exit
- i32.const $push4=, 5
- i32.store $discard=, 0($2), $pop4
- return $3
-func_end9:
- .size doubletriangle, func_end9-doubletriangle
-
- .globl ifelse_earlyexits
- .type ifelse_earlyexits,@function
-ifelse_earlyexits: # @ifelse_earlyexits
- .param i32, i32, i32
- .result i32
- .local i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.store $3=, 0($2), $pop0
- block BB10_4
- block BB10_3
- i32.const $push5=, 0
- i32.eq $push6=, $0, $pop5
- br_if $pop6, BB10_3
-# BB#1: # %false
- i32.const $push1=, 2
- i32.store $discard=, 0($2), $pop1
- br_if $1, BB10_4
-# BB#2: # %ft
- i32.const $push2=, 3
- i32.store $discard=, 0($2), $pop2
- br BB10_4
-BB10_3: # %true
- i32.const $push3=, 1
- i32.store $discard=, 0($2), $pop3
-BB10_4: # %exit
- i32.const $push4=, 4
- i32.store $discard=, 0($2), $pop4
- return $3
-func_end10:
- .size ifelse_earlyexits, func_end10-ifelse_earlyexits
-
- .globl doublediamond_in_a_loop
- .type doublediamond_in_a_loop,@function
-doublediamond_in_a_loop: # @doublediamond_in_a_loop
- .param i32, i32, i32
- .result i32
-# BB#0: # %entry
-BB11_1: # %header
- # =>This Inner Loop Header: Depth=1
- loop BB11_7
- i32.const $push0=, 0
- i32.store $discard=, 0($2), $pop0
- block BB11_6
- block BB11_5
- i32.const $push6=, 0
- i32.eq $push7=, $0, $pop6
- br_if $pop7, BB11_5
-# BB#2: # %false
- # in Loop: Header=BB11_1 Depth=1
- i32.const $push1=, 2
- i32.store $discard=, 0($2), $pop1
- block BB11_4
- i32.const $push8=, 0
- i32.eq $push9=, $1, $pop8
- br_if $pop9, BB11_4
-# BB#3: # %ff
- # in Loop: Header=BB11_1 Depth=1
- i32.const $push2=, 4
- i32.store $discard=, 0($2), $pop2
- br BB11_6
-BB11_4: # %ft
- # in Loop: Header=BB11_1 Depth=1
- i32.const $push3=, 3
- i32.store $discard=, 0($2), $pop3
- br BB11_6
-BB11_5: # %true
- # in Loop: Header=BB11_1 Depth=1
- i32.const $push4=, 1
- i32.store $discard=, 0($2), $pop4
-BB11_6: # %exit
- # in Loop: Header=BB11_1 Depth=1
- i32.const $push5=, 5
- i32.store $discard=, 0($2), $pop5
- br BB11_1
-BB11_7:
-func_end11:
- .size doublediamond_in_a_loop, func_end11-doublediamond_in_a_loop
-
- .globl test3
- .type test3,@function
-test3: # @test3
- .param i32
-# BB#0: # %entry
- i32.const $push0=, 0
- block BB12_2
- i32.const $push2=, 0
- i32.eq $push3=, $pop0, $pop2
- br_if $pop3, BB12_2
-# BB#1: # %exit
- return
-BB12_2: # %outer
- # =>This Loop Header: Depth=1
- # Child Loop BB12_3 Depth 2
- loop BB12_5
- br_if $0, BB12_5
-BB12_3: # %inner
- # Parent Loop BB12_2 Depth=1
- # => This Inner Loop Header: Depth=2
- loop BB12_4
- i32.ne $push1=, $0, $0
- br_if $pop1, BB12_3
-BB12_4: # %if.end
- # in Loop: Header=BB12_2 Depth=1
- call bar
- br BB12_2
-BB12_5: # %unreachable
- unreachable
-func_end12:
- .size test3, func_end12-test3
-
- .globl test4
- .type test4,@function
-test4: # @test4
- .param i32
-# BB#0: # %entry
- i32.const $push0=, 3
- i32.gt_s $push1=, $0, $pop0
- block BB13_8
- block BB13_7
- block BB13_4
- br_if $pop1, BB13_4
-# BB#1: # %entry
- block BB13_3
- i32.const $push8=, 0
- i32.eq $push9=, $0, $pop8
- br_if $pop9, BB13_3
-# BB#2: # %entry
- i32.const $push6=, 2
- i32.ne $push7=, $0, $pop6
- br_if $pop7, BB13_7
-BB13_3: # %bb2
- return
-BB13_4: # %entry
- i32.const $push2=, 4
- i32.eq $push3=, $0, $pop2
- br_if $pop3, BB13_8
-# BB#5: # %entry
- i32.const $push4=, 622
- i32.ne $push5=, $0, $pop4
- br_if $pop5, BB13_7
-# BB#6: # %bb0
- return
-BB13_7: # %default
- return
-BB13_8: # %bb1
- return
-func_end13:
- .size test4, func_end13-test4
-
- .globl test5
- .type test5,@function
-test5: # @test5
- .param i32, i32
- .local i32, i32
-# BB#0: # %entry
-BB14_1: # %header
- # =>This Inner Loop Header: Depth=1
- block BB14_4
- loop BB14_3
- i32.const $2=, 0
- i32.store $3=, 0($2), $2
- i32.const $2=, 1
- i32.and $push0=, $0, $2
- i32.const $push5=, 0
- i32.eq $push6=, $pop0, $pop5
- br_if $pop6, BB14_4
-# BB#2: # %more
- # in Loop: Header=BB14_1 Depth=1
- i32.store $push2=, 0($3), $2
- i32.and $push3=, $1, $pop2
- br_if $pop3, BB14_1
-BB14_3: # %return
- i32.const $push4=, 3
- i32.store $discard=, 0($3), $pop4
- return
-BB14_4: # %alt
- i32.const $push1=, 2
- i32.store $discard=, 0($3), $pop1
- return
-func_end14:
- .size test5, func_end14-test5
-
- .globl test6
- .type test6,@function
-test6: # @test6
- .param i32, i32
- .local i32, i32, i32
-# BB#0: # %entry
-BB15_1: # %header
- # =>This Inner Loop Header: Depth=1
- block BB15_6
- block BB15_5
- loop BB15_4
- i32.const $2=, 0
- i32.store $discard=, 0($2), $2
- i32.const $3=, 1
- i32.and $push0=, $0, $3
- i32.const $push4=, 0
- i32.eq $push5=, $pop0, $pop4
- br_if $pop5, BB15_6
-# BB#2: # %more
- # in Loop: Header=BB15_1 Depth=1
- i32.store $discard=, 0($2), $3
- i32.and $4=, $1, $3
- i32.const $push6=, 0
- i32.eq $push7=, $4, $pop6
- br_if $pop7, BB15_5
-# BB#3: # %evenmore
- # in Loop: Header=BB15_1 Depth=1
- i32.store $discard=, 0($2), $3
- br_if $4, BB15_1
-BB15_4: # %return
- i32.const $push3=, 2
- i32.store $discard=, 0($2), $pop3
- return
-BB15_5: # %first
- i32.const $push1=, 3
- i32.store $discard=, 0($2), $pop1
-BB15_6: # %second
- i32.const $push2=, 4
- i32.store $discard=, 0($2), $pop2
- return
-func_end15:
- .size test6, func_end15-test6
-
- .globl test7
- .type test7,@function
-test7: # @test7
- .param i32, i32
- .local i32, i32
-# BB#0: # %entry
- i32.const $3=, 0
- i32.store $2=, 0($3), $3
-BB16_1: # %loop
- # =>This Inner Loop Header: Depth=1
- loop BB16_5
- i32.const $push0=, 1
- i32.store $3=, 0($2), $pop0
- i32.and $push1=, $0, $3
- block BB16_4
- i32.const $push8=, 0
- i32.eq $push9=, $pop1, $pop8
- br_if $pop9, BB16_4
-# BB#2: # %l1
- # in Loop: Header=BB16_1 Depth=1
- i32.const $push5=, 3
- i32.store $discard=, 0($2), $pop5
- i32.and $push6=, $1, $3
- br_if $pop6, BB16_1
-# BB#3: # %u1
- i32.const $push7=, 5
- i32.store $discard=, 0($2), $pop7
- unreachable
-BB16_4: # %l0
- # in Loop: Header=BB16_1 Depth=1
- i32.const $push2=, 2
- i32.store $discard=, 0($2), $pop2
- i32.and $push3=, $1, $3
- br_if $pop3, BB16_1
-BB16_5: # %u0
- i32.const $push4=, 4
- i32.store $discard=, 0($2), $pop4
- unreachable
-func_end16:
- .size test7, func_end16-test7
-
- .globl test8
- .type test8,@function
-test8: # @test8
- .result i32
- .local i32
-# BB#0: # %bb
- i32.const $0=, 0
-BB17_1: # %bb1
- # =>This Loop Header: Depth=1
- # Child Loop BB17_3 Depth 2
- loop BB17_4
- block BB17_3
- i32.const $push0=, 0
- i32.eq $push1=, $0, $pop0
- br_if $pop1, BB17_3
-# BB#2: # %bb3
- # in Loop: Header=BB17_1 Depth=1
- i32.const $push2=, 0
- i32.eq $push3=, $0, $pop2
- br_if $pop3, BB17_1
-BB17_3: # %bb2
- # Parent Loop BB17_1 Depth=1
- # => This Inner Loop Header: Depth=2
- loop BB17_4
- br_if $0, BB17_3
- br BB17_1
-BB17_4:
-func_end17:
- .size test8, func_end17-test8
-
- .globl test9
- .type test9,@function
-test9: # @test9
- .local i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.store $0=, 0($1), $1
-BB18_1: # %header
- # =>This Loop Header: Depth=1
- # Child Loop BB18_2 Depth 2
- loop BB18_5
- i32.const $push0=, 1
- i32.store $1=, 0($0), $pop0
- i32.call $push1=, a
- i32.and $push2=, $pop1, $1
- i32.const $push13=, 0
- i32.eq $push14=, $pop2, $pop13
- br_if $pop14, BB18_5
-BB18_2: # %header2
- # Parent Loop BB18_1 Depth=1
- # => This Inner Loop Header: Depth=2
- loop BB18_5
- i32.const $push4=, 2
- i32.store $discard=, 0($0), $pop4
- i32.call $push5=, a
- i32.and $push6=, $pop5, $1
- block BB18_4
- i32.const $push15=, 0
- i32.eq $push16=, $pop6, $pop15
- br_if $pop16, BB18_4
-# BB#3: # %if.then
- # in Loop: Header=BB18_2 Depth=2
- i32.const $push10=, 3
- i32.store $discard=, 0($0), $pop10
- i32.call $push11=, a
- i32.and $push12=, $pop11, $1
- br_if $pop12, BB18_2
- br BB18_1
-BB18_4: # %if.else
- # in Loop: Header=BB18_2 Depth=2
- i32.const $push7=, 4
- i32.store $discard=, 0($0), $pop7
- i32.call $push8=, a
- i32.and $push9=, $pop8, $1
- br_if $pop9, BB18_2
- br BB18_1
-BB18_5: # %end
- i32.const $push3=, 5
- i32.store $discard=, 0($0), $pop3
- return
-func_end18:
- .size test9, func_end18-test9
-
- .globl test10
- .type test10,@function
-test10: # @test10
- .local i32, i32, i32, i32, i32
-# BB#0: # %bb0
- i32.const $0=, 2
- # implicit-def: %vreg18
-BB19_1: # %bb1
- # =>This Loop Header: Depth=1
- # Child Loop BB19_2 Depth 2
- # Child Loop BB19_3 Depth 3
- loop BB19_7
- copy_local $4=, $1
- copy_local $3=, $0
- i32.const $1=, 0
- i32.const $0=, 3
- i32.const $2=, 4
- br_if $4, BB19_1
-BB19_2: # %bb4
- # Parent Loop BB19_1 Depth=1
- # => This Loop Header: Depth=2
- # Child Loop BB19_3 Depth 3
- block BB19_6
- loop BB19_5
- copy_local $4=, $3
- copy_local $3=, $2
-BB19_3: # %bb5
- # Parent Loop BB19_1 Depth=1
- # Parent Loop BB19_2 Depth=2
- # => This Inner Loop Header: Depth=3
- loop BB19_5
- copy_local $2=, $4
- i32.const $push0=, 4
- i32.gt_u $push1=, $2, $pop0
- br_if $pop1, BB19_1
-# BB#4: # %bb5
- # in Loop: Header=BB19_3 Depth=3
- copy_local $4=, $3
- tableswitch $2, BB19_3, BB19_3, BB19_5, BB19_1, BB19_2, BB19_6
-BB19_5: # %bb6
- return
-BB19_6: # %bb3.loopexit
- # in Loop: Header=BB19_1 Depth=1
- i32.const $1=, 1
- br BB19_1
-BB19_7:
-func_end19:
- .size test10, func_end19-test10
-
- .globl test11
- .type test11,@function
-test11: # @test11
- .local i32
-# BB#0: # %bb0
- i32.const $0=, 0
- i32.store $discard=, 0($0), $0
- block BB20_8
- block BB20_4
- br_if $0, BB20_4
-# BB#1: # %bb1
- i32.const $push4=, 1
- i32.store $discard=, 0($0), $pop4
- block BB20_3
- br_if $0, BB20_3
-# BB#2: # %bb2
- i32.const $push5=, 2
- i32.store $discard=, 0($0), $pop5
- br_if $0, BB20_8
-BB20_3: # %bb3
- i32.const $push7=, 3
- i32.store $discard=, 0($0), $pop7
- return
-BB20_4: # %bb4
- i32.const $push0=, 4
- i32.store $discard=, 0($0), $pop0
- block BB20_6
- i32.const $push8=, 0
- i32.eq $push9=, $0, $pop8
- br_if $pop9, BB20_6
-# BB#5: # %bb8
- i32.const $push3=, 8
- i32.store $discard=, 0($0), $pop3
- return
-BB20_6: # %bb5
- i32.const $push1=, 5
- i32.store $discard=, 0($0), $pop1
- br_if $0, BB20_8
-# BB#7: # %bb6
- i32.const $push2=, 6
- i32.store $discard=, 0($0), $pop2
- return
-BB20_8: # %bb7
- i32.const $push6=, 7
- i32.store $discard=, 0($0), $pop6
- return
-func_end20:
- .size test11, func_end20-test11
-
- .globl test12
- .type test12,@function
-test12: # @test12
- .param i32
- .local i32
-# BB#0: # %bb
-BB21_1: # %bb1
- # =>This Inner Loop Header: Depth=1
- loop BB21_8
- i32.load8_u $1=, 0($0)
- i32.const $push0=, 103
- i32.gt_s $push1=, $1, $pop0
- block BB21_7
- block BB21_6
- block BB21_4
- br_if $pop1, BB21_4
-# BB#2: # %bb1
- # in Loop: Header=BB21_1 Depth=1
- i32.const $push6=, 42
- i32.eq $push7=, $1, $pop6
- br_if $pop7, BB21_7
-# BB#3: # %bb1
- # in Loop: Header=BB21_1 Depth=1
- i32.const $push8=, 76
- i32.eq $push9=, $1, $pop8
- br_if $pop9, BB21_7
- br BB21_6
-BB21_4: # %bb1
- # in Loop: Header=BB21_1 Depth=1
- i32.const $push2=, 108
- i32.eq $push3=, $1, $pop2
- br_if $pop3, BB21_7
-# BB#5: # %bb1
- # in Loop: Header=BB21_1 Depth=1
- i32.const $push4=, 104
- i32.eq $push5=, $1, $pop4
- br_if $pop5, BB21_7
-BB21_6: # %bb7
- return
-BB21_7: # %bb4
- # in Loop: Header=BB21_1 Depth=1
- i32.const $push10=, 1
- i32.add $0=, $0, $pop10
- br BB21_1
-BB21_8:
-func_end21:
- .size test12, func_end21-test12
-
- .globl test13
- .type test13,@function
-test13: # @test13
- .local i32
-# BB#0: # %bb
- i32.const $push0=, 0
- block BB22_2
- i32.const $push3=, 0
- i32.eq $push4=, $pop0, $pop3
- br_if $pop4, BB22_2
-# BB#1: # %bb5
- return
-BB22_2: # %bb2
- i32.const $0=, 0
- block BB22_4
- br_if $0, BB22_4
-# BB#3: # %bb3
- i32.const $0=, 0
-BB22_4: # %bb4
- i32.const $push1=, 1
- i32.and $push2=, $0, $pop1
- block BB22_5
- i32.const $push5=, 0
- i32.eq $push6=, $pop2, $pop5
- br_if $pop6, BB22_5
-BB22_5: # %bb1
- unreachable
-func_end22:
- .size test13, func_end22-test13
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/comparisons_f32.s b/prototype-wasmate/test/comparisons_f32.s
deleted file mode 100644
index e41a9a2..0000000
--- a/prototype-wasmate/test/comparisons_f32.s
+++ /dev/null
@@ -1,186 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/comparisons_f32.ll"
- .globl ord_f32
- .type ord_f32,@function
-ord_f32: # @ord_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.eq $push1=, $0, $0
- f32.eq $push0=, $1, $1
- i32.and $push2=, $pop1, $pop0
- return $pop2
-func_end0:
- .size ord_f32, func_end0-ord_f32
-
- .globl uno_f32
- .type uno_f32,@function
-uno_f32: # @uno_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.ne $push1=, $0, $0
- f32.ne $push0=, $1, $1
- i32.or $push2=, $pop1, $pop0
- return $pop2
-func_end1:
- .size uno_f32, func_end1-uno_f32
-
- .globl oeq_f32
- .type oeq_f32,@function
-oeq_f32: # @oeq_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.eq $push0=, $0, $1
- return $pop0
-func_end2:
- .size oeq_f32, func_end2-oeq_f32
-
- .globl une_f32
- .type une_f32,@function
-une_f32: # @une_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.ne $push0=, $0, $1
- return $pop0
-func_end3:
- .size une_f32, func_end3-une_f32
-
- .globl olt_f32
- .type olt_f32,@function
-olt_f32: # @olt_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.lt $push0=, $0, $1
- return $pop0
-func_end4:
- .size olt_f32, func_end4-olt_f32
-
- .globl ole_f32
- .type ole_f32,@function
-ole_f32: # @ole_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.le $push0=, $0, $1
- return $pop0
-func_end5:
- .size ole_f32, func_end5-ole_f32
-
- .globl ogt_f32
- .type ogt_f32,@function
-ogt_f32: # @ogt_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.gt $push0=, $0, $1
- return $pop0
-func_end6:
- .size ogt_f32, func_end6-ogt_f32
-
- .globl oge_f32
- .type oge_f32,@function
-oge_f32: # @oge_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.ge $push0=, $0, $1
- return $pop0
-func_end7:
- .size oge_f32, func_end7-oge_f32
-
- .globl ueq_f32
- .type ueq_f32,@function
-ueq_f32: # @ueq_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.eq $push0=, $0, $1
- f32.ne $push2=, $0, $0
- f32.ne $push1=, $1, $1
- i32.or $push3=, $pop2, $pop1
- i32.or $push4=, $pop0, $pop3
- return $pop4
-func_end8:
- .size ueq_f32, func_end8-ueq_f32
-
- .globl one_f32
- .type one_f32,@function
-one_f32: # @one_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.ne $push0=, $0, $1
- f32.eq $push2=, $0, $0
- f32.eq $push1=, $1, $1
- i32.and $push3=, $pop2, $pop1
- i32.and $push4=, $pop0, $pop3
- return $pop4
-func_end9:
- .size one_f32, func_end9-one_f32
-
- .globl ult_f32
- .type ult_f32,@function
-ult_f32: # @ult_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.lt $push0=, $0, $1
- f32.ne $push2=, $0, $0
- f32.ne $push1=, $1, $1
- i32.or $push3=, $pop2, $pop1
- i32.or $push4=, $pop0, $pop3
- return $pop4
-func_end10:
- .size ult_f32, func_end10-ult_f32
-
- .globl ule_f32
- .type ule_f32,@function
-ule_f32: # @ule_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.le $push0=, $0, $1
- f32.ne $push2=, $0, $0
- f32.ne $push1=, $1, $1
- i32.or $push3=, $pop2, $pop1
- i32.or $push4=, $pop0, $pop3
- return $pop4
-func_end11:
- .size ule_f32, func_end11-ule_f32
-
- .globl ugt_f32
- .type ugt_f32,@function
-ugt_f32: # @ugt_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.gt $push0=, $0, $1
- f32.ne $push2=, $0, $0
- f32.ne $push1=, $1, $1
- i32.or $push3=, $pop2, $pop1
- i32.or $push4=, $pop0, $pop3
- return $pop4
-func_end12:
- .size ugt_f32, func_end12-ugt_f32
-
- .globl uge_f32
- .type uge_f32,@function
-uge_f32: # @uge_f32
- .param f32, f32
- .result i32
-# BB#0:
- f32.ge $push0=, $0, $1
- f32.ne $push2=, $0, $0
- f32.ne $push1=, $1, $1
- i32.or $push3=, $pop2, $pop1
- i32.or $push4=, $pop0, $pop3
- return $pop4
-func_end13:
- .size uge_f32, func_end13-uge_f32
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/comparisons_f64.s b/prototype-wasmate/test/comparisons_f64.s
deleted file mode 100644
index d62b97b..0000000
--- a/prototype-wasmate/test/comparisons_f64.s
+++ /dev/null
@@ -1,186 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/comparisons_f64.ll"
- .globl ord_f64
- .type ord_f64,@function
-ord_f64: # @ord_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.eq $push1=, $0, $0
- f64.eq $push0=, $1, $1
- i32.and $push2=, $pop1, $pop0
- return $pop2
-func_end0:
- .size ord_f64, func_end0-ord_f64
-
- .globl uno_f64
- .type uno_f64,@function
-uno_f64: # @uno_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.ne $push1=, $0, $0
- f64.ne $push0=, $1, $1
- i32.or $push2=, $pop1, $pop0
- return $pop2
-func_end1:
- .size uno_f64, func_end1-uno_f64
-
- .globl oeq_f64
- .type oeq_f64,@function
-oeq_f64: # @oeq_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.eq $push0=, $0, $1
- return $pop0
-func_end2:
- .size oeq_f64, func_end2-oeq_f64
-
- .globl une_f64
- .type une_f64,@function
-une_f64: # @une_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.ne $push0=, $0, $1
- return $pop0
-func_end3:
- .size une_f64, func_end3-une_f64
-
- .globl olt_f64
- .type olt_f64,@function
-olt_f64: # @olt_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.lt $push0=, $0, $1
- return $pop0
-func_end4:
- .size olt_f64, func_end4-olt_f64
-
- .globl ole_f64
- .type ole_f64,@function
-ole_f64: # @ole_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.le $push0=, $0, $1
- return $pop0
-func_end5:
- .size ole_f64, func_end5-ole_f64
-
- .globl ogt_f64
- .type ogt_f64,@function
-ogt_f64: # @ogt_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.gt $push0=, $0, $1
- return $pop0
-func_end6:
- .size ogt_f64, func_end6-ogt_f64
-
- .globl oge_f64
- .type oge_f64,@function
-oge_f64: # @oge_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.ge $push0=, $0, $1
- return $pop0
-func_end7:
- .size oge_f64, func_end7-oge_f64
-
- .globl ueq_f64
- .type ueq_f64,@function
-ueq_f64: # @ueq_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.eq $push0=, $0, $1
- f64.ne $push2=, $0, $0
- f64.ne $push1=, $1, $1
- i32.or $push3=, $pop2, $pop1
- i32.or $push4=, $pop0, $pop3
- return $pop4
-func_end8:
- .size ueq_f64, func_end8-ueq_f64
-
- .globl one_f64
- .type one_f64,@function
-one_f64: # @one_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.ne $push0=, $0, $1
- f64.eq $push2=, $0, $0
- f64.eq $push1=, $1, $1
- i32.and $push3=, $pop2, $pop1
- i32.and $push4=, $pop0, $pop3
- return $pop4
-func_end9:
- .size one_f64, func_end9-one_f64
-
- .globl ult_f64
- .type ult_f64,@function
-ult_f64: # @ult_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.lt $push0=, $0, $1
- f64.ne $push2=, $0, $0
- f64.ne $push1=, $1, $1
- i32.or $push3=, $pop2, $pop1
- i32.or $push4=, $pop0, $pop3
- return $pop4
-func_end10:
- .size ult_f64, func_end10-ult_f64
-
- .globl ule_f64
- .type ule_f64,@function
-ule_f64: # @ule_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.le $push0=, $0, $1
- f64.ne $push2=, $0, $0
- f64.ne $push1=, $1, $1
- i32.or $push3=, $pop2, $pop1
- i32.or $push4=, $pop0, $pop3
- return $pop4
-func_end11:
- .size ule_f64, func_end11-ule_f64
-
- .globl ugt_f64
- .type ugt_f64,@function
-ugt_f64: # @ugt_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.gt $push0=, $0, $1
- f64.ne $push2=, $0, $0
- f64.ne $push1=, $1, $1
- i32.or $push3=, $pop2, $pop1
- i32.or $push4=, $pop0, $pop3
- return $pop4
-func_end12:
- .size ugt_f64, func_end12-ugt_f64
-
- .globl uge_f64
- .type uge_f64,@function
-uge_f64: # @uge_f64
- .param f64, f64
- .result i32
-# BB#0:
- f64.ge $push0=, $0, $1
- f64.ne $push2=, $0, $0
- f64.ne $push1=, $1, $1
- i32.or $push3=, $pop2, $pop1
- i32.or $push4=, $pop0, $pop3
- return $pop4
-func_end13:
- .size uge_f64, func_end13-uge_f64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/comparisons_i32.s b/prototype-wasmate/test/comparisons_i32.s
deleted file mode 100644
index fe6948a..0000000
--- a/prototype-wasmate/test/comparisons_i32.s
+++ /dev/null
@@ -1,114 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/comparisons_i32.ll"
- .globl eq_i32
- .type eq_i32,@function
-eq_i32: # @eq_i32
- .param i32, i32
- .result i32
-# BB#0:
- i32.eq $push0=, $0, $1
- return $pop0
-func_end0:
- .size eq_i32, func_end0-eq_i32
-
- .globl ne_i32
- .type ne_i32,@function
-ne_i32: # @ne_i32
- .param i32, i32
- .result i32
-# BB#0:
- i32.ne $push0=, $0, $1
- return $pop0
-func_end1:
- .size ne_i32, func_end1-ne_i32
-
- .globl slt_i32
- .type slt_i32,@function
-slt_i32: # @slt_i32
- .param i32, i32
- .result i32
-# BB#0:
- i32.lt_s $push0=, $0, $1
- return $pop0
-func_end2:
- .size slt_i32, func_end2-slt_i32
-
- .globl sle_i32
- .type sle_i32,@function
-sle_i32: # @sle_i32
- .param i32, i32
- .result i32
-# BB#0:
- i32.le_s $push0=, $0, $1
- return $pop0
-func_end3:
- .size sle_i32, func_end3-sle_i32
-
- .globl ult_i32
- .type ult_i32,@function
-ult_i32: # @ult_i32
- .param i32, i32
- .result i32
-# BB#0:
- i32.lt_u $push0=, $0, $1
- return $pop0
-func_end4:
- .size ult_i32, func_end4-ult_i32
-
- .globl ule_i32
- .type ule_i32,@function
-ule_i32: # @ule_i32
- .param i32, i32
- .result i32
-# BB#0:
- i32.le_u $push0=, $0, $1
- return $pop0
-func_end5:
- .size ule_i32, func_end5-ule_i32
-
- .globl sgt_i32
- .type sgt_i32,@function
-sgt_i32: # @sgt_i32
- .param i32, i32
- .result i32
-# BB#0:
- i32.gt_s $push0=, $0, $1
- return $pop0
-func_end6:
- .size sgt_i32, func_end6-sgt_i32
-
- .globl sge_i32
- .type sge_i32,@function
-sge_i32: # @sge_i32
- .param i32, i32
- .result i32
-# BB#0:
- i32.ge_s $push0=, $0, $1
- return $pop0
-func_end7:
- .size sge_i32, func_end7-sge_i32
-
- .globl ugt_i32
- .type ugt_i32,@function
-ugt_i32: # @ugt_i32
- .param i32, i32
- .result i32
-# BB#0:
- i32.gt_u $push0=, $0, $1
- return $pop0
-func_end8:
- .size ugt_i32, func_end8-ugt_i32
-
- .globl uge_i32
- .type uge_i32,@function
-uge_i32: # @uge_i32
- .param i32, i32
- .result i32
-# BB#0:
- i32.ge_u $push0=, $0, $1
- return $pop0
-func_end9:
- .size uge_i32, func_end9-uge_i32
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/comparisons_i64.s b/prototype-wasmate/test/comparisons_i64.s
deleted file mode 100644
index 7e9e8b4..0000000
--- a/prototype-wasmate/test/comparisons_i64.s
+++ /dev/null
@@ -1,114 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/comparisons_i64.ll"
- .globl eq_i64
- .type eq_i64,@function
-eq_i64: # @eq_i64
- .param i64, i64
- .result i32
-# BB#0:
- i64.eq $push0=, $0, $1
- return $pop0
-func_end0:
- .size eq_i64, func_end0-eq_i64
-
- .globl ne_i64
- .type ne_i64,@function
-ne_i64: # @ne_i64
- .param i64, i64
- .result i32
-# BB#0:
- i64.ne $push0=, $0, $1
- return $pop0
-func_end1:
- .size ne_i64, func_end1-ne_i64
-
- .globl slt_i64
- .type slt_i64,@function
-slt_i64: # @slt_i64
- .param i64, i64
- .result i32
-# BB#0:
- i64.lt_s $push0=, $0, $1
- return $pop0
-func_end2:
- .size slt_i64, func_end2-slt_i64
-
- .globl sle_i64
- .type sle_i64,@function
-sle_i64: # @sle_i64
- .param i64, i64
- .result i32
-# BB#0:
- i64.le_s $push0=, $0, $1
- return $pop0
-func_end3:
- .size sle_i64, func_end3-sle_i64
-
- .globl ult_i64
- .type ult_i64,@function
-ult_i64: # @ult_i64
- .param i64, i64
- .result i32
-# BB#0:
- i64.lt_u $push0=, $0, $1
- return $pop0
-func_end4:
- .size ult_i64, func_end4-ult_i64
-
- .globl ule_i64
- .type ule_i64,@function
-ule_i64: # @ule_i64
- .param i64, i64
- .result i32
-# BB#0:
- i64.le_u $push0=, $0, $1
- return $pop0
-func_end5:
- .size ule_i64, func_end5-ule_i64
-
- .globl sgt_i64
- .type sgt_i64,@function
-sgt_i64: # @sgt_i64
- .param i64, i64
- .result i32
-# BB#0:
- i64.gt_s $push0=, $0, $1
- return $pop0
-func_end6:
- .size sgt_i64, func_end6-sgt_i64
-
- .globl sge_i64
- .type sge_i64,@function
-sge_i64: # @sge_i64
- .param i64, i64
- .result i32
-# BB#0:
- i64.ge_s $push0=, $0, $1
- return $pop0
-func_end7:
- .size sge_i64, func_end7-sge_i64
-
- .globl ugt_i64
- .type ugt_i64,@function
-ugt_i64: # @ugt_i64
- .param i64, i64
- .result i32
-# BB#0:
- i64.gt_u $push0=, $0, $1
- return $pop0
-func_end8:
- .size ugt_i64, func_end8-ugt_i64
-
- .globl uge_i64
- .type uge_i64,@function
-uge_i64: # @uge_i64
- .param i64, i64
- .result i32
-# BB#0:
- i64.ge_u $push0=, $0, $1
- return $pop0
-func_end9:
- .size uge_i64, func_end9-uge_i64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/conv.s b/prototype-wasmate/test/conv.s
deleted file mode 100644
index f21450d..0000000
--- a/prototype-wasmate/test/conv.s
+++ /dev/null
@@ -1,292 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/conv.ll"
- .globl i32_wrap_i64
- .type i32_wrap_i64,@function
-i32_wrap_i64: # @i32_wrap_i64
- .param i64
- .result i32
-# BB#0:
- i32.wrap/i64 $push0=, $0
- return $pop0
-func_end0:
- .size i32_wrap_i64, func_end0-i32_wrap_i64
-
- .globl i64_extend_s_i32
- .type i64_extend_s_i32,@function
-i64_extend_s_i32: # @i64_extend_s_i32
- .param i32
- .result i64
-# BB#0:
- i64.extend_s/i32 $push0=, $0
- return $pop0
-func_end1:
- .size i64_extend_s_i32, func_end1-i64_extend_s_i32
-
- .globl i64_extend_u_i32
- .type i64_extend_u_i32,@function
-i64_extend_u_i32: # @i64_extend_u_i32
- .param i32
- .result i64
-# BB#0:
- i64.extend_u/i32 $push0=, $0
- return $pop0
-func_end2:
- .size i64_extend_u_i32, func_end2-i64_extend_u_i32
-
- .globl i32_trunc_s_f32
- .type i32_trunc_s_f32,@function
-i32_trunc_s_f32: # @i32_trunc_s_f32
- .param f32
- .result i32
-# BB#0:
- i32.trunc_s/f32 $push0=, $0
- return $pop0
-func_end3:
- .size i32_trunc_s_f32, func_end3-i32_trunc_s_f32
-
- .globl i32_trunc_u_f32
- .type i32_trunc_u_f32,@function
-i32_trunc_u_f32: # @i32_trunc_u_f32
- .param f32
- .result i32
-# BB#0:
- i32.trunc_u/f32 $push0=, $0
- return $pop0
-func_end4:
- .size i32_trunc_u_f32, func_end4-i32_trunc_u_f32
-
- .globl i32_trunc_s_f64
- .type i32_trunc_s_f64,@function
-i32_trunc_s_f64: # @i32_trunc_s_f64
- .param f64
- .result i32
-# BB#0:
- i32.trunc_s/f64 $push0=, $0
- return $pop0
-func_end5:
- .size i32_trunc_s_f64, func_end5-i32_trunc_s_f64
-
- .globl i32_trunc_u_f64
- .type i32_trunc_u_f64,@function
-i32_trunc_u_f64: # @i32_trunc_u_f64
- .param f64
- .result i32
-# BB#0:
- i32.trunc_u/f64 $push0=, $0
- return $pop0
-func_end6:
- .size i32_trunc_u_f64, func_end6-i32_trunc_u_f64
-
- .globl i64_trunc_s_f32
- .type i64_trunc_s_f32,@function
-i64_trunc_s_f32: # @i64_trunc_s_f32
- .param f32
- .result i64
-# BB#0:
- i64.trunc_s/f32 $push0=, $0
- return $pop0
-func_end7:
- .size i64_trunc_s_f32, func_end7-i64_trunc_s_f32
-
- .globl i64_trunc_u_f32
- .type i64_trunc_u_f32,@function
-i64_trunc_u_f32: # @i64_trunc_u_f32
- .param f32
- .result i64
-# BB#0:
- i64.trunc_u/f32 $push0=, $0
- return $pop0
-func_end8:
- .size i64_trunc_u_f32, func_end8-i64_trunc_u_f32
-
- .globl i64_trunc_s_f64
- .type i64_trunc_s_f64,@function
-i64_trunc_s_f64: # @i64_trunc_s_f64
- .param f64
- .result i64
-# BB#0:
- i64.trunc_s/f64 $push0=, $0
- return $pop0
-func_end9:
- .size i64_trunc_s_f64, func_end9-i64_trunc_s_f64
-
- .globl i64_trunc_u_f64
- .type i64_trunc_u_f64,@function
-i64_trunc_u_f64: # @i64_trunc_u_f64
- .param f64
- .result i64
-# BB#0:
- i64.trunc_u/f64 $push0=, $0
- return $pop0
-func_end10:
- .size i64_trunc_u_f64, func_end10-i64_trunc_u_f64
-
- .globl f32_convert_s_i32
- .type f32_convert_s_i32,@function
-f32_convert_s_i32: # @f32_convert_s_i32
- .param i32
- .result f32
-# BB#0:
- f32.convert_s/i32 $push0=, $0
- return $pop0
-func_end11:
- .size f32_convert_s_i32, func_end11-f32_convert_s_i32
-
- .globl f32_convert_u_i32
- .type f32_convert_u_i32,@function
-f32_convert_u_i32: # @f32_convert_u_i32
- .param i32
- .result f32
-# BB#0:
- f32.convert_u/i32 $push0=, $0
- return $pop0
-func_end12:
- .size f32_convert_u_i32, func_end12-f32_convert_u_i32
-
- .globl f64_convert_s_i32
- .type f64_convert_s_i32,@function
-f64_convert_s_i32: # @f64_convert_s_i32
- .param i32
- .result f64
-# BB#0:
- f64.convert_s/i32 $push0=, $0
- return $pop0
-func_end13:
- .size f64_convert_s_i32, func_end13-f64_convert_s_i32
-
- .globl f64_convert_u_i32
- .type f64_convert_u_i32,@function
-f64_convert_u_i32: # @f64_convert_u_i32
- .param i32
- .result f64
-# BB#0:
- f64.convert_u/i32 $push0=, $0
- return $pop0
-func_end14:
- .size f64_convert_u_i32, func_end14-f64_convert_u_i32
-
- .globl f32_convert_s_i64
- .type f32_convert_s_i64,@function
-f32_convert_s_i64: # @f32_convert_s_i64
- .param i64
- .result f32
-# BB#0:
- f32.convert_s/i64 $push0=, $0
- return $pop0
-func_end15:
- .size f32_convert_s_i64, func_end15-f32_convert_s_i64
-
- .globl f32_convert_u_i64
- .type f32_convert_u_i64,@function
-f32_convert_u_i64: # @f32_convert_u_i64
- .param i64
- .result f32
-# BB#0:
- f32.convert_u/i64 $push0=, $0
- return $pop0
-func_end16:
- .size f32_convert_u_i64, func_end16-f32_convert_u_i64
-
- .globl f64_convert_s_i64
- .type f64_convert_s_i64,@function
-f64_convert_s_i64: # @f64_convert_s_i64
- .param i64
- .result f64
-# BB#0:
- f64.convert_s/i64 $push0=, $0
- return $pop0
-func_end17:
- .size f64_convert_s_i64, func_end17-f64_convert_s_i64
-
- .globl f64_convert_u_i64
- .type f64_convert_u_i64,@function
-f64_convert_u_i64: # @f64_convert_u_i64
- .param i64
- .result f64
-# BB#0:
- f64.convert_u/i64 $push0=, $0
- return $pop0
-func_end18:
- .size f64_convert_u_i64, func_end18-f64_convert_u_i64
-
- .globl f64_promote_f32
- .type f64_promote_f32,@function
-f64_promote_f32: # @f64_promote_f32
- .param f32
- .result f64
-# BB#0:
- f64.promote/f32 $push0=, $0
- return $pop0
-func_end19:
- .size f64_promote_f32, func_end19-f64_promote_f32
-
- .globl f32_demote_f64
- .type f32_demote_f64,@function
-f32_demote_f64: # @f32_demote_f64
- .param f64
- .result f32
-# BB#0:
- f32.demote/f64 $push0=, $0
- return $pop0
-func_end20:
- .size f32_demote_f64, func_end20-f32_demote_f64
-
- .globl anyext
- .type anyext,@function
-anyext: # @anyext
- .param i32
- .result i64
-# BB#0:
- i64.extend_u/i32 $push0=, $0
- i64.const $push1=, 32
- i64.shl $push2=, $pop0, $pop1
- return $pop2
-func_end21:
- .size anyext, func_end21-anyext
-
- .globl bitcast_i32_to_float
- .type bitcast_i32_to_float,@function
-bitcast_i32_to_float: # @bitcast_i32_to_float
- .param i32
- .result f32
-# BB#0:
- f32.reinterpret/i32 $push0=, $0
- return $pop0
-func_end22:
- .size bitcast_i32_to_float, func_end22-bitcast_i32_to_float
-
- .globl bitcast_float_to_i32
- .type bitcast_float_to_i32,@function
-bitcast_float_to_i32: # @bitcast_float_to_i32
- .param f32
- .result i32
-# BB#0:
- i32.reinterpret/f32 $push0=, $0
- return $pop0
-func_end23:
- .size bitcast_float_to_i32, func_end23-bitcast_float_to_i32
-
- .globl bitcast_i64_to_double
- .type bitcast_i64_to_double,@function
-bitcast_i64_to_double: # @bitcast_i64_to_double
- .param i64
- .result f64
-# BB#0:
- f64.reinterpret/i64 $push0=, $0
- return $pop0
-func_end24:
- .size bitcast_i64_to_double, func_end24-bitcast_i64_to_double
-
- .globl bitcast_double_to_i64
- .type bitcast_double_to_i64,@function
-bitcast_double_to_i64: # @bitcast_double_to_i64
- .param f64
- .result i64
-# BB#0:
- i64.reinterpret/f64 $push0=, $0
- return $pop0
-func_end25:
- .size bitcast_double_to_i64, func_end25-bitcast_double_to_i64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/copysign-casts.s b/prototype-wasmate/test/copysign-casts.s
deleted file mode 100644
index cfb3363..0000000
--- a/prototype-wasmate/test/copysign-casts.s
+++ /dev/null
@@ -1,28 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/copysign-casts.ll"
- .globl fold_promote
- .type fold_promote,@function
-fold_promote: # @fold_promote
- .param f64, f32
- .result f64
-# BB#0:
- f64.promote/f32 $push0=, $1
- f64.copysign $push1=, $0, $pop0
- return $pop1
-func_end0:
- .size fold_promote, func_end0-fold_promote
-
- .globl fold_demote
- .type fold_demote,@function
-fold_demote: # @fold_demote
- .param f32, f64
- .result f32
-# BB#0:
- f32.demote/f64 $push0=, $1
- f32.copysign $push1=, $0, $pop0
- return $pop1
-func_end1:
- .size fold_demote, func_end1-fold_demote
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/cpus.s b/prototype-wasmate/test/cpus.s
deleted file mode 100644
index 171252e..0000000
--- a/prototype-wasmate/test/cpus.s
+++ /dev/null
@@ -1,14 +0,0 @@
- .text
- .file "/usr/local/google/home/binji/dev/github/wasm-experimental/prototype-wasmate/third_party/llvm/test/CodeGen/WebAssembly/cpus.ll"
- .globl f
- .type f,@function
-f: # @f
- .param i32
- .result i32
-# BB#0:
- return $0
-func_end0:
- .size f, func_end0-f
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/data-offset-folding.s b/prototype-wasmate/test/data-offset-folding.s
deleted file mode 100644
index 3e3a7fe..0000000
--- a/prototype-wasmate/test/data-offset-folding.s
+++ /dev/null
@@ -1,19 +0,0 @@
- .data
- .type pad,@object # @pad
- .globl pad
- .align 2
-pad:
- .int32 0
- .type arr,@object # @arr
- .globl arr
- .align 4
-arr:
- .zero 400
- .size arr, 400
-
- .type ptr,@object # @ptr
- .globl ptr
- .align 2
-ptr:
- .int32 arr+80
- .size ptr, 4
diff --git a/prototype-wasmate/test/dead-vreg.s b/prototype-wasmate/test/dead-vreg.s
deleted file mode 100644
index 8198e32..0000000
--- a/prototype-wasmate/test/dead-vreg.s
+++ /dev/null
@@ -1,51 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/dead-vreg.ll"
- .globl foo
- .type foo,@function
-foo: # @foo
- .param i32, i32, i32
- .local i32, i32, i32, i32, i32, i32, i32
-# BB#0: # %entry
- i32.const $4=, 1
- i32.lt_s $push0=, $2, $4
- block BB0_5
- br_if $pop0, BB0_5
-# BB#1: # %for.cond.1.preheader.lr.ph
- i32.const $push1=, 2
- i32.shl $3=, $1, $pop1
- i32.const $5=, 0
- copy_local $6=, $5
-BB0_2: # %for.cond.1.preheader
- # =>This Loop Header: Depth=1
- # Child Loop BB0_3 Depth 2
- loop BB0_5
- i32.lt_s $push2=, $1, $4
- copy_local $7=, $5
- copy_local $8=, $0
- copy_local $9=, $1
- block BB0_4
- br_if $pop2, BB0_4
-BB0_3: # %for.body.3
- # Parent Loop BB0_2 Depth=1
- # => This Inner Loop Header: Depth=2
- loop BB0_4
- i32.const $push3=, -1
- i32.add $9=, $9, $pop3
- i32.store $discard=, 0($8), $7
- i32.const $push4=, 4
- i32.add $8=, $8, $pop4
- i32.add $7=, $7, $6
- br_if $9, BB0_3
-BB0_4: # %for.inc.5
- # in Loop: Header=BB0_2 Depth=1
- i32.add $6=, $6, $4
- i32.ne $push5=, $6, $2
- i32.add $0=, $0, $3
- br_if $pop5, BB0_2
-BB0_5: # %for.end.7
- return
-func_end0:
- .size foo, func_end0-foo
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/exit.s b/prototype-wasmate/test/exit.s
deleted file mode 100644
index 4724afc..0000000
--- a/prototype-wasmate/test/exit.s
+++ /dev/null
@@ -1,12 +0,0 @@
-.text
- .file "/s/newgit/native_client/toolchain_build/src/pnacl-gcc/gcc/testsuite/gcc.c-torture/execute/enum-1.c"
- .globl main
- .type main,@function
-main: # @main
- .result i32
- .local i32
-# BB#0: # %entry
- i32.const $push0=, 0
- call exit, $pop0
-func_end0:
- .size main, func_end0-main
diff --git a/prototype-wasmate/test/expected-output/alternate-lcomm.wast b/prototype-wasmate/test/expected-output/alternate-lcomm.wast
deleted file mode 100644
index 2a60063..0000000
--- a/prototype-wasmate/test/expected-output/alternate-lcomm.wast
+++ /dev/null
@@ -1,11 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (memory 4 4
- )
-)
diff --git a/prototype-wasmate/test/expected-output/call.wast b/prototype-wasmate/test/expected-output/call.wast
deleted file mode 100644
index f8b3a4f..0000000
--- a/prototype-wasmate/test/expected-output/call.wast
+++ /dev/null
@@ -1,82 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "call_i32_nullary" $call_i32_nullary)
- (export "call_i64_nullary" $call_i64_nullary)
- (export "call_float_nullary" $call_float_nullary)
- (export "call_double_nullary" $call_double_nullary)
- (export "call_void_nullary" $call_void_nullary)
- (export "call_i32_unary" $call_i32_unary)
- (export "call_i32_binary" $call_i32_binary)
- (export "call_indirect_void" $call_indirect_void)
- (export "call_indirect_i32" $call_indirect_i32)
- (export "tail_call_void_nullary" $tail_call_void_nullary)
- (export "fastcc_tail_call_void_nullary" $fastcc_tail_call_void_nullary)
- (export "coldcc_tail_call_void_nullary" $coldcc_tail_call_void_nullary)
- (func $call_i32_nullary
- (result i32)
- (return (call_import $i32_nullary))
- )
- (func $call_i64_nullary
- (result i64)
- (return (call_import $i64_nullary))
- )
- (func $call_float_nullary
- (result f32)
- (return (call_import $float_nullary))
- )
- (func $call_double_nullary
- (result f64)
- (return (call_import $double_nullary))
- )
- (func $call_void_nullary
- (call_import $void_nullary)
- (return)
- )
- (func $call_i32_unary
- (param i32)
- (result i32)
- (return (call_import $i32_unary (get_local 0)))
- )
- (func $call_i32_binary
- (param i32) (param i32)
- (result i32)
- (return (call_import $i32_binary (get_local 0) (get_local 1)))
- )
- (func $call_indirect_void
- (param i32)
- (call_indirect (get_local 0))
- (return)
- )
- (func $call_indirect_i32
- (param i32)
- (result i32)
- (return (call_indirect (get_local 0)))
- )
- (func $tail_call_void_nullary
- (call_import $void_nullary)
- (return)
- )
- (func $fastcc_tail_call_void_nullary
- (call_import $void_nullary)
- (return)
- )
- (func $coldcc_tail_call_void_nullary
- (call_import $void_nullary)
- (return)
- )
- (import $void_nullary "misctest" "void_nullary")
- (import $float_nullary "misctest" "float_nullary" (result f32))
- (import $i32_unary "misctest" "i32_unary" (param i32) (result i32))
- (import $i32_nullary "misctest" "i32_nullary" (result i32))
- (import $double_nullary "misctest" "double_nullary" (result f64))
- (import $i64_nullary "misctest" "i64_nullary" (result i64))
- (import $i32_binary "misctest" "i32_binary" (param i32 i32) (result i32))
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/cfg-stackify.wast b/prototype-wasmate/test/expected-output/cfg-stackify.wast
deleted file mode 100644
index e5e23b5..0000000
--- a/prototype-wasmate/test/expected-output/cfg-stackify.wast
+++ /dev/null
@@ -1,438 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "test0" $test0)
- (export "test1" $test1)
- (export "test2" $test2)
- (export "doublediamond" $doublediamond)
- (export "triangle" $triangle)
- (export "diamond" $diamond)
- (export "single_block" $single_block)
- (export "minimal_loop" $minimal_loop)
- (export "simple_loop" $simple_loop)
- (export "doubletriangle" $doubletriangle)
- (export "ifelse_earlyexits" $ifelse_earlyexits)
- (export "doublediamond_in_a_loop" $doublediamond_in_a_loop)
- (export "test3" $test3)
- (export "test4" $test4)
- (export "test5" $test5)
- (export "test6" $test6)
- (export "test7" $test7)
- (export "test8" $test8)
- (export "test9" $test9)
- (export "test10" $test10)
- (export "test11" $test11)
- (export "test12" $test12)
- (export "test13" $test13)
- (func $test0
- (param i32)
- (local i32)
- (set_local 1 (i32.const 0))
- (loop $BB0_3 $BB0_1
- (set_local 1 (i32.add (get_local 1) (i32.const 1)))
- (br_if (i32.ge_s (get_local 1) (get_local 0)) $BB0_3)
- (call_import $something)
- (br $BB0_1)
- )
- (return)
- )
- (func $test1
- (param i32)
- (local i32)
- (set_local 1 (i32.const 0))
- (loop $BB1_3 $BB1_1
- (set_local 1 (i32.add (get_local 1) (i32.const 1)))
- (br_if (i32.ge_s (get_local 1) (get_local 0)) $BB1_3)
- (call_import $something)
- (br $BB1_1)
- )
- (return)
- )
- (func $test2
- (param i32) (param i32)
- (block $BB2_2
- (br_if (i32.lt_s (get_local 1) (i32.const 1)) $BB2_2)
- (loop $BB2_2 $BB2_1
- (f64.store offset=0 (get_local 0) (f64.mul (f64.load offset=0 (get_local 0)) (f64.const 0x1.999999999999ap1)))
- (set_local 1 (i32.add (get_local 1) (i32.const -1)))
- (set_local 0 (i32.add (get_local 0) (i32.const 8)))
- (br_if (get_local 1) $BB2_1)
- )
- )
- (return)
- )
- (func $doublediamond
- (param i32) (param i32) (param i32)
- (result i32)
- (local i32)
- (set_local 3 (i32.store offset=0 (get_local 2) (i32.const 0)))
- (block $BB3_5
- (block $BB3_4
- (br_if (i32.eq (get_local 0) (i32.const 0)) $BB3_4)
- (i32.store offset=0 (get_local 2) (i32.const 2))
- (block $BB3_3
- (br_if (i32.eq (get_local 1) (i32.const 0)) $BB3_3)
- (i32.store offset=0 (get_local 2) (i32.const 4))
- (br $BB3_5)
- )
- (i32.store offset=0 (get_local 2) (i32.const 3))
- (br $BB3_5)
- )
- (i32.store offset=0 (get_local 2) (i32.const 1))
- )
- (i32.store offset=0 (get_local 2) (i32.const 5))
- (return (get_local 3))
- )
- (func $triangle
- (param i32) (param i32)
- (result i32)
- (local i32)
- (set_local 2 (i32.store offset=0 (get_local 0) (i32.const 0)))
- (block $BB4_2
- (br_if (get_local 1) $BB4_2)
- (i32.store offset=0 (get_local 0) (i32.const 1))
- )
- (i32.store offset=0 (get_local 0) (i32.const 2))
- (return (get_local 2))
- )
- (func $diamond
- (param i32) (param i32)
- (result i32)
- (local i32)
- (set_local 2 (i32.store offset=0 (get_local 0) (i32.const 0)))
- (block $BB5_3
- (block $BB5_2
- (br_if (i32.eq (get_local 1) (i32.const 0)) $BB5_2)
- (i32.store offset=0 (get_local 0) (i32.const 2))
- (br $BB5_3)
- )
- (i32.store offset=0 (get_local 0) (i32.const 1))
- )
- (i32.store offset=0 (get_local 0) (i32.const 3))
- (return (get_local 2))
- )
- (func $single_block
- (param i32)
- (result i32)
- (return (i32.store offset=0 (get_local 0) (i32.const 0)))
- )
- (func $minimal_loop
- (param i32)
- (result i32)
- (i32.store offset=0 (get_local 0) (i32.const 0))
- (loop $BB7_2 $BB7_1
- (i32.store offset=0 (get_local 0) (i32.const 1))
- (br $BB7_1)
- )
- )
- (func $simple_loop
- (param i32) (param i32)
- (result i32)
- (local i32)
- (set_local 2 (i32.store offset=0 (get_local 0) (i32.const 0)))
- (loop $BB8_2 $BB8_1
- (i32.store offset=0 (get_local 0) (i32.const 1))
- (br_if (i32.eq (get_local 1) (i32.const 0)) $BB8_1)
- )
- (i32.store offset=0 (get_local 0) (i32.const 2))
- (return (get_local 2))
- )
- (func $doubletriangle
- (param i32) (param i32) (param i32)
- (result i32)
- (local i32)
- (set_local 3 (i32.store offset=0 (get_local 2) (i32.const 0)))
- (block $BB9_4
- (br_if (get_local 0) $BB9_4)
- (i32.store offset=0 (get_local 2) (i32.const 2))
- (block $BB9_3
- (br_if (get_local 1) $BB9_3)
- (i32.store offset=0 (get_local 2) (i32.const 3))
- )
- (i32.store offset=0 (get_local 2) (i32.const 4))
- )
- (i32.store offset=0 (get_local 2) (i32.const 5))
- (return (get_local 3))
- )
- (func $ifelse_earlyexits
- (param i32) (param i32) (param i32)
- (result i32)
- (local i32)
- (set_local 3 (i32.store offset=0 (get_local 2) (i32.const 0)))
- (block $BB10_4
- (block $BB10_3
- (br_if (i32.eq (get_local 0) (i32.const 0)) $BB10_3)
- (i32.store offset=0 (get_local 2) (i32.const 2))
- (br_if (get_local 1) $BB10_4)
- (i32.store offset=0 (get_local 2) (i32.const 3))
- (br $BB10_4)
- )
- (i32.store offset=0 (get_local 2) (i32.const 1))
- )
- (i32.store offset=0 (get_local 2) (i32.const 4))
- (return (get_local 3))
- )
- (func $doublediamond_in_a_loop
- (param i32) (param i32) (param i32)
- (result i32)
- (loop $BB11_7 $BB11_1
- (i32.store offset=0 (get_local 2) (i32.const 0))
- (block $BB11_6
- (block $BB11_5
- (br_if (i32.eq (get_local 0) (i32.const 0)) $BB11_5)
- (i32.store offset=0 (get_local 2) (i32.const 2))
- (block $BB11_4
- (br_if (i32.eq (get_local 1) (i32.const 0)) $BB11_4)
- (i32.store offset=0 (get_local 2) (i32.const 4))
- (br $BB11_6)
- )
- (i32.store offset=0 (get_local 2) (i32.const 3))
- (br $BB11_6)
- )
- (i32.store offset=0 (get_local 2) (i32.const 1))
- )
- (i32.store offset=0 (get_local 2) (i32.const 5))
- (br $BB11_1)
- )
- )
- (func $test3
- (param i32)
- (block $BB12_2
- (br_if (i32.eq (i32.const 0) (i32.const 0)) $BB12_2)
- (return)
- )
- (loop $BB12_5 $BB12_2
- (br_if (get_local 0) $BB12_5)
- (loop $BB12_4 $BB12_3
- (br_if (i32.ne (get_local 0) (get_local 0)) $BB12_3)
- )
- (call_import $bar)
- (br $BB12_2)
- )
- (unreachable)
- )
- (func $test4
- (param i32)
- (block $BB13_8
- (block $BB13_7
- (block $BB13_4
- (br_if (i32.gt_s (get_local 0) (i32.const 3)) $BB13_4)
- (block $BB13_3
- (br_if (i32.eq (get_local 0) (i32.const 0)) $BB13_3)
- (br_if (i32.ne (get_local 0) (i32.const 2)) $BB13_7)
- )
- (return)
- )
- (br_if (i32.eq (get_local 0) (i32.const 4)) $BB13_8)
- (br_if (i32.ne (get_local 0) (i32.const 622)) $BB13_7)
- (return)
- )
- (return)
- )
- (return)
- )
- (func $test5
- (param i32) (param i32)
- (local i32 i32)
- (block $BB14_4
- (loop $BB14_3 $BB14_1
- (set_local 2 (i32.const 0))
- (set_local 3 (i32.store offset=0 (get_local 2) (get_local 2)))
- (set_local 2 (i32.const 1))
- (br_if (i32.eq (i32.and (get_local 0) (get_local 2)) (i32.const 0)) $BB14_4)
- (br_if (i32.and (get_local 1) (i32.store offset=0 (get_local 3) (get_local 2))) $BB14_1)
- )
- (i32.store offset=0 (get_local 3) (i32.const 3))
- (return)
- )
- (i32.store offset=0 (get_local 3) (i32.const 2))
- (return)
- )
- (func $test6
- (param i32) (param i32)
- (local i32 i32 i32)
- (block $BB15_6
- (block $BB15_5
- (loop $BB15_4 $BB15_1
- (set_local 2 (i32.const 0))
- (i32.store offset=0 (get_local 2) (get_local 2))
- (set_local 3 (i32.const 1))
- (br_if (i32.eq (i32.and (get_local 0) (get_local 3)) (i32.const 0)) $BB15_6)
- (i32.store offset=0 (get_local 2) (get_local 3))
- (set_local 4 (i32.and (get_local 1) (get_local 3)))
- (br_if (i32.eq (get_local 4) (i32.const 0)) $BB15_5)
- (i32.store offset=0 (get_local 2) (get_local 3))
- (br_if (get_local 4) $BB15_1)
- )
- (i32.store offset=0 (get_local 2) (i32.const 2))
- (return)
- )
- (i32.store offset=0 (get_local 2) (i32.const 3))
- )
- (i32.store offset=0 (get_local 2) (i32.const 4))
- (return)
- )
- (func $test7
- (param i32) (param i32)
- (local i32 i32)
- (set_local 3 (i32.const 0))
- (set_local 2 (i32.store offset=0 (get_local 3) (get_local 3)))
- (loop $BB16_5 $BB16_1
- (set_local 3 (i32.store offset=0 (get_local 2) (i32.const 1)))
- (block $BB16_4
- (br_if (i32.eq (i32.and (get_local 0) (get_local 3)) (i32.const 0)) $BB16_4)
- (i32.store offset=0 (get_local 2) (i32.const 3))
- (br_if (i32.and (get_local 1) (get_local 3)) $BB16_1)
- (i32.store offset=0 (get_local 2) (i32.const 5))
- (unreachable)
- )
- (i32.store offset=0 (get_local 2) (i32.const 2))
- (br_if (i32.and (get_local 1) (get_local 3)) $BB16_1)
- )
- (i32.store offset=0 (get_local 2) (i32.const 4))
- (unreachable)
- )
- (func $test8
- (result i32)
- (local i32)
- (set_local 0 (i32.const 0))
- (loop $BB17_4 $BB17_1
- (block $BB17_3
- (br_if (i32.eq (get_local 0) (i32.const 0)) $BB17_3)
- (br_if (i32.eq (get_local 0) (i32.const 0)) $BB17_1)
- )
- (loop $BB17_4 $BB17_3
- (br_if (get_local 0) $BB17_3)
- (br $BB17_1)
- )
- )
- )
- (func $test9
- (local i32 i32)
- (set_local 1 (i32.const 0))
- (set_local 0 (i32.store offset=0 (get_local 1) (get_local 1)))
- (loop $BB18_5 $BB18_1
- (set_local 1 (i32.store offset=0 (get_local 0) (i32.const 1)))
- (br_if (i32.eq (i32.and (call_import $a) (get_local 1)) (i32.const 0)) $BB18_5)
- (loop $BB18_5 $BB18_2
- (i32.store offset=0 (get_local 0) (i32.const 2))
- (block $BB18_4
- (br_if (i32.eq (i32.and (call_import $a) (get_local 1)) (i32.const 0)) $BB18_4)
- (i32.store offset=0 (get_local 0) (i32.const 3))
- (br_if (i32.and (call_import $a) (get_local 1)) $BB18_2)
- (br $BB18_1)
- )
- (i32.store offset=0 (get_local 0) (i32.const 4))
- (br_if (i32.and (call_import $a) (get_local 1)) $BB18_2)
- (br $BB18_1)
- )
- )
- (i32.store offset=0 (get_local 0) (i32.const 5))
- (return)
- )
- (func $test10
- (local i32 i32 i32 i32 i32)
- (set_local 0 (i32.const 2))
- (loop $BB19_7 $BB19_1
- (set_local 4 (get_local 1))
- (set_local 3 (get_local 0))
- (set_local 1 (i32.const 0))
- (set_local 0 (i32.const 3))
- (set_local 2 (i32.const 4))
- (br_if (get_local 4) $BB19_1)
- (block $BB19_6
- (loop $BB19_5 $BB19_2
- (set_local 4 (get_local 3))
- (set_local 3 (get_local 2))
- (loop $BB19_5 $BB19_3
- (set_local 2 (get_local 4))
- (br_if (i32.gt_u (get_local 2) (i32.const 4)) $BB19_1)
- (set_local 4 (get_local 3))
- (tableswitch (get_local 2) $BB19_3 $BB19_3 $BB19_5 $BB19_1 $BB19_2 $BB19_6)
- )
- )
- (return)
- )
- (set_local 1 (i32.const 1))
- (br $BB19_1)
- )
- )
- (func $test11
- (local i32)
- (set_local 0 (i32.const 0))
- (i32.store offset=0 (get_local 0) (get_local 0))
- (block $BB20_8
- (block $BB20_4
- (br_if (get_local 0) $BB20_4)
- (i32.store offset=0 (get_local 0) (i32.const 1))
- (block $BB20_3
- (br_if (get_local 0) $BB20_3)
- (i32.store offset=0 (get_local 0) (i32.const 2))
- (br_if (get_local 0) $BB20_8)
- )
- (i32.store offset=0 (get_local 0) (i32.const 3))
- (return)
- )
- (i32.store offset=0 (get_local 0) (i32.const 4))
- (block $BB20_6
- (br_if (i32.eq (get_local 0) (i32.const 0)) $BB20_6)
- (i32.store offset=0 (get_local 0) (i32.const 8))
- (return)
- )
- (i32.store offset=0 (get_local 0) (i32.const 5))
- (br_if (get_local 0) $BB20_8)
- (i32.store offset=0 (get_local 0) (i32.const 6))
- (return)
- )
- (i32.store offset=0 (get_local 0) (i32.const 7))
- (return)
- )
- (func $test12
- (param i32)
- (local i32)
- (loop $BB21_8 $BB21_1
- (set_local 1 (i32.load8_u offset=0 (get_local 0)))
- (block $BB21_7
- (block $BB21_6
- (block $BB21_4
- (br_if (i32.gt_s (get_local 1) (i32.const 103)) $BB21_4)
- (br_if (i32.eq (get_local 1) (i32.const 42)) $BB21_7)
- (br_if (i32.eq (get_local 1) (i32.const 76)) $BB21_7)
- (br $BB21_6)
- )
- (br_if (i32.eq (get_local 1) (i32.const 108)) $BB21_7)
- (br_if (i32.eq (get_local 1) (i32.const 104)) $BB21_7)
- )
- (return)
- )
- (set_local 0 (i32.add (get_local 0) (i32.const 1)))
- (br $BB21_1)
- )
- )
- (func $test13
- (local i32)
- (block $BB22_2
- (br_if (i32.eq (i32.const 0) (i32.const 0)) $BB22_2)
- (return)
- )
- (set_local 0 (i32.const 0))
- (block $BB22_4
- (br_if (get_local 0) $BB22_4)
- (set_local 0 (i32.const 0))
- )
- (block $BB22_5
- (br_if (i32.eq (i32.and (get_local 0) (i32.const 1)) (i32.const 0)) $BB22_5)
- )
- (unreachable)
- )
- (import $a "misctest" "a" (param i32))
- (import $bar "misctest" "bar")
- (import $something "misctest" "something")
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/comparisons_f32.wast b/prototype-wasmate/test/expected-output/comparisons_f32.wast
deleted file mode 100644
index 9a17f30..0000000
--- a/prototype-wasmate/test/expected-output/comparisons_f32.wast
+++ /dev/null
@@ -1,95 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "ord_f32" $ord_f32)
- (export "uno_f32" $uno_f32)
- (export "oeq_f32" $oeq_f32)
- (export "une_f32" $une_f32)
- (export "olt_f32" $olt_f32)
- (export "ole_f32" $ole_f32)
- (export "ogt_f32" $ogt_f32)
- (export "oge_f32" $oge_f32)
- (export "ueq_f32" $ueq_f32)
- (export "one_f32" $one_f32)
- (export "ult_f32" $ult_f32)
- (export "ule_f32" $ule_f32)
- (export "ugt_f32" $ugt_f32)
- (export "uge_f32" $uge_f32)
- (func $ord_f32
- (param f32) (param f32)
- (result i32)
- (return (i32.and (f32.eq (get_local 0) (get_local 0)) (f32.eq (get_local 1) (get_local 1))))
- )
- (func $uno_f32
- (param f32) (param f32)
- (result i32)
- (return (i32.or (f32.ne (get_local 0) (get_local 0)) (f32.ne (get_local 1) (get_local 1))))
- )
- (func $oeq_f32
- (param f32) (param f32)
- (result i32)
- (return (f32.eq (get_local 0) (get_local 1)))
- )
- (func $une_f32
- (param f32) (param f32)
- (result i32)
- (return (f32.ne (get_local 0) (get_local 1)))
- )
- (func $olt_f32
- (param f32) (param f32)
- (result i32)
- (return (f32.lt (get_local 0) (get_local 1)))
- )
- (func $ole_f32
- (param f32) (param f32)
- (result i32)
- (return (f32.le (get_local 0) (get_local 1)))
- )
- (func $ogt_f32
- (param f32) (param f32)
- (result i32)
- (return (f32.gt (get_local 0) (get_local 1)))
- )
- (func $oge_f32
- (param f32) (param f32)
- (result i32)
- (return (f32.ge (get_local 0) (get_local 1)))
- )
- (func $ueq_f32
- (param f32) (param f32)
- (result i32)
- (return (i32.or (f32.eq (get_local 0) (get_local 1)) (i32.or (f32.ne (get_local 0) (get_local 0)) (f32.ne (get_local 1) (get_local 1)))))
- )
- (func $one_f32
- (param f32) (param f32)
- (result i32)
- (return (i32.and (f32.ne (get_local 0) (get_local 1)) (i32.and (f32.eq (get_local 0) (get_local 0)) (f32.eq (get_local 1) (get_local 1)))))
- )
- (func $ult_f32
- (param f32) (param f32)
- (result i32)
- (return (i32.or (f32.lt (get_local 0) (get_local 1)) (i32.or (f32.ne (get_local 0) (get_local 0)) (f32.ne (get_local 1) (get_local 1)))))
- )
- (func $ule_f32
- (param f32) (param f32)
- (result i32)
- (return (i32.or (f32.le (get_local 0) (get_local 1)) (i32.or (f32.ne (get_local 0) (get_local 0)) (f32.ne (get_local 1) (get_local 1)))))
- )
- (func $ugt_f32
- (param f32) (param f32)
- (result i32)
- (return (i32.or (f32.gt (get_local 0) (get_local 1)) (i32.or (f32.ne (get_local 0) (get_local 0)) (f32.ne (get_local 1) (get_local 1)))))
- )
- (func $uge_f32
- (param f32) (param f32)
- (result i32)
- (return (i32.or (f32.ge (get_local 0) (get_local 1)) (i32.or (f32.ne (get_local 0) (get_local 0)) (f32.ne (get_local 1) (get_local 1)))))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/comparisons_f64.wast b/prototype-wasmate/test/expected-output/comparisons_f64.wast
deleted file mode 100644
index 1d61bda..0000000
--- a/prototype-wasmate/test/expected-output/comparisons_f64.wast
+++ /dev/null
@@ -1,95 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "ord_f64" $ord_f64)
- (export "uno_f64" $uno_f64)
- (export "oeq_f64" $oeq_f64)
- (export "une_f64" $une_f64)
- (export "olt_f64" $olt_f64)
- (export "ole_f64" $ole_f64)
- (export "ogt_f64" $ogt_f64)
- (export "oge_f64" $oge_f64)
- (export "ueq_f64" $ueq_f64)
- (export "one_f64" $one_f64)
- (export "ult_f64" $ult_f64)
- (export "ule_f64" $ule_f64)
- (export "ugt_f64" $ugt_f64)
- (export "uge_f64" $uge_f64)
- (func $ord_f64
- (param f64) (param f64)
- (result i32)
- (return (i32.and (f64.eq (get_local 0) (get_local 0)) (f64.eq (get_local 1) (get_local 1))))
- )
- (func $uno_f64
- (param f64) (param f64)
- (result i32)
- (return (i32.or (f64.ne (get_local 0) (get_local 0)) (f64.ne (get_local 1) (get_local 1))))
- )
- (func $oeq_f64
- (param f64) (param f64)
- (result i32)
- (return (f64.eq (get_local 0) (get_local 1)))
- )
- (func $une_f64
- (param f64) (param f64)
- (result i32)
- (return (f64.ne (get_local 0) (get_local 1)))
- )
- (func $olt_f64
- (param f64) (param f64)
- (result i32)
- (return (f64.lt (get_local 0) (get_local 1)))
- )
- (func $ole_f64
- (param f64) (param f64)
- (result i32)
- (return (f64.le (get_local 0) (get_local 1)))
- )
- (func $ogt_f64
- (param f64) (param f64)
- (result i32)
- (return (f64.gt (get_local 0) (get_local 1)))
- )
- (func $oge_f64
- (param f64) (param f64)
- (result i32)
- (return (f64.ge (get_local 0) (get_local 1)))
- )
- (func $ueq_f64
- (param f64) (param f64)
- (result i32)
- (return (i32.or (f64.eq (get_local 0) (get_local 1)) (i32.or (f64.ne (get_local 0) (get_local 0)) (f64.ne (get_local 1) (get_local 1)))))
- )
- (func $one_f64
- (param f64) (param f64)
- (result i32)
- (return (i32.and (f64.ne (get_local 0) (get_local 1)) (i32.and (f64.eq (get_local 0) (get_local 0)) (f64.eq (get_local 1) (get_local 1)))))
- )
- (func $ult_f64
- (param f64) (param f64)
- (result i32)
- (return (i32.or (f64.lt (get_local 0) (get_local 1)) (i32.or (f64.ne (get_local 0) (get_local 0)) (f64.ne (get_local 1) (get_local 1)))))
- )
- (func $ule_f64
- (param f64) (param f64)
- (result i32)
- (return (i32.or (f64.le (get_local 0) (get_local 1)) (i32.or (f64.ne (get_local 0) (get_local 0)) (f64.ne (get_local 1) (get_local 1)))))
- )
- (func $ugt_f64
- (param f64) (param f64)
- (result i32)
- (return (i32.or (f64.gt (get_local 0) (get_local 1)) (i32.or (f64.ne (get_local 0) (get_local 0)) (f64.ne (get_local 1) (get_local 1)))))
- )
- (func $uge_f64
- (param f64) (param f64)
- (result i32)
- (return (i32.or (f64.ge (get_local 0) (get_local 1)) (i32.or (f64.ne (get_local 0) (get_local 0)) (f64.ne (get_local 1) (get_local 1)))))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/comparisons_i32.wast b/prototype-wasmate/test/expected-output/comparisons_i32.wast
deleted file mode 100644
index 9d804fa..0000000
--- a/prototype-wasmate/test/expected-output/comparisons_i32.wast
+++ /dev/null
@@ -1,71 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "eq_i32" $eq_i32)
- (export "ne_i32" $ne_i32)
- (export "slt_i32" $slt_i32)
- (export "sle_i32" $sle_i32)
- (export "ult_i32" $ult_i32)
- (export "ule_i32" $ule_i32)
- (export "sgt_i32" $sgt_i32)
- (export "sge_i32" $sge_i32)
- (export "ugt_i32" $ugt_i32)
- (export "uge_i32" $uge_i32)
- (func $eq_i32
- (param i32) (param i32)
- (result i32)
- (return (i32.eq (get_local 0) (get_local 1)))
- )
- (func $ne_i32
- (param i32) (param i32)
- (result i32)
- (return (i32.ne (get_local 0) (get_local 1)))
- )
- (func $slt_i32
- (param i32) (param i32)
- (result i32)
- (return (i32.lt_s (get_local 0) (get_local 1)))
- )
- (func $sle_i32
- (param i32) (param i32)
- (result i32)
- (return (i32.le_s (get_local 0) (get_local 1)))
- )
- (func $ult_i32
- (param i32) (param i32)
- (result i32)
- (return (i32.lt_u (get_local 0) (get_local 1)))
- )
- (func $ule_i32
- (param i32) (param i32)
- (result i32)
- (return (i32.le_u (get_local 0) (get_local 1)))
- )
- (func $sgt_i32
- (param i32) (param i32)
- (result i32)
- (return (i32.gt_s (get_local 0) (get_local 1)))
- )
- (func $sge_i32
- (param i32) (param i32)
- (result i32)
- (return (i32.ge_s (get_local 0) (get_local 1)))
- )
- (func $ugt_i32
- (param i32) (param i32)
- (result i32)
- (return (i32.gt_u (get_local 0) (get_local 1)))
- )
- (func $uge_i32
- (param i32) (param i32)
- (result i32)
- (return (i32.ge_u (get_local 0) (get_local 1)))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/comparisons_i64.wast b/prototype-wasmate/test/expected-output/comparisons_i64.wast
deleted file mode 100644
index 815d90e..0000000
--- a/prototype-wasmate/test/expected-output/comparisons_i64.wast
+++ /dev/null
@@ -1,71 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "eq_i64" $eq_i64)
- (export "ne_i64" $ne_i64)
- (export "slt_i64" $slt_i64)
- (export "sle_i64" $sle_i64)
- (export "ult_i64" $ult_i64)
- (export "ule_i64" $ule_i64)
- (export "sgt_i64" $sgt_i64)
- (export "sge_i64" $sge_i64)
- (export "ugt_i64" $ugt_i64)
- (export "uge_i64" $uge_i64)
- (func $eq_i64
- (param i64) (param i64)
- (result i32)
- (return (i64.eq (get_local 0) (get_local 1)))
- )
- (func $ne_i64
- (param i64) (param i64)
- (result i32)
- (return (i64.ne (get_local 0) (get_local 1)))
- )
- (func $slt_i64
- (param i64) (param i64)
- (result i32)
- (return (i64.lt_s (get_local 0) (get_local 1)))
- )
- (func $sle_i64
- (param i64) (param i64)
- (result i32)
- (return (i64.le_s (get_local 0) (get_local 1)))
- )
- (func $ult_i64
- (param i64) (param i64)
- (result i32)
- (return (i64.lt_u (get_local 0) (get_local 1)))
- )
- (func $ule_i64
- (param i64) (param i64)
- (result i32)
- (return (i64.le_u (get_local 0) (get_local 1)))
- )
- (func $sgt_i64
- (param i64) (param i64)
- (result i32)
- (return (i64.gt_s (get_local 0) (get_local 1)))
- )
- (func $sge_i64
- (param i64) (param i64)
- (result i32)
- (return (i64.ge_s (get_local 0) (get_local 1)))
- )
- (func $ugt_i64
- (param i64) (param i64)
- (result i32)
- (return (i64.gt_u (get_local 0) (get_local 1)))
- )
- (func $uge_i64
- (param i64) (param i64)
- (result i32)
- (return (i64.ge_u (get_local 0) (get_local 1)))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/conv.wast b/prototype-wasmate/test/expected-output/conv.wast
deleted file mode 100644
index 120e582..0000000
--- a/prototype-wasmate/test/expected-output/conv.wast
+++ /dev/null
@@ -1,167 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "i32_wrap_i64" $i32_wrap_i64)
- (export "i64_extend_s_i32" $i64_extend_s_i32)
- (export "i64_extend_u_i32" $i64_extend_u_i32)
- (export "i32_trunc_s_f32" $i32_trunc_s_f32)
- (export "i32_trunc_u_f32" $i32_trunc_u_f32)
- (export "i32_trunc_s_f64" $i32_trunc_s_f64)
- (export "i32_trunc_u_f64" $i32_trunc_u_f64)
- (export "i64_trunc_s_f32" $i64_trunc_s_f32)
- (export "i64_trunc_u_f32" $i64_trunc_u_f32)
- (export "i64_trunc_s_f64" $i64_trunc_s_f64)
- (export "i64_trunc_u_f64" $i64_trunc_u_f64)
- (export "f32_convert_s_i32" $f32_convert_s_i32)
- (export "f32_convert_u_i32" $f32_convert_u_i32)
- (export "f64_convert_s_i32" $f64_convert_s_i32)
- (export "f64_convert_u_i32" $f64_convert_u_i32)
- (export "f32_convert_s_i64" $f32_convert_s_i64)
- (export "f32_convert_u_i64" $f32_convert_u_i64)
- (export "f64_convert_s_i64" $f64_convert_s_i64)
- (export "f64_convert_u_i64" $f64_convert_u_i64)
- (export "f64_promote_f32" $f64_promote_f32)
- (export "f32_demote_f64" $f32_demote_f64)
- (export "anyext" $anyext)
- (export "bitcast_i32_to_float" $bitcast_i32_to_float)
- (export "bitcast_float_to_i32" $bitcast_float_to_i32)
- (export "bitcast_i64_to_double" $bitcast_i64_to_double)
- (export "bitcast_double_to_i64" $bitcast_double_to_i64)
- (func $i32_wrap_i64
- (param i64)
- (result i32)
- (return (i32.wrap/i64 (get_local 0)))
- )
- (func $i64_extend_s_i32
- (param i32)
- (result i64)
- (return (i64.extend_s/i32 (get_local 0)))
- )
- (func $i64_extend_u_i32
- (param i32)
- (result i64)
- (return (i64.extend_u/i32 (get_local 0)))
- )
- (func $i32_trunc_s_f32
- (param f32)
- (result i32)
- (return (i32.trunc_s/f32 (get_local 0)))
- )
- (func $i32_trunc_u_f32
- (param f32)
- (result i32)
- (return (i32.trunc_u/f32 (get_local 0)))
- )
- (func $i32_trunc_s_f64
- (param f64)
- (result i32)
- (return (i32.trunc_s/f64 (get_local 0)))
- )
- (func $i32_trunc_u_f64
- (param f64)
- (result i32)
- (return (i32.trunc_u/f64 (get_local 0)))
- )
- (func $i64_trunc_s_f32
- (param f32)
- (result i64)
- (return (i64.trunc_s/f32 (get_local 0)))
- )
- (func $i64_trunc_u_f32
- (param f32)
- (result i64)
- (return (i64.trunc_u/f32 (get_local 0)))
- )
- (func $i64_trunc_s_f64
- (param f64)
- (result i64)
- (return (i64.trunc_s/f64 (get_local 0)))
- )
- (func $i64_trunc_u_f64
- (param f64)
- (result i64)
- (return (i64.trunc_u/f64 (get_local 0)))
- )
- (func $f32_convert_s_i32
- (param i32)
- (result f32)
- (return (f32.convert_s/i32 (get_local 0)))
- )
- (func $f32_convert_u_i32
- (param i32)
- (result f32)
- (return (f32.convert_u/i32 (get_local 0)))
- )
- (func $f64_convert_s_i32
- (param i32)
- (result f64)
- (return (f64.convert_s/i32 (get_local 0)))
- )
- (func $f64_convert_u_i32
- (param i32)
- (result f64)
- (return (f64.convert_u/i32 (get_local 0)))
- )
- (func $f32_convert_s_i64
- (param i64)
- (result f32)
- (return (f32.convert_s/i64 (get_local 0)))
- )
- (func $f32_convert_u_i64
- (param i64)
- (result f32)
- (return (f32.convert_u/i64 (get_local 0)))
- )
- (func $f64_convert_s_i64
- (param i64)
- (result f64)
- (return (f64.convert_s/i64 (get_local 0)))
- )
- (func $f64_convert_u_i64
- (param i64)
- (result f64)
- (return (f64.convert_u/i64 (get_local 0)))
- )
- (func $f64_promote_f32
- (param f32)
- (result f64)
- (return (f64.promote/f32 (get_local 0)))
- )
- (func $f32_demote_f64
- (param f64)
- (result f32)
- (return (f32.demote/f64 (get_local 0)))
- )
- (func $anyext
- (param i32)
- (result i64)
- (return (i64.shl (i64.extend_u/i32 (get_local 0)) (i64.const 32)))
- )
- (func $bitcast_i32_to_float
- (param i32)
- (result f32)
- (return (f32.reinterpret/i32 (get_local 0)))
- )
- (func $bitcast_float_to_i32
- (param f32)
- (result i32)
- (return (i32.reinterpret/f32 (get_local 0)))
- )
- (func $bitcast_i64_to_double
- (param i64)
- (result f64)
- (return (f64.reinterpret/i64 (get_local 0)))
- )
- (func $bitcast_double_to_i64
- (param f64)
- (result i64)
- (return (i64.reinterpret/f64 (get_local 0)))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/copysign-casts.wast b/prototype-wasmate/test/expected-output/copysign-casts.wast
deleted file mode 100644
index 7e8a488..0000000
--- a/prototype-wasmate/test/expected-output/copysign-casts.wast
+++ /dev/null
@@ -1,23 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "fold_promote" $fold_promote)
- (export "fold_demote" $fold_demote)
- (func $fold_promote
- (param f64) (param f32)
- (result f64)
- (return (f64.copysign (get_local 0) (f64.promote/f32 (get_local 1))))
- )
- (func $fold_demote
- (param f32) (param f64)
- (result f32)
- (return (f32.copysign (get_local 0) (f32.demote/f64 (get_local 1))))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/cpus.wast b/prototype-wasmate/test/expected-output/cpus.wast
deleted file mode 100644
index 8a51a3e..0000000
--- a/prototype-wasmate/test/expected-output/cpus.wast
+++ /dev/null
@@ -1,17 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "f" $f)
- (func $f
- (param i32)
- (result i32)
- (return (get_local 0))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/data-offset-folding.wast b/prototype-wasmate/test/expected-output/data-offset-folding.wast
deleted file mode 100644
index 954e5d8..0000000
--- a/prototype-wasmate/test/expected-output/data-offset-folding.wast
+++ /dev/null
@@ -1,14 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (memory 420 420
- (segment 416
- "`\00\00\00"
- )
- )
-)
diff --git a/prototype-wasmate/test/expected-output/dead-vreg.wast b/prototype-wasmate/test/expected-output/dead-vreg.wast
deleted file mode 100644
index ba66506..0000000
--- a/prototype-wasmate/test/expected-output/dead-vreg.wast
+++ /dev/null
@@ -1,42 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "foo" $foo)
- (func $foo
- (param i32) (param i32) (param i32)
- (local i32 i32 i32 i32 i32 i32 i32)
- (set_local 4 (i32.const 1))
- (block $BB0_5
- (br_if (i32.lt_s (get_local 2) (get_local 4)) $BB0_5)
- (set_local 3 (i32.shl (get_local 1) (i32.const 2)))
- (set_local 5 (i32.const 0))
- (set_local 6 (get_local 5))
- (loop $BB0_5 $BB0_2
- (set_local 7 (get_local 5))
- (set_local 8 (get_local 0))
- (set_local 9 (get_local 1))
- (block $BB0_4
- (br_if (i32.lt_s (get_local 1) (get_local 4)) $BB0_4)
- (loop $BB0_4 $BB0_3
- (set_local 9 (i32.add (get_local 9) (i32.const -1)))
- (i32.store offset=0 (get_local 8) (get_local 7))
- (set_local 8 (i32.add (get_local 8) (i32.const 4)))
- (set_local 7 (i32.add (get_local 7) (get_local 6)))
- (br_if (get_local 9) $BB0_3)
- )
- )
- (set_local 6 (i32.add (get_local 6) (get_local 4)))
- (set_local 0 (i32.add (get_local 0) (get_local 3)))
- (br_if (i32.ne (get_local 6) (get_local 2)) $BB0_2)
- )
- )
- (return)
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/exit.wast b/prototype-wasmate/test/expected-output/exit.wast
deleted file mode 100644
index 2e30ebb..0000000
--- a/prototype-wasmate/test/expected-output/exit.wast
+++ /dev/null
@@ -1,18 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "main" $main)
- (func $main
- (result i32)
- (local i32)
- (call_import $exit (i32.const 0))
- )
- (import $exit "misctest" "exit" (param i32))
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/f32.wast b/prototype-wasmate/test/expected-output/f32.wast
deleted file mode 100644
index a192c19..0000000
--- a/prototype-wasmate/test/expected-output/f32.wast
+++ /dev/null
@@ -1,107 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "fadd32" $fadd32)
- (export "fsub32" $fsub32)
- (export "fmul32" $fmul32)
- (export "fdiv32" $fdiv32)
- (export "fabs32" $fabs32)
- (export "fneg32" $fneg32)
- (export "copysign32" $copysign32)
- (export "sqrt32" $sqrt32)
- (export "ceil32" $ceil32)
- (export "floor32" $floor32)
- (export "trunc32" $trunc32)
- (export "nearest32" $nearest32)
- (export "nearest32_via_rint" $nearest32_via_rint)
- (export "fmin32" $fmin32)
- (export "fmax32" $fmax32)
- (export "fma32" $fma32)
- (func $fadd32
- (param f32) (param f32)
- (result f32)
- (return (f32.add (get_local 0) (get_local 1)))
- )
- (func $fsub32
- (param f32) (param f32)
- (result f32)
- (return (f32.sub (get_local 0) (get_local 1)))
- )
- (func $fmul32
- (param f32) (param f32)
- (result f32)
- (return (f32.mul (get_local 0) (get_local 1)))
- )
- (func $fdiv32
- (param f32) (param f32)
- (result f32)
- (return (f32.div (get_local 0) (get_local 1)))
- )
- (func $fabs32
- (param f32)
- (result f32)
- (return (f32.abs (get_local 0)))
- )
- (func $fneg32
- (param f32)
- (result f32)
- (return (f32.neg (get_local 0)))
- )
- (func $copysign32
- (param f32) (param f32)
- (result f32)
- (return (f32.copysign (get_local 0) (get_local 1)))
- )
- (func $sqrt32
- (param f32)
- (result f32)
- (return (f32.sqrt (get_local 0)))
- )
- (func $ceil32
- (param f32)
- (result f32)
- (return (f32.ceil (get_local 0)))
- )
- (func $floor32
- (param f32)
- (result f32)
- (return (f32.floor (get_local 0)))
- )
- (func $trunc32
- (param f32)
- (result f32)
- (return (f32.trunc (get_local 0)))
- )
- (func $nearest32
- (param f32)
- (result f32)
- (return (f32.nearest (get_local 0)))
- )
- (func $nearest32_via_rint
- (param f32)
- (result f32)
- (return (f32.nearest (get_local 0)))
- )
- (func $fmin32
- (param f32)
- (result f32)
- (return (f32.min (get_local 0) (f32.const 0x0p0)))
- )
- (func $fmax32
- (param f32)
- (result f32)
- (return (f32.max (get_local 0) (f32.const 0x0p0)))
- )
- (func $fma32
- (param f32) (param f32) (param f32)
- (result f32)
- (return (call $fmaf (get_local 0) (get_local 1) (get_local 2)))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/f64.wast b/prototype-wasmate/test/expected-output/f64.wast
deleted file mode 100644
index b2ad90c..0000000
--- a/prototype-wasmate/test/expected-output/f64.wast
+++ /dev/null
@@ -1,107 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "fadd64" $fadd64)
- (export "fsub64" $fsub64)
- (export "fmul64" $fmul64)
- (export "fdiv64" $fdiv64)
- (export "fabs64" $fabs64)
- (export "fneg64" $fneg64)
- (export "copysign64" $copysign64)
- (export "sqrt64" $sqrt64)
- (export "ceil64" $ceil64)
- (export "floor64" $floor64)
- (export "trunc64" $trunc64)
- (export "nearest64" $nearest64)
- (export "nearest64_via_rint" $nearest64_via_rint)
- (export "fmin64" $fmin64)
- (export "fmax64" $fmax64)
- (export "fma64" $fma64)
- (func $fadd64
- (param f64) (param f64)
- (result f64)
- (return (f64.add (get_local 0) (get_local 1)))
- )
- (func $fsub64
- (param f64) (param f64)
- (result f64)
- (return (f64.sub (get_local 0) (get_local 1)))
- )
- (func $fmul64
- (param f64) (param f64)
- (result f64)
- (return (f64.mul (get_local 0) (get_local 1)))
- )
- (func $fdiv64
- (param f64) (param f64)
- (result f64)
- (return (f64.div (get_local 0) (get_local 1)))
- )
- (func $fabs64
- (param f64)
- (result f64)
- (return (f64.abs (get_local 0)))
- )
- (func $fneg64
- (param f64)
- (result f64)
- (return (f64.neg (get_local 0)))
- )
- (func $copysign64
- (param f64) (param f64)
- (result f64)
- (return (f64.copysign (get_local 0) (get_local 1)))
- )
- (func $sqrt64
- (param f64)
- (result f64)
- (return (f64.sqrt (get_local 0)))
- )
- (func $ceil64
- (param f64)
- (result f64)
- (return (f64.ceil (get_local 0)))
- )
- (func $floor64
- (param f64)
- (result f64)
- (return (f64.floor (get_local 0)))
- )
- (func $trunc64
- (param f64)
- (result f64)
- (return (f64.trunc (get_local 0)))
- )
- (func $nearest64
- (param f64)
- (result f64)
- (return (f64.nearest (get_local 0)))
- )
- (func $nearest64_via_rint
- (param f64)
- (result f64)
- (return (f64.nearest (get_local 0)))
- )
- (func $fmin64
- (param f64)
- (result f64)
- (return (f64.min (get_local 0) (f64.const 0x0p0)))
- )
- (func $fmax64
- (param f64)
- (result f64)
- (return (f64.max (get_local 0) (f64.const 0x0p0)))
- )
- (func $fma64
- (param f64) (param f64) (param f64)
- (result f64)
- (return (call $fma (get_local 0) (get_local 1) (get_local 2)))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/fast-isel.wast b/prototype-wasmate/test/expected-output/fast-isel.wast
deleted file mode 100644
index e4a9109..0000000
--- a/prototype-wasmate/test/expected-output/fast-isel.wast
+++ /dev/null
@@ -1,21 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "immediate_f32" $immediate_f32)
- (export "immediate_f64" $immediate_f64)
- (func $immediate_f32
- (result f32)
- (return (f32.const 0x1.4p1))
- )
- (func $immediate_f64
- (result f64)
- (return (f64.const 0x1.4p1))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/frem.wast b/prototype-wasmate/test/expected-output/frem.wast
deleted file mode 100644
index 525a2aa..0000000
--- a/prototype-wasmate/test/expected-output/frem.wast
+++ /dev/null
@@ -1,23 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "frem32" $frem32)
- (export "frem64" $frem64)
- (func $frem32
- (param f32) (param f32)
- (result f32)
- (return (call $fmodf (get_local 0) (get_local 1)))
- )
- (func $frem64
- (param f64) (param f64)
- (result f64)
- (return (call $fmod (get_local 0) (get_local 1)))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/func.wast b/prototype-wasmate/test/expected-output/func.wast
deleted file mode 100644
index 1d90cf7..0000000
--- a/prototype-wasmate/test/expected-output/func.wast
+++ /dev/null
@@ -1,48 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "f0" $f0)
- (export "f1" $f1)
- (export "f2" $f2)
- (export "f3" $f3)
- (export "f4" $f4)
- (export "f5" $f5)
- (func $f0
- (return)
- )
- (func $f1
- (result i32)
- (return (i32.const 0))
- )
- (func $f2
- (param i32) (param f32)
- (result i32)
- (return (i32.const 0))
- )
- (func $f3
- (param i32) (param f32)
- (return)
- )
- (func $f4
- (param i32)
- (result i32)
- (local i32)
- (set_local 1 (i32.const 1))
- (block $BB4_2
- (br_if (i32.eq (i32.and (get_local 0) (get_local 1)) (i32.const 0)) $BB4_2)
- (return (i32.const 0))
- )
- (return (get_local 1))
- )
- (func $f5
- (result f32)
- (unreachable)
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/global.wast b/prototype-wasmate/test/expected-output/global.wast
deleted file mode 100644
index 3d300ac..0000000
--- a/prototype-wasmate/test/expected-output/global.wast
+++ /dev/null
@@ -1,27 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "foo" $foo)
- (export "call_memcpy" $call_memcpy)
- (func $foo
- (result i32)
- (return (i32.load offset=20 (i32.const 0)))
- )
- (func $call_memcpy
- (param i32) (param i32) (param i32)
- (result i32)
- (call_import $memcpy (get_local 0) (get_local 1) (get_local 2))
- (return (get_local 0))
- )
- (import $memcpy "misctest" "memcpy" (param i32 i32 i32) (result i32))
- (memory 1184 1184
- (segment 0
- "9\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00*\00\00\00\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\e0\00\00\00"
- )
- )
-)
diff --git a/prototype-wasmate/test/expected-output/globl.wast b/prototype-wasmate/test/expected-output/globl.wast
deleted file mode 100644
index 6f969ed..0000000
--- a/prototype-wasmate/test/expected-output/globl.wast
+++ /dev/null
@@ -1,15 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "foo" $foo)
- (func $foo
- (return)
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/i32.wast b/prototype-wasmate/test/expected-output/i32.wast
deleted file mode 100644
index 8bd95df..0000000
--- a/prototype-wasmate/test/expected-output/i32.wast
+++ /dev/null
@@ -1,119 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "add32" $add32)
- (export "sub32" $sub32)
- (export "mul32" $mul32)
- (export "sdiv32" $sdiv32)
- (export "udiv32" $udiv32)
- (export "srem32" $srem32)
- (export "urem32" $urem32)
- (export "and32" $and32)
- (export "or32" $or32)
- (export "xor32" $xor32)
- (export "shl32" $shl32)
- (export "shr32" $shr32)
- (export "sar32" $sar32)
- (export "clz32" $clz32)
- (export "clz32_zero_undef" $clz32_zero_undef)
- (export "ctz32" $ctz32)
- (export "ctz32_zero_undef" $ctz32_zero_undef)
- (export "popcnt32" $popcnt32)
- (func $add32
- (param i32) (param i32)
- (result i32)
- (return (i32.add (get_local 0) (get_local 1)))
- )
- (func $sub32
- (param i32) (param i32)
- (result i32)
- (return (i32.sub (get_local 0) (get_local 1)))
- )
- (func $mul32
- (param i32) (param i32)
- (result i32)
- (return (i32.mul (get_local 0) (get_local 1)))
- )
- (func $sdiv32
- (param i32) (param i32)
- (result i32)
- (return (i32.div_s (get_local 0) (get_local 1)))
- )
- (func $udiv32
- (param i32) (param i32)
- (result i32)
- (return (i32.div_u (get_local 0) (get_local 1)))
- )
- (func $srem32
- (param i32) (param i32)
- (result i32)
- (return (i32.rem_s (get_local 0) (get_local 1)))
- )
- (func $urem32
- (param i32) (param i32)
- (result i32)
- (return (i32.rem_u (get_local 0) (get_local 1)))
- )
- (func $and32
- (param i32) (param i32)
- (result i32)
- (return (i32.and (get_local 0) (get_local 1)))
- )
- (func $or32
- (param i32) (param i32)
- (result i32)
- (return (i32.or (get_local 0) (get_local 1)))
- )
- (func $xor32
- (param i32) (param i32)
- (result i32)
- (return (i32.xor (get_local 0) (get_local 1)))
- )
- (func $shl32
- (param i32) (param i32)
- (result i32)
- (return (i32.shl (get_local 0) (get_local 1)))
- )
- (func $shr32
- (param i32) (param i32)
- (result i32)
- (return (i32.shr_u (get_local 0) (get_local 1)))
- )
- (func $sar32
- (param i32) (param i32)
- (result i32)
- (return (i32.shr_s (get_local 0) (get_local 1)))
- )
- (func $clz32
- (param i32)
- (result i32)
- (return (i32.clz (get_local 0)))
- )
- (func $clz32_zero_undef
- (param i32)
- (result i32)
- (return (i32.clz (get_local 0)))
- )
- (func $ctz32
- (param i32)
- (result i32)
- (return (i32.ctz (get_local 0)))
- )
- (func $ctz32_zero_undef
- (param i32)
- (result i32)
- (return (i32.ctz (get_local 0)))
- )
- (func $popcnt32
- (param i32)
- (result i32)
- (return (i32.popcnt (get_local 0)))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/i64.wast b/prototype-wasmate/test/expected-output/i64.wast
deleted file mode 100644
index ec7cf00..0000000
--- a/prototype-wasmate/test/expected-output/i64.wast
+++ /dev/null
@@ -1,119 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "add64" $add64)
- (export "sub64" $sub64)
- (export "mul64" $mul64)
- (export "sdiv64" $sdiv64)
- (export "udiv64" $udiv64)
- (export "srem64" $srem64)
- (export "urem64" $urem64)
- (export "and64" $and64)
- (export "or64" $or64)
- (export "xor64" $xor64)
- (export "shl64" $shl64)
- (export "shr64" $shr64)
- (export "sar64" $sar64)
- (export "clz64" $clz64)
- (export "clz64_zero_undef" $clz64_zero_undef)
- (export "ctz64" $ctz64)
- (export "ctz64_zero_undef" $ctz64_zero_undef)
- (export "popcnt64" $popcnt64)
- (func $add64
- (param i64) (param i64)
- (result i64)
- (return (i64.add (get_local 0) (get_local 1)))
- )
- (func $sub64
- (param i64) (param i64)
- (result i64)
- (return (i64.sub (get_local 0) (get_local 1)))
- )
- (func $mul64
- (param i64) (param i64)
- (result i64)
- (return (i64.mul (get_local 0) (get_local 1)))
- )
- (func $sdiv64
- (param i64) (param i64)
- (result i64)
- (return (i64.div_s (get_local 0) (get_local 1)))
- )
- (func $udiv64
- (param i64) (param i64)
- (result i64)
- (return (i64.div_u (get_local 0) (get_local 1)))
- )
- (func $srem64
- (param i64) (param i64)
- (result i64)
- (return (i64.rem_s (get_local 0) (get_local 1)))
- )
- (func $urem64
- (param i64) (param i64)
- (result i64)
- (return (i64.rem_u (get_local 0) (get_local 1)))
- )
- (func $and64
- (param i64) (param i64)
- (result i64)
- (return (i64.and (get_local 0) (get_local 1)))
- )
- (func $or64
- (param i64) (param i64)
- (result i64)
- (return (i64.or (get_local 0) (get_local 1)))
- )
- (func $xor64
- (param i64) (param i64)
- (result i64)
- (return (i64.xor (get_local 0) (get_local 1)))
- )
- (func $shl64
- (param i64) (param i64)
- (result i64)
- (return (i64.shl (get_local 0) (get_local 1)))
- )
- (func $shr64
- (param i64) (param i64)
- (result i64)
- (return (i64.shr_u (get_local 0) (get_local 1)))
- )
- (func $sar64
- (param i64) (param i64)
- (result i64)
- (return (i64.shr_s (get_local 0) (get_local 1)))
- )
- (func $clz64
- (param i64)
- (result i64)
- (return (i64.clz (get_local 0)))
- )
- (func $clz64_zero_undef
- (param i64)
- (result i64)
- (return (i64.clz (get_local 0)))
- )
- (func $ctz64
- (param i64)
- (result i64)
- (return (i64.ctz (get_local 0)))
- )
- (func $ctz64_zero_undef
- (param i64)
- (result i64)
- (return (i64.ctz (get_local 0)))
- )
- (func $popcnt64
- (param i64)
- (result i64)
- (return (i64.popcnt (get_local 0)))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/ident.wast b/prototype-wasmate/test/expected-output/ident.wast
deleted file mode 100644
index 3f14404..0000000
--- a/prototype-wasmate/test/expected-output/ident.wast
+++ /dev/null
@@ -1,11 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/immediates.wast b/prototype-wasmate/test/expected-output/immediates.wast
deleted file mode 100644
index 140aec1..0000000
--- a/prototype-wasmate/test/expected-output/immediates.wast
+++ /dev/null
@@ -1,131 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "zero_i32" $zero_i32)
- (export "one_i32" $one_i32)
- (export "max_i32" $max_i32)
- (export "min_i32" $min_i32)
- (export "zero_i64" $zero_i64)
- (export "one_i64" $one_i64)
- (export "max_i64" $max_i64)
- (export "min_i64" $min_i64)
- (export "negzero_f32" $negzero_f32)
- (export "zero_f32" $zero_f32)
- (export "one_f32" $one_f32)
- (export "two_f32" $two_f32)
- (export "nan_f32" $nan_f32)
- (export "negnan_f32" $negnan_f32)
- (export "inf_f32" $inf_f32)
- (export "neginf_f32" $neginf_f32)
- (export "negzero_f64" $negzero_f64)
- (export "zero_f64" $zero_f64)
- (export "one_f64" $one_f64)
- (export "two_f64" $two_f64)
- (export "nan_f64" $nan_f64)
- (export "negnan_f64" $negnan_f64)
- (export "inf_f64" $inf_f64)
- (export "neginf_f64" $neginf_f64)
- (func $zero_i32
- (result i32)
- (return (i32.const 0))
- )
- (func $one_i32
- (result i32)
- (return (i32.const 1))
- )
- (func $max_i32
- (result i32)
- (return (i32.const 2147483647))
- )
- (func $min_i32
- (result i32)
- (return (i32.const -2147483648))
- )
- (func $zero_i64
- (result i64)
- (return (i64.const 0))
- )
- (func $one_i64
- (result i64)
- (return (i64.const 1))
- )
- (func $max_i64
- (result i64)
- (return (i64.const 9223372036854775807))
- )
- (func $min_i64
- (result i64)
- (return (i64.const -9223372036854775808))
- )
- (func $negzero_f32
- (result f32)
- (return (f32.const -0x0p0))
- )
- (func $zero_f32
- (result f32)
- (return (f32.const 0x0p0))
- )
- (func $one_f32
- (result f32)
- (return (f32.const 0x1p0))
- )
- (func $two_f32
- (result f32)
- (return (f32.const 0x1p1))
- )
- (func $nan_f32
- (result f32)
- (return (f32.const nan))
- )
- (func $negnan_f32
- (result f32)
- (return (f32.const -nan))
- )
- (func $inf_f32
- (result f32)
- (return (f32.const infinity))
- )
- (func $neginf_f32
- (result f32)
- (return (f32.const -infinity))
- )
- (func $negzero_f64
- (result f64)
- (return (f64.const -0x0p0))
- )
- (func $zero_f64
- (result f64)
- (return (f64.const 0x0p0))
- )
- (func $one_f64
- (result f64)
- (return (f64.const 0x1p0))
- )
- (func $two_f64
- (result f64)
- (return (f64.const 0x1p1))
- )
- (func $nan_f64
- (result f64)
- (return (f64.const nan))
- )
- (func $negnan_f64
- (result f64)
- (return (f64.const -nan))
- )
- (func $inf_f64
- (result f64)
- (return (f64.const infinity))
- )
- (func $neginf_f64
- (result f64)
- (return (f64.const -infinity))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/inline-asm.wast b/prototype-wasmate/test/expected-output/inline-asm.wast
deleted file mode 100644
index 1119a4a..0000000
--- a/prototype-wasmate/test/expected-output/inline-asm.wast
+++ /dev/null
@@ -1,60 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "foo" $foo)
- (export "bar" $bar)
- (export "imm" $imm)
- (export "foo_i64" $foo_i64)
- (export "X_i16" $X_i16)
- (export "X_ptr" $X_ptr)
- (export "funcname" $funcname)
- (export "varname" $varname)
- (func $foo
- (param i32)
- (result i32)
- (return (get_local 0))
- )
- (func $bar
- (param i32) (param i32)
- (return)
- )
- (func $imm
- (result i32)
- (local i32)
- (return (get_local 0))
- )
- (func $foo_i64
- (param i64)
- (result i64)
- (return (get_local 0))
- )
- (func $X_i16
- (param i32)
- (local i32)
- (foo (get_local 1))
- (i32.store16 offset=0 (get_local 0) (get_local 1))
- (return)
- )
- (func $X_ptr
- (param i32)
- (local i32)
- (foo (get_local 1))
- (i32.store offset=0 (get_local 0) (get_local 1))
- (return)
- )
- (func $funcname
- (foo $funcname)
- (return)
- )
- (func $varname
- (foo 37)
- (return)
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/lcomm-in-text-segment.wast b/prototype-wasmate/test/expected-output/lcomm-in-text-segment.wast
deleted file mode 100644
index a0d0401..0000000
--- a/prototype-wasmate/test/expected-output/lcomm-in-text-segment.wast
+++ /dev/null
@@ -1,14 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (memory 12 12
- (segment 8
- "\04\00\00\00"
- )
- )
-)
diff --git a/prototype-wasmate/test/expected-output/legalize.wast b/prototype-wasmate/test/expected-output/legalize.wast
deleted file mode 100644
index 027a43a..0000000
--- a/prototype-wasmate/test/expected-output/legalize.wast
+++ /dev/null
@@ -1,563 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "shl_i3" $shl_i3)
- (export "shl_i53" $shl_i53)
- (export "sext_in_reg_i32_i64" $sext_in_reg_i32_i64)
- (export "fpext_f32_f64" $fpext_f32_f64)
- (export "fpconv_f64_f32" $fpconv_f64_f32)
- (export "bigshift" $bigshift)
- (func $shl_i3
- (param i32) (param i32) (param i32)
- (result i32)
- (return (i32.shl (get_local 0) (i32.and (get_local 1) (i32.const 7))))
- )
- (func $shl_i53
- (param i64) (param i64) (param i32)
- (result i64)
- (return (i64.shl (get_local 0) (i64.and (get_local 1) (i64.const 9007199254740991))))
- )
- (func $sext_in_reg_i32_i64
- (param i64)
- (result i64)
- (local i64)
- (set_local 1 (i64.const 32))
- (return (i64.shr_s (i64.shl (get_local 0) (get_local 1)) (get_local 1)))
- )
- (func $fpext_f32_f64
- (param i32)
- (result f64)
- (return (f64.promote/f32 (f32.load offset=0 (get_local 0))))
- )
- (func $fpconv_f64_f32
- (param i32)
- (result f32)
- (return (f32.demote/f64 (f64.load offset=0 (get_local 0))))
- )
- (func $bigshift
- (param i32) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64) (param i64)
- (local i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i32 i64 i32 i32 i32 i32 i32 i32 i64 i64 i64 i32 i32 i64 i64 i64 i32 i32 i64 i32 i32 i64 i32 i32 i32 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i32 i64 i64 i64 i32 i64 i64 i32 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i32 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i32 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
- (set_local 181 (i32.const __stack_pointer))
- (set_local 181 (i32.load offset=0 (get_local 181)))
- (set_local 182 (i32.const 1024))
- (set_local 279 (i32.sub (get_local 181) (get_local 182)))
- (set_local 182 (i32.const __stack_pointer))
- (set_local 279 (i32.store offset=0 (get_local 182) (get_local 279)))
- (set_local 184 (i32.const 480))
- (set_local 184 (i32.add (get_local 279) (get_local 184)))
- (call __lshrti3 (get_local 184) (get_local 1) (get_local 2) (i64.sub (i64.const 896) (get_local 17)))
- (set_local 33 (i64.add (get_local 17) (i64.const -768)))
- (set_local 185 (i32.const 464))
- (set_local 185 (i32.add (get_local 279) (get_local 185)))
- (call __ashlti3 (get_local 185) (get_local 3) (get_local 4) (get_local 33))
- (set_local 186 (i32.const 496))
- (set_local 186 (i32.add (get_local 279) (get_local 186)))
- (call __ashlti3 (get_local 186) (get_local 1) (get_local 2) (i64.add (get_local 17) (i64.const -896)))
- (set_local 34 (i64.sub (i64.const 640) (get_local 17)))
- (set_local 187 (i32.const 352))
- (set_local 187 (i32.add (get_local 279) (get_local 187)))
- (call __lshrti3 (get_local 187) (get_local 5) (get_local 6) (get_local 34))
- (set_local 35 (i64.add (get_local 17) (i64.const -512)))
- (set_local 188 (i32.const 336))
- (set_local 188 (i32.add (get_local 279) (get_local 188)))
- (call __ashlti3 (get_local 188) (get_local 7) (get_local 8) (get_local 35))
- (set_local 36 (i64.add (get_local 17) (i64.const -640)))
- (set_local 189 (i32.const 368))
- (set_local 189 (i32.add (get_local 279) (get_local 189)))
- (call __ashlti3 (get_local 189) (get_local 5) (get_local 6) (get_local 36))
- (set_local 37 (i64.sub (i64.const 768) (get_local 17)))
- (set_local 190 (i32.const 432))
- (set_local 190 (i32.add (get_local 279) (get_local 190)))
- (call __lshrti3 (get_local 190) (get_local 3) (get_local 4) (get_local 37))
- (set_local 38 (i64.const 384))
- (set_local 39 (i64.sub (get_local 38) (get_local 17)))
- (set_local 191 (i32.const 864))
- (set_local 191 (i32.add (get_local 279) (get_local 191)))
- (call __lshrti3 (get_local 191) (get_local 9) (get_local 10) (get_local 39))
- (set_local 40 (i64.add (get_local 17) (i64.const -256)))
- (set_local 192 (i32.const 848))
- (set_local 192 (i32.add (get_local 279) (get_local 192)))
- (call __ashlti3 (get_local 192) (get_local 11) (get_local 12) (get_local 40))
- (set_local 41 (i64.add (get_local 17) (i64.const -384)))
- (set_local 193 (i32.const 880))
- (set_local 193 (i32.add (get_local 279) (get_local 193)))
- (call __ashlti3 (get_local 193) (get_local 9) (get_local 10) (get_local 41))
- (set_local 194 (i32.const 1008))
- (set_local 194 (i32.add (get_local 279) (get_local 194)))
- (call __ashlti3 (get_local 194) (get_local 15) (get_local 16) (get_local 17))
- (set_local 42 (i64.const 128))
- (set_local 51 (i64.sub (get_local 42) (get_local 17)))
- (set_local 195 (i32.const 960))
- (set_local 195 (i32.add (get_local 279) (get_local 195)))
- (call __lshrti3 (get_local 195) (get_local 13) (get_local 14) (get_local 51))
- (set_local 43 (i64.add (get_local 17) (i64.const -128)))
- (set_local 196 (i32.const 976))
- (set_local 196 (i32.add (get_local 279) (get_local 196)))
- (call __ashlti3 (get_local 196) (get_local 13) (get_local 14) (get_local 43))
- (set_local 44 (i64.const 256))
- (set_local 45 (i64.sub (get_local 44) (get_local 17)))
- (set_local 197 (i32.const 816))
- (set_local 197 (i32.add (get_local 279) (get_local 197)))
- (call __lshrti3 (get_local 197) (get_local 11) (get_local 12) (get_local 45))
- (set_local 46 (i64.const 512))
- (set_local 47 (i64.sub (get_local 46) (get_local 17)))
- (set_local 198 (i32.const 240))
- (set_local 198 (i32.add (get_local 279) (get_local 198)))
- (call __lshrti3 (get_local 198) (get_local 7) (get_local 8) (get_local 47))
- (set_local 199 (i32.const 912))
- (set_local 199 (i32.add (get_local 279) (get_local 199)))
- (call __ashlti3 (get_local 199) (get_local 11) (get_local 12) (get_local 17))
- (set_local 200 (i32.const 928))
- (set_local 200 (i32.add (get_local 279) (get_local 200)))
- (call __lshrti3 (get_local 200) (get_local 9) (get_local 10) (get_local 51))
- (set_local 201 (i32.const 944))
- (set_local 201 (i32.add (get_local 279) (get_local 201)))
- (call __ashlti3 (get_local 201) (get_local 9) (get_local 10) (get_local 43))
- (set_local 48 (i64.sub (get_local 44) (get_local 47)))
- (set_local 202 (i32.const 80))
- (set_local 202 (i32.add (get_local 279) (get_local 202)))
- (call __ashlti3 (get_local 202) (get_local 7) (get_local 8) (get_local 48))
- (set_local 203 (i32.const 96))
- (set_local 203 (i32.add (get_local 279) (get_local 203)))
- (call __lshrti3 (get_local 203) (get_local 5) (get_local 6) (i64.sub (get_local 42) (get_local 48)))
- (set_local 49 (i64.sub (get_local 42) (get_local 47)))
- (set_local 204 (i32.const 112))
- (set_local 204 (i32.add (get_local 279) (get_local 204)))
- (call __ashlti3 (get_local 204) (get_local 5) (get_local 6) (get_local 49))
- (set_local 205 (i32.const 48))
- (set_local 205 (i32.add (get_local 279) (get_local 205)))
- (call __lshrti3 (get_local 205) (get_local 3) (get_local 4) (get_local 47))
- (set_local 206 (i32.const 176))
- (set_local 206 (i32.add (get_local 279) (get_local 206)))
- (call __lshrti3 (get_local 206) (get_local 7) (get_local 8) (get_local 45))
- (set_local 207 (i32.const 288))
- (set_local 207 (i32.add (get_local 279) (get_local 207)))
- (call __lshrti3 (get_local 207) (get_local 1) (get_local 2) (get_local 34))
- (set_local 208 (i32.const 272))
- (set_local 208 (i32.add (get_local 279) (get_local 208)))
- (call __ashlti3 (get_local 208) (get_local 3) (get_local 4) (get_local 35))
- (set_local 209 (i32.const 304))
- (set_local 209 (i32.add (get_local 279) (get_local 209)))
- (call __ashlti3 (get_local 209) (get_local 1) (get_local 2) (get_local 36))
- (set_local 210 (i32.const 128))
- (set_local 210 (i32.add (get_local 279) (get_local 210)))
- (call __lshrti3 (get_local 210) (get_local 5) (get_local 6) (get_local 45))
- (set_local 211 (i32.const 144))
- (set_local 211 (i32.add (get_local 279) (get_local 211)))
- (call __ashlti3 (get_local 211) (get_local 7) (get_local 8) (i64.sub (get_local 38) (get_local 47)))
- (set_local 212 (i32.const 160))
- (set_local 212 (i32.add (get_local 279) (get_local 212)))
- (call __lshrti3 (get_local 212) (get_local 7) (get_local 8) (get_local 51))
- (set_local 213 (i32.const 0))
- (set_local 213 (i32.add (get_local 279) (get_local 213)))
- (call __lshrti3 (get_local 213) (get_local 1) (get_local 2) (get_local 47))
- (set_local 214 (i32.const 16))
- (set_local 214 (i32.add (get_local 279) (get_local 214)))
- (call __ashlti3 (get_local 214) (get_local 3) (get_local 4) (get_local 49))
- (set_local 215 (i32.const 32))
- (set_local 215 (i32.add (get_local 279) (get_local 215)))
- (call __lshrti3 (get_local 215) (get_local 3) (get_local 4) (get_local 39))
- (set_local 216 (i32.const 64))
- (set_local 216 (i32.add (get_local 279) (get_local 216)))
- (call __ashlti3 (get_local 216) (get_local 5) (get_local 6) (get_local 48))
- (set_local 217 (i32.const 896))
- (set_local 217 (i32.add (get_local 279) (get_local 217)))
- (call __ashlti3 (get_local 217) (get_local 9) (get_local 10) (get_local 17))
- (set_local 218 (i32.const 256))
- (set_local 218 (i32.add (get_local 279) (get_local 218)))
- (call __ashlti3 (get_local 218) (get_local 1) (get_local 2) (get_local 35))
- (set_local 219 (i32.const 192))
- (set_local 219 (i32.add (get_local 279) (get_local 219)))
- (call __lshrti3 (get_local 219) (get_local 5) (get_local 6) (get_local 47))
- (set_local 220 (i32.const 208))
- (set_local 220 (i32.add (get_local 279) (get_local 220)))
- (call __ashlti3 (get_local 220) (get_local 7) (get_local 8) (get_local 49))
- (set_local 221 (i32.const 224))
- (set_local 221 (i32.add (get_local 279) (get_local 221)))
- (call __lshrti3 (get_local 221) (get_local 7) (get_local 8) (get_local 39))
- (set_local 222 (i32.const 768))
- (set_local 222 (i32.add (get_local 279) (get_local 222)))
- (call __lshrti3 (get_local 222) (get_local 9) (get_local 10) (get_local 45))
- (set_local 49 (i64.sub (get_local 42) (get_local 45)))
- (set_local 223 (i32.const 784))
- (set_local 223 (i32.add (get_local 279) (get_local 223)))
- (call __ashlti3 (get_local 223) (get_local 11) (get_local 12) (get_local 49))
- (set_local 224 (i32.const 800))
- (set_local 224 (i32.add (get_local 279) (get_local 224)))
- (call __lshrti3 (get_local 224) (get_local 11) (get_local 12) (get_local 51))
- (set_local 225 (i32.const 992))
- (set_local 225 (i32.add (get_local 279) (get_local 225)))
- (call __ashlti3 (get_local 225) (get_local 13) (get_local 14) (get_local 17))
- (set_local 226 (i32.const 832))
- (set_local 226 (i32.add (get_local 279) (get_local 226)))
- (call __ashlti3 (get_local 226) (get_local 9) (get_local 10) (get_local 40))
- (set_local 227 (i32.const 384))
- (set_local 227 (i32.add (get_local 279) (get_local 227)))
- (call __lshrti3 (get_local 227) (get_local 1) (get_local 2) (get_local 37))
- (set_local 228 (i32.const 400))
- (set_local 228 (i32.add (get_local 279) (get_local 228)))
- (call __ashlti3 (get_local 228) (get_local 3) (get_local 4) (i64.sub (get_local 42) (get_local 37)))
- (set_local 229 (i32.const 416))
- (set_local 229 (i32.add (get_local 279) (get_local 229)))
- (call __lshrti3 (get_local 229) (get_local 3) (get_local 4) (get_local 34))
- (set_local 230 (i32.const 320))
- (set_local 230 (i32.add (get_local 279) (get_local 230)))
- (call __ashlti3 (get_local 230) (get_local 5) (get_local 6) (get_local 35))
- (set_local 231 (i32.const 448))
- (set_local 231 (i32.add (get_local 279) (get_local 231)))
- (call __ashlti3 (get_local 231) (get_local 1) (get_local 2) (get_local 33))
- (set_local 232 (i32.const 736))
- (set_local 232 (i32.add (get_local 279) (get_local 232)))
- (call __lshrti3 (get_local 232) (get_local 1) (get_local 2) (get_local 39))
- (set_local 233 (i32.const 720))
- (set_local 233 (i32.add (get_local 279) (get_local 233)))
- (call __ashlti3 (get_local 233) (get_local 3) (get_local 4) (get_local 40))
- (set_local 234 (i32.const 752))
- (set_local 234 (i32.add (get_local 279) (get_local 234)))
- (call __ashlti3 (get_local 234) (get_local 1) (get_local 2) (get_local 41))
- (set_local 235 (i32.const 592))
- (set_local 235 (i32.add (get_local 279) (get_local 235)))
- (call __ashlti3 (get_local 235) (get_local 7) (get_local 8) (get_local 17))
- (set_local 236 (i32.const 608))
- (set_local 236 (i32.add (get_local 279) (get_local 236)))
- (call __lshrti3 (get_local 236) (get_local 5) (get_local 6) (get_local 51))
- (set_local 237 (i32.const 624))
- (set_local 237 (i32.add (get_local 279) (get_local 237)))
- (call __ashlti3 (get_local 237) (get_local 5) (get_local 6) (get_local 43))
- (set_local 238 (i32.const 688))
- (set_local 238 (i32.add (get_local 279) (get_local 238)))
- (call __lshrti3 (get_local 238) (get_local 3) (get_local 4) (get_local 45))
- (set_local 239 (i32.const 640))
- (set_local 239 (i32.add (get_local 279) (get_local 239)))
- (call __lshrti3 (get_local 239) (get_local 1) (get_local 2) (get_local 45))
- (set_local 240 (i32.const 656))
- (set_local 240 (i32.add (get_local 279) (get_local 240)))
- (call __ashlti3 (get_local 240) (get_local 3) (get_local 4) (get_local 49))
- (set_local 241 (i32.const 672))
- (set_local 241 (i32.add (get_local 279) (get_local 241)))
- (call __lshrti3 (get_local 241) (get_local 3) (get_local 4) (get_local 51))
- (set_local 242 (i32.const 576))
- (set_local 242 (i32.add (get_local 279) (get_local 242)))
- (call __ashlti3 (get_local 242) (get_local 5) (get_local 6) (get_local 17))
- (set_local 243 (i32.const 704))
- (set_local 243 (i32.add (get_local 279) (get_local 243)))
- (call __ashlti3 (get_local 243) (get_local 1) (get_local 2) (get_local 40))
- (set_local 244 (i32.const 528))
- (set_local 244 (i32.add (get_local 279) (get_local 244)))
- (call __ashlti3 (get_local 244) (get_local 3) (get_local 4) (get_local 17))
- (set_local 245 (i32.const 544))
- (set_local 245 (i32.add (get_local 279) (get_local 245)))
- (call __lshrti3 (get_local 245) (get_local 1) (get_local 2) (get_local 51))
- (set_local 246 (i32.const 560))
- (set_local 246 (i32.add (get_local 279) (get_local 246)))
- (call __ashlti3 (get_local 246) (get_local 1) (get_local 2) (get_local 43))
- (set_local 247 (i32.const 512))
- (set_local 247 (i32.add (get_local 279) (get_local 247)))
- (call __ashlti3 (get_local 247) (get_local 1) (get_local 2) (get_local 17))
- (set_local 39 (i64.load offset=480 (get_local 279)))
- (set_local 43 (i64.load offset=464 (get_local 279)))
- (set_local 34 (i64.load offset=496 (get_local 279)))
- (set_local 51 (i64.const 0))
- (set_local 49 (i64.load offset=352 (get_local 279)))
- (set_local 36 (i64.load offset=336 (get_local 279)))
- (set_local 38 (i64.load offset=368 (get_local 279)))
- (set_local 41 (i64.load offset=432 (get_local 279)))
- (set_local 58 (i64.load offset=864 (get_local 279)))
- (set_local 59 (i64.load offset=848 (get_local 279)))
- (set_local 60 (i64.load offset=880 (get_local 279)))
- (set_local 63 (i64.load offset=1008 (get_local 279)))
- (set_local 64 (i64.load offset=960 (get_local 279)))
- (set_local 65 (i64.load offset=976 (get_local 279)))
- (set_local 68 (i64.load offset=816 (get_local 279)))
- (set_local 71 (i64.load offset=240 (get_local 279)))
- (set_local 50 (i64.lt_u (get_local 33) (get_local 42)))
- (set_local 52 (i64.eq (get_local 33) (get_local 51)))
- (set_local 53 (i64.lt_u (get_local 35) (get_local 42)))
- (set_local 54 (i64.eq (get_local 35) (get_local 51)))
- (set_local 55 (i64.lt_u (get_local 37) (get_local 42)))
- (set_local 56 (i64.lt_u (get_local 35) (get_local 44)))
- (set_local 57 (i64.lt_u (get_local 40) (get_local 42)))
- (set_local 61 (i64.eq (get_local 40) (get_local 51)))
- (set_local 62 (i64.lt_u (get_local 17) (get_local 42)))
- (set_local 66 (i64.eq (get_local 17) (get_local 51)))
- (set_local 67 (i64.lt_u (get_local 45) (get_local 42)))
- (set_local 69 (i64.lt_u (get_local 17) (get_local 44)))
- (set_local 70 (i64.lt_u (get_local 47) (get_local 42)))
- (set_local 72 (i64.lt_u (get_local 47) (get_local 44)))
- (set_local 73 (i64.lt_u (get_local 17) (get_local 46)))
- (set_local 74 (i32.const 8))
- (set_local 248 (i32.const 480))
- (set_local 248 (i32.add (get_local 279) (get_local 248)))
- (set_local 17 (i64.load offset=0 (i32.add (get_local 248) (get_local 74))))
- (set_local 249 (i32.const 464))
- (set_local 249 (i32.add (get_local 279) (get_local 249)))
- (set_local 35 (i64.load offset=0 (i32.add (get_local 249) (get_local 74))))
- (set_local 250 (i32.const 496))
- (set_local 250 (i32.add (get_local 279) (get_local 250)))
- (set_local 40 (i64.load offset=0 (i32.add (get_local 250) (get_local 74))))
- (set_local 251 (i32.const 352))
- (set_local 251 (i32.add (get_local 279) (get_local 251)))
- (set_local 44 (i64.load offset=0 (i32.add (get_local 251) (get_local 74))))
- (set_local 252 (i32.const 336))
- (set_local 252 (i32.add (get_local 279) (get_local 252)))
- (set_local 33 (i64.load offset=0 (i32.add (get_local 252) (get_local 74))))
- (set_local 253 (i32.const 368))
- (set_local 253 (i32.add (get_local 279) (get_local 253)))
- (set_local 46 (i64.load offset=0 (i32.add (get_local 253) (get_local 74))))
- (set_local 254 (i32.const 432))
- (set_local 254 (i32.add (get_local 279) (get_local 254)))
- (set_local 75 (i64.load offset=0 (i32.add (get_local 254) (get_local 74))))
- (set_local 255 (i32.const 864))
- (set_local 255 (i32.add (get_local 279) (get_local 255)))
- (set_local 76 (i64.load offset=0 (i32.add (get_local 255) (get_local 74))))
- (set_local 256 (i32.const 848))
- (set_local 256 (i32.add (get_local 279) (get_local 256)))
- (set_local 77 (i64.load offset=0 (i32.add (get_local 256) (get_local 74))))
- (set_local 257 (i32.const 880))
- (set_local 257 (i32.add (get_local 279) (get_local 257)))
- (set_local 78 (i64.load offset=0 (i32.add (get_local 257) (get_local 74))))
- (set_local 258 (i32.const 1008))
- (set_local 258 (i32.add (get_local 279) (get_local 258)))
- (set_local 79 (i64.load offset=0 (i32.add (get_local 258) (get_local 74))))
- (set_local 259 (i32.const 960))
- (set_local 259 (i32.add (get_local 279) (get_local 259)))
- (set_local 80 (i64.load offset=0 (i32.add (get_local 259) (get_local 74))))
- (set_local 260 (i32.const 976))
- (set_local 260 (i32.add (get_local 279) (get_local 260)))
- (set_local 81 (i64.load offset=0 (i32.add (get_local 260) (get_local 74))))
- (set_local 261 (i32.const 816))
- (set_local 261 (i32.add (get_local 279) (get_local 261)))
- (set_local 82 (i64.load offset=0 (i32.add (get_local 261) (get_local 74))))
- (set_local 262 (i32.const 240))
- (set_local 262 (i32.add (get_local 279) (get_local 262)))
- (set_local 83 (i64.load offset=0 (i32.add (get_local 262) (get_local 74))))
- (set_local 84 (i64.load offset=912 (get_local 279)))
- (set_local 85 (i64.load offset=928 (get_local 279)))
- (set_local 86 (i64.load offset=944 (get_local 279)))
- (set_local 88 (i64.load offset=80 (get_local 279)))
- (set_local 89 (i64.load offset=96 (get_local 279)))
- (set_local 90 (i64.load offset=112 (get_local 279)))
- (set_local 92 (i64.load offset=48 (get_local 279)))
- (set_local 93 (i64.load offset=176 (get_local 279)))
- (set_local 95 (i64.load offset=288 (get_local 279)))
- (set_local 96 (i64.load offset=272 (get_local 279)))
- (set_local 87 (i64.lt_u (get_local 48) (get_local 42)))
- (set_local 91 (i64.eq (get_local 48) (get_local 51)))
- (set_local 94 (i64.eq (get_local 47) (get_local 51)))
- (set_local 42 (i64.load offset=304 (get_local 279)))
- (set_local 263 (i32.const 912))
- (set_local 263 (i32.add (get_local 279) (get_local 263)))
- (set_local 47 (i64.load offset=0 (i32.add (get_local 263) (get_local 74))))
- (set_local 264 (i32.const 928))
- (set_local 264 (i32.add (get_local 279) (get_local 264)))
- (set_local 48 (i64.load offset=0 (i32.add (get_local 264) (get_local 74))))
- (set_local 265 (i32.const 944))
- (set_local 265 (i32.add (get_local 279) (get_local 265)))
- (set_local 97 (i64.load offset=0 (i32.add (get_local 265) (get_local 74))))
- (set_local 266 (i32.const 80))
- (set_local 266 (i32.add (get_local 279) (get_local 266)))
- (set_local 98 (i64.load offset=0 (i32.add (get_local 266) (get_local 74))))
- (set_local 267 (i32.const 96))
- (set_local 267 (i32.add (get_local 279) (get_local 267)))
- (set_local 99 (i64.load offset=0 (i32.add (get_local 267) (get_local 74))))
- (set_local 268 (i32.const 112))
- (set_local 268 (i32.add (get_local 279) (get_local 268)))
- (set_local 100 (i64.load offset=0 (i32.add (get_local 268) (get_local 74))))
- (set_local 269 (i32.const 48))
- (set_local 269 (i32.add (get_local 279) (get_local 269)))
- (set_local 101 (i64.load offset=0 (i32.add (get_local 269) (get_local 74))))
- (set_local 270 (i32.const 176))
- (set_local 270 (i32.add (get_local 279) (get_local 270)))
- (set_local 102 (i64.load offset=0 (i32.add (get_local 270) (get_local 74))))
- (set_local 271 (i32.const 288))
- (set_local 271 (i32.add (get_local 279) (get_local 271)))
- (set_local 103 (i64.load offset=0 (i32.add (get_local 271) (get_local 74))))
- (set_local 272 (i32.const 272))
- (set_local 272 (i32.add (get_local 279) (get_local 272)))
- (set_local 104 (i64.load offset=0 (i32.add (get_local 272) (get_local 74))))
- (set_local 273 (i32.const 304))
- (set_local 273 (i32.add (get_local 279) (get_local 273)))
- (set_local 105 (i64.load offset=0 (i32.add (get_local 273) (get_local 74))))
- (set_local 106 (i64.load offset=128 (get_local 279)))
- (set_local 107 (i64.load offset=144 (get_local 279)))
- (set_local 108 (i64.load offset=160 (get_local 279)))
- (set_local 110 (i64.load offset=0 (get_local 279)))
- (set_local 111 (i64.load offset=16 (get_local 279)))
- (set_local 112 (i64.load offset=32 (get_local 279)))
- (set_local 113 (i64.load offset=64 (get_local 279)))
- (set_local 114 (i64.load offset=896 (get_local 279)))
- (set_local 109 (i64.eq (get_local 45) (get_local 51)))
- (set_local 45 (i64.load offset=256 (get_local 279)))
- (set_local 274 (i32.const 128))
- (set_local 274 (i32.add (get_local 279) (get_local 274)))
- (set_local 115 (i64.load offset=0 (i32.add (get_local 274) (get_local 74))))
- (set_local 275 (i32.const 144))
- (set_local 275 (i32.add (get_local 279) (get_local 275)))
- (set_local 116 (i64.load offset=0 (i32.add (get_local 275) (get_local 74))))
- (set_local 276 (i32.const 160))
- (set_local 276 (i32.add (get_local 279) (get_local 276)))
- (set_local 117 (i64.load offset=0 (i32.add (get_local 276) (get_local 74))))
- (set_local 277 (i32.const 0))
- (set_local 277 (i32.add (get_local 279) (get_local 277)))
- (set_local 118 (i64.load offset=0 (i32.add (get_local 277) (get_local 74))))
- (set_local 278 (i32.const 16))
- (set_local 278 (i32.add (get_local 279) (get_local 278)))
- (set_local 119 (i64.load offset=0 (i32.add (get_local 278) (get_local 74))))
- (set_local 279 (i32.const 32))
- (set_local 279 (i32.add (get_local 279) (get_local 279)))
- (set_local 120 (i64.load offset=0 (i32.add (get_local 279) (get_local 74))))
- (set_local 280 (i32.const 64))
- (set_local 280 (i32.add (get_local 279) (get_local 280)))
- (set_local 121 (i64.load offset=0 (i32.add (get_local 280) (get_local 74))))
- (set_local 281 (i32.const 896))
- (set_local 281 (i32.add (get_local 279) (get_local 281)))
- (set_local 122 (i64.load offset=0 (i32.add (get_local 281) (get_local 74))))
- (set_local 282 (i32.const 256))
- (set_local 282 (i32.add (get_local 279) (get_local 282)))
- (set_local 123 (i64.load offset=0 (i32.add (get_local 282) (get_local 74))))
- (set_local 124 (i64.load offset=192 (get_local 279)))
- (set_local 125 (i64.load offset=208 (get_local 279)))
- (set_local 126 (i64.load offset=224 (get_local 279)))
- (set_local 127 (i64.load offset=768 (get_local 279)))
- (set_local 128 (i64.load offset=784 (get_local 279)))
- (set_local 129 (i64.load offset=800 (get_local 279)))
- (set_local 130 (i64.load offset=992 (get_local 279)))
- (set_local 131 (i64.load offset=832 (get_local 279)))
- (set_local 132 (i64.load offset=384 (get_local 279)))
- (set_local 133 (i64.load offset=400 (get_local 279)))
- (set_local 134 (i64.load offset=416 (get_local 279)))
- (set_local 136 (i64.load offset=320 (get_local 279)))
- (set_local 135 (i64.eq (get_local 37) (get_local 51)))
- (set_local 37 (i64.load offset=448 (get_local 279)))
- (set_local 283 (i32.const 192))
- (set_local 283 (i32.add (get_local 279) (get_local 283)))
- (set_local 137 (i64.load offset=0 (i32.add (get_local 283) (get_local 74))))
- (set_local 284 (i32.const 208))
- (set_local 284 (i32.add (get_local 279) (get_local 284)))
- (set_local 138 (i64.load offset=0 (i32.add (get_local 284) (get_local 74))))
- (set_local 285 (i32.const 224))
- (set_local 285 (i32.add (get_local 279) (get_local 285)))
- (set_local 139 (i64.load offset=0 (i32.add (get_local 285) (get_local 74))))
- (set_local 286 (i32.const 768))
- (set_local 286 (i32.add (get_local 279) (get_local 286)))
- (set_local 140 (i64.load offset=0 (i32.add (get_local 286) (get_local 74))))
- (set_local 287 (i32.const 784))
- (set_local 287 (i32.add (get_local 279) (get_local 287)))
- (set_local 141 (i64.load offset=0 (i32.add (get_local 287) (get_local 74))))
- (set_local 288 (i32.const 800))
- (set_local 288 (i32.add (get_local 279) (get_local 288)))
- (set_local 142 (i64.load offset=0 (i32.add (get_local 288) (get_local 74))))
- (set_local 289 (i32.const 992))
- (set_local 289 (i32.add (get_local 279) (get_local 289)))
- (set_local 143 (i64.load offset=0 (i32.add (get_local 289) (get_local 74))))
- (set_local 290 (i32.const 832))
- (set_local 290 (i32.add (get_local 279) (get_local 290)))
- (set_local 144 (i64.load offset=0 (i32.add (get_local 290) (get_local 74))))
- (set_local 291 (i32.const 384))
- (set_local 291 (i32.add (get_local 279) (get_local 291)))
- (set_local 145 (i64.load offset=0 (i32.add (get_local 291) (get_local 74))))
- (set_local 292 (i32.const 400))
- (set_local 292 (i32.add (get_local 279) (get_local 292)))
- (set_local 146 (i64.load offset=0 (i32.add (get_local 292) (get_local 74))))
- (set_local 293 (i32.const 416))
- (set_local 293 (i32.add (get_local 279) (get_local 293)))
- (set_local 147 (i64.load offset=0 (i32.add (get_local 293) (get_local 74))))
- (set_local 294 (i32.const 320))
- (set_local 294 (i32.add (get_local 279) (get_local 294)))
- (set_local 148 (i64.load offset=0 (i32.add (get_local 294) (get_local 74))))
- (set_local 295 (i32.const 448))
- (set_local 295 (i32.add (get_local 279) (get_local 295)))
- (set_local 149 (i64.load offset=0 (i32.add (get_local 295) (get_local 74))))
- (set_local 150 (i64.load offset=736 (get_local 279)))
- (set_local 151 (i64.load offset=720 (get_local 279)))
- (set_local 152 (i64.load offset=752 (get_local 279)))
- (set_local 153 (i64.load offset=592 (get_local 279)))
- (set_local 154 (i64.load offset=608 (get_local 279)))
- (set_local 155 (i64.load offset=624 (get_local 279)))
- (set_local 156 (i64.load offset=688 (get_local 279)))
- (set_local 296 (i32.const 736))
- (set_local 296 (i32.add (get_local 279) (get_local 296)))
- (set_local 157 (i64.load offset=0 (i32.add (get_local 296) (get_local 74))))
- (set_local 297 (i32.const 720))
- (set_local 297 (i32.add (get_local 279) (get_local 297)))
- (set_local 158 (i64.load offset=0 (i32.add (get_local 297) (get_local 74))))
- (set_local 298 (i32.const 752))
- (set_local 298 (i32.add (get_local 279) (get_local 298)))
- (set_local 159 (i64.load offset=0 (i32.add (get_local 298) (get_local 74))))
- (set_local 299 (i32.const 592))
- (set_local 299 (i32.add (get_local 279) (get_local 299)))
- (set_local 160 (i64.load offset=0 (i32.add (get_local 299) (get_local 74))))
- (set_local 300 (i32.const 608))
- (set_local 300 (i32.add (get_local 279) (get_local 300)))
- (set_local 161 (i64.load offset=0 (i32.add (get_local 300) (get_local 74))))
- (set_local 301 (i32.const 624))
- (set_local 301 (i32.add (get_local 279) (get_local 301)))
- (set_local 162 (i64.load offset=0 (i32.add (get_local 301) (get_local 74))))
- (set_local 302 (i32.const 688))
- (set_local 302 (i32.add (get_local 279) (get_local 302)))
- (set_local 163 (i64.load offset=0 (i32.add (get_local 302) (get_local 74))))
- (set_local 164 (i64.load offset=640 (get_local 279)))
- (set_local 165 (i64.load offset=656 (get_local 279)))
- (set_local 166 (i64.load offset=672 (get_local 279)))
- (set_local 167 (i64.load offset=576 (get_local 279)))
- (set_local 168 (i64.load offset=704 (get_local 279)))
- (set_local 303 (i32.const 640))
- (set_local 303 (i32.add (get_local 279) (get_local 303)))
- (set_local 169 (i64.load offset=0 (i32.add (get_local 303) (get_local 74))))
- (set_local 304 (i32.const 656))
- (set_local 304 (i32.add (get_local 279) (get_local 304)))
- (set_local 170 (i64.load offset=0 (i32.add (get_local 304) (get_local 74))))
- (set_local 305 (i32.const 672))
- (set_local 305 (i32.add (get_local 279) (get_local 305)))
- (set_local 171 (i64.load offset=0 (i32.add (get_local 305) (get_local 74))))
- (set_local 306 (i32.const 576))
- (set_local 306 (i32.add (get_local 279) (get_local 306)))
- (set_local 172 (i64.load offset=0 (i32.add (get_local 306) (get_local 74))))
- (set_local 307 (i32.const 704))
- (set_local 307 (i32.add (get_local 279) (get_local 307)))
- (set_local 173 (i64.load offset=0 (i32.add (get_local 307) (get_local 74))))
- (set_local 174 (i64.load offset=528 (get_local 279)))
- (set_local 175 (i64.load offset=544 (get_local 279)))
- (set_local 176 (i64.load offset=560 (get_local 279)))
- (set_local 308 (i32.const 528))
- (set_local 308 (i32.add (get_local 279) (get_local 308)))
- (set_local 177 (i64.load offset=0 (i32.add (get_local 308) (get_local 74))))
- (set_local 309 (i32.const 544))
- (set_local 309 (i32.add (get_local 279) (get_local 309)))
- (set_local 178 (i64.load offset=0 (i32.add (get_local 309) (get_local 74))))
- (set_local 310 (i32.const 560))
- (set_local 310 (i32.add (get_local 279) (get_local 310)))
- (set_local 179 (i64.load offset=0 (i32.add (get_local 310) (get_local 74))))
- (set_local 180 (i64.load offset=512 (get_local 279)))
- (set_local 311 (i32.const 512))
- (set_local 311 (i32.add (get_local 279) (get_local 311)))
- (i64.store offset=0 (i32.add (get_local 0) (get_local 74)) (i64.select (get_local 73) (i64.select (get_local 69) (i64.select (get_local 62) (i64.load offset=0 (i32.add (get_local 311) (get_local 74))) (get_local 51)) (get_local 51)) (get_local 51)))
- (i64.store offset=0 (get_local 0) (i64.select (get_local 73) (i64.select (get_local 69) (i64.select (get_local 62) (get_local 180) (get_local 51)) (get_local 51)) (get_local 51)))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 24)) (i64.select (get_local 73) (i64.select (get_local 69) (i64.select (get_local 66) (get_local 4) (i64.select (get_local 62) (i64.or (get_local 177) (get_local 178)) (get_local 179))) (get_local 51)) (get_local 51)))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 16)) (i64.select (get_local 73) (i64.select (get_local 69) (i64.select (get_local 66) (get_local 3) (i64.select (get_local 62) (i64.or (get_local 174) (get_local 175)) (get_local 176))) (get_local 51)) (get_local 51)))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 56)) (i64.select (get_local 73) (i64.select (get_local 66) (get_local 8) (i64.select (get_local 69) (i64.or (i64.select (get_local 66) (get_local 8) (i64.select (get_local 62) (i64.or (get_local 160) (get_local 161)) (get_local 162))) (i64.select (get_local 67) (get_local 163) (get_local 51))) (i64.select (get_local 61) (get_local 4) (i64.select (get_local 57) (i64.or (get_local 158) (get_local 157)) (get_local 159))))) (get_local 51)))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 48)) (i64.select (get_local 73) (i64.select (get_local 66) (get_local 7) (i64.select (get_local 69) (i64.or (i64.select (get_local 66) (get_local 7) (i64.select (get_local 62) (i64.or (get_local 153) (get_local 154)) (get_local 155))) (i64.select (get_local 67) (get_local 156) (get_local 51))) (i64.select (get_local 61) (get_local 3) (i64.select (get_local 57) (i64.or (get_local 151) (get_local 150)) (get_local 152))))) (get_local 51)))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 40)) (i64.select (get_local 73) (i64.select (get_local 66) (get_local 6) (i64.select (get_local 69) (i64.or (i64.select (get_local 62) (get_local 172) (get_local 51)) (i64.select (get_local 109) (get_local 2) (i64.select (get_local 67) (i64.or (get_local 169) (get_local 170)) (get_local 171)))) (i64.select (get_local 57) (get_local 173) (get_local 51)))) (get_local 51)))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 32)) (i64.select (get_local 73) (i64.select (get_local 66) (get_local 5) (i64.select (get_local 69) (i64.or (i64.select (get_local 62) (get_local 167) (get_local 51)) (i64.select (get_local 109) (get_local 1) (i64.select (get_local 67) (i64.or (get_local 164) (get_local 165)) (get_local 166)))) (i64.select (get_local 57) (get_local 168) (get_local 51)))) (get_local 51)))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 120)) (i64.select (get_local 66) (get_local 16) (i64.select (get_local 73) (i64.or (i64.select (get_local 66) (get_local 16) (i64.select (get_local 69) (i64.or (i64.select (get_local 66) (get_local 16) (i64.select (get_local 62) (i64.or (get_local 79) (get_local 80)) (get_local 81))) (i64.select (get_local 67) (get_local 82) (get_local 51))) (i64.select (get_local 61) (get_local 12) (i64.select (get_local 57) (i64.or (get_local 77) (get_local 76)) (get_local 78))))) (i64.select (get_local 72) (i64.select (get_local 70) (get_local 83) (get_local 51)) (get_local 51))) (i64.select (get_local 54) (get_local 8) (i64.select (get_local 56) (i64.or (i64.select (get_local 54) (get_local 8) (i64.select (get_local 53) (i64.or (get_local 33) (get_local 44)) (get_local 46))) (i64.select (get_local 55) (get_local 75) (get_local 51))) (i64.select (get_local 52) (get_local 4) (i64.select (get_local 50) (i64.or (get_local 35) (get_local 17)) (get_local 40))))))))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 112)) (i64.select (get_local 66) (get_local 15) (i64.select (get_local 73) (i64.or (i64.select (get_local 66) (get_local 15) (i64.select (get_local 69) (i64.or (i64.select (get_local 66) (get_local 15) (i64.select (get_local 62) (i64.or (get_local 63) (get_local 64)) (get_local 65))) (i64.select (get_local 67) (get_local 68) (get_local 51))) (i64.select (get_local 61) (get_local 11) (i64.select (get_local 57) (i64.or (get_local 59) (get_local 58)) (get_local 60))))) (i64.select (get_local 72) (i64.select (get_local 70) (get_local 71) (get_local 51)) (get_local 51))) (i64.select (get_local 54) (get_local 7) (i64.select (get_local 56) (i64.or (i64.select (get_local 54) (get_local 7) (i64.select (get_local 53) (i64.or (get_local 36) (get_local 49)) (get_local 38))) (i64.select (get_local 55) (get_local 41) (get_local 51))) (i64.select (get_local 52) (get_local 3) (i64.select (get_local 50) (i64.or (get_local 43) (get_local 39)) (get_local 34))))))))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 104)) (i64.select (get_local 66) (get_local 14) (i64.select (get_local 73) (i64.or (i64.select (get_local 66) (get_local 14) (i64.select (get_local 69) (i64.or (i64.select (get_local 62) (get_local 143) (get_local 51)) (i64.select (get_local 109) (get_local 10) (i64.select (get_local 67) (i64.or (get_local 140) (get_local 141)) (get_local 142)))) (i64.select (get_local 57) (get_local 144) (get_local 51)))) (i64.select (get_local 72) (i64.select (get_local 94) (get_local 6) (i64.select (get_local 70) (i64.or (get_local 137) (get_local 138)) (get_local 139))) (get_local 51))) (i64.select (get_local 54) (get_local 6) (i64.select (get_local 56) (i64.or (i64.select (get_local 53) (get_local 148) (get_local 51)) (i64.select (get_local 135) (get_local 2) (i64.select (get_local 55) (i64.or (get_local 145) (get_local 146)) (get_local 147)))) (i64.select (get_local 50) (get_local 149) (get_local 51)))))))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 96)) (i64.select (get_local 66) (get_local 13) (i64.select (get_local 73) (i64.or (i64.select (get_local 66) (get_local 13) (i64.select (get_local 69) (i64.or (i64.select (get_local 62) (get_local 130) (get_local 51)) (i64.select (get_local 109) (get_local 9) (i64.select (get_local 67) (i64.or (get_local 127) (get_local 128)) (get_local 129)))) (i64.select (get_local 57) (get_local 131) (get_local 51)))) (i64.select (get_local 72) (i64.select (get_local 94) (get_local 5) (i64.select (get_local 70) (i64.or (get_local 124) (get_local 125)) (get_local 126))) (get_local 51))) (i64.select (get_local 54) (get_local 5) (i64.select (get_local 56) (i64.or (i64.select (get_local 53) (get_local 136) (get_local 51)) (i64.select (get_local 135) (get_local 1) (i64.select (get_local 55) (i64.or (get_local 132) (get_local 133)) (get_local 134)))) (i64.select (get_local 50) (get_local 37) (get_local 51)))))))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 72)) (i64.select (get_local 66) (get_local 10) (i64.select (get_local 73) (i64.or (i64.select (get_local 69) (i64.select (get_local 62) (get_local 122) (get_local 51)) (get_local 51)) (i64.select (get_local 94) (get_local 2) (i64.select (get_local 72) (i64.or (i64.select (get_local 94) (get_local 2) (i64.select (get_local 70) (i64.or (get_local 118) (get_local 119)) (get_local 120))) (i64.select (get_local 87) (get_local 121) (get_local 51))) (i64.select (get_local 109) (get_local 6) (i64.select (get_local 67) (i64.or (get_local 115) (get_local 116)) (get_local 117)))))) (i64.select (get_local 56) (i64.select (get_local 53) (get_local 123) (get_local 51)) (get_local 51)))))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 64)) (i64.select (get_local 66) (get_local 9) (i64.select (get_local 73) (i64.or (i64.select (get_local 69) (i64.select (get_local 62) (get_local 114) (get_local 51)) (get_local 51)) (i64.select (get_local 94) (get_local 1) (i64.select (get_local 72) (i64.or (i64.select (get_local 94) (get_local 1) (i64.select (get_local 70) (i64.or (get_local 110) (get_local 111)) (get_local 112))) (i64.select (get_local 87) (get_local 113) (get_local 51))) (i64.select (get_local 109) (get_local 5) (i64.select (get_local 67) (i64.or (get_local 106) (get_local 107)) (get_local 108)))))) (i64.select (get_local 56) (i64.select (get_local 53) (get_local 45) (get_local 51)) (get_local 51)))))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 88)) (i64.select (get_local 66) (get_local 12) (i64.select (get_local 73) (i64.or (i64.select (get_local 69) (i64.select (get_local 66) (get_local 12) (i64.select (get_local 62) (i64.or (get_local 47) (get_local 48)) (get_local 97))) (get_local 51)) (i64.select (get_local 94) (get_local 4) (i64.select (get_local 72) (i64.or (i64.select (get_local 70) (get_local 101) (get_local 51)) (i64.select (get_local 91) (get_local 8) (i64.select (get_local 87) (i64.or (get_local 98) (get_local 99)) (get_local 100)))) (i64.select (get_local 67) (get_local 102) (get_local 51))))) (i64.select (get_local 56) (i64.select (get_local 54) (get_local 4) (i64.select (get_local 53) (i64.or (get_local 104) (get_local 103)) (get_local 105))) (get_local 51)))))
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 80)) (i64.select (get_local 66) (get_local 11) (i64.select (get_local 73) (i64.or (i64.select (get_local 69) (i64.select (get_local 66) (get_local 11) (i64.select (get_local 62) (i64.or (get_local 84) (get_local 85)) (get_local 86))) (get_local 51)) (i64.select (get_local 94) (get_local 3) (i64.select (get_local 72) (i64.or (i64.select (get_local 70) (get_local 92) (get_local 51)) (i64.select (get_local 91) (get_local 7) (i64.select (get_local 87) (i64.or (get_local 88) (get_local 89)) (get_local 90)))) (i64.select (get_local 67) (get_local 93) (get_local 51))))) (i64.select (get_local 56) (i64.select (get_local 54) (get_local 3) (i64.select (get_local 53) (i64.or (get_local 96) (get_local 95)) (get_local 42))) (get_local 51)))))
- (set_local 183 (i32.const 1024))
- (set_local 279 (i32.add (get_local 279) (get_local 183)))
- (set_local 183 (i32.const __stack_pointer))
- (set_local 279 (i32.store offset=0 (get_local 183) (get_local 279)))
- (return)
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/load-ext.wast b/prototype-wasmate/test/expected-output/load-ext.wast
deleted file mode 100644
index b978bfd..0000000
--- a/prototype-wasmate/test/expected-output/load-ext.wast
+++ /dev/null
@@ -1,71 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "sext_i8_i32" $sext_i8_i32)
- (export "zext_i8_i32" $zext_i8_i32)
- (export "sext_i16_i32" $sext_i16_i32)
- (export "zext_i16_i32" $zext_i16_i32)
- (export "sext_i8_i64" $sext_i8_i64)
- (export "zext_i8_i64" $zext_i8_i64)
- (export "sext_i16_i64" $sext_i16_i64)
- (export "zext_i16_i64" $zext_i16_i64)
- (export "sext_i32_i64" $sext_i32_i64)
- (export "zext_i32_i64" $zext_i32_i64)
- (func $sext_i8_i32
- (param i32)
- (result i32)
- (return (i32.load8_s offset=0 (get_local 0)))
- )
- (func $zext_i8_i32
- (param i32)
- (result i32)
- (return (i32.load8_u offset=0 (get_local 0)))
- )
- (func $sext_i16_i32
- (param i32)
- (result i32)
- (return (i32.load16_s offset=0 (get_local 0)))
- )
- (func $zext_i16_i32
- (param i32)
- (result i32)
- (return (i32.load16_u offset=0 (get_local 0)))
- )
- (func $sext_i8_i64
- (param i32)
- (result i64)
- (return (i64.load8_s offset=0 (get_local 0)))
- )
- (func $zext_i8_i64
- (param i32)
- (result i64)
- (return (i64.load8_u offset=0 (get_local 0)))
- )
- (func $sext_i16_i64
- (param i32)
- (result i64)
- (return (i64.load16_s offset=0 (get_local 0)))
- )
- (func $zext_i16_i64
- (param i32)
- (result i64)
- (return (i64.load16_u offset=0 (get_local 0)))
- )
- (func $sext_i32_i64
- (param i32)
- (result i64)
- (return (i64.load32_s offset=0 (get_local 0)))
- )
- (func $zext_i32_i64
- (param i32)
- (result i64)
- (return (i64.load32_u offset=0 (get_local 0)))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/load-store-i1.wast b/prototype-wasmate/test/expected-output/load-store-i1.wast
deleted file mode 100644
index 9da9ccb..0000000
--- a/prototype-wasmate/test/expected-output/load-store-i1.wast
+++ /dev/null
@@ -1,51 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "load_u_i1_i32" $load_u_i1_i32)
- (export "load_s_i1_i32" $load_s_i1_i32)
- (export "load_u_i1_i64" $load_u_i1_i64)
- (export "load_s_i1_i64" $load_s_i1_i64)
- (export "store_i32_i1" $store_i32_i1)
- (export "store_i64_i1" $store_i64_i1)
- (func $load_u_i1_i32
- (param i32)
- (result i32)
- (return (i32.load8_u offset=0 (get_local 0)))
- )
- (func $load_s_i1_i32
- (param i32)
- (result i32)
- (local i32)
- (set_local 1 (i32.const 31))
- (return (i32.shr_s (i32.shl (i32.load8_u offset=0 (get_local 0)) (get_local 1)) (get_local 1)))
- )
- (func $load_u_i1_i64
- (param i32)
- (result i64)
- (return (i64.load8_u offset=0 (get_local 0)))
- )
- (func $load_s_i1_i64
- (param i32)
- (result i64)
- (local i64)
- (set_local 1 (i64.const 63))
- (return (i64.shr_s (i64.shl (i64.load8_u offset=0 (get_local 0)) (get_local 1)) (get_local 1)))
- )
- (func $store_i32_i1
- (param i32) (param i32)
- (i32.store8 offset=0 (get_local 0) (i32.and (get_local 1) (i32.const 1)))
- (return)
- )
- (func $store_i64_i1
- (param i32) (param i64)
- (i64.store8 offset=0 (get_local 0) (i64.and (get_local 1) (i64.const 1)))
- (return)
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/load.wast b/prototype-wasmate/test/expected-output/load.wast
deleted file mode 100644
index 22196a3..0000000
--- a/prototype-wasmate/test/expected-output/load.wast
+++ /dev/null
@@ -1,35 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "ldi32" $ldi32)
- (export "ldi64" $ldi64)
- (export "ldf32" $ldf32)
- (export "ldf64" $ldf64)
- (func $ldi32
- (param i32)
- (result i32)
- (return (i32.load offset=0 (get_local 0)))
- )
- (func $ldi64
- (param i32)
- (result i64)
- (return (i64.load offset=0 (get_local 0)))
- )
- (func $ldf32
- (param i32)
- (result f32)
- (return (f32.load offset=0 (get_local 0)))
- )
- (func $ldf64
- (param i32)
- (result f64)
- (return (f64.load offset=0 (get_local 0)))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/memory-addr32.wast b/prototype-wasmate/test/expected-output/memory-addr32.wast
deleted file mode 100644
index f20f322..0000000
--- a/prototype-wasmate/test/expected-output/memory-addr32.wast
+++ /dev/null
@@ -1,22 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "memory_size" $memory_size)
- (export "grow_memory" $grow_memory)
- (func $memory_size
- (result i32)
- (return (memory_size ))
- )
- (func $grow_memory
- (param i32)
- (grow_memory (get_local 0))
- (return)
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/memory-addr64.wast b/prototype-wasmate/test/expected-output/memory-addr64.wast
deleted file mode 100644
index 8724110..0000000
--- a/prototype-wasmate/test/expected-output/memory-addr64.wast
+++ /dev/null
@@ -1,22 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "memory_size" $memory_size)
- (export "grow_memory" $grow_memory)
- (func $memory_size
- (result i64)
- (return (memory_size ))
- )
- (func $grow_memory
- (param i64)
- (grow_memory (get_local 0))
- (return)
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/offset-folding.wast b/prototype-wasmate/test/expected-output/offset-folding.wast
deleted file mode 100644
index 0255d09..0000000
--- a/prototype-wasmate/test/expected-output/offset-folding.wast
+++ /dev/null
@@ -1,31 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "test0" $test0)
- (export "test1" $test1)
- (export "test2" $test2)
- (export "test3" $test3)
- (func $test0
- (result i32)
- (return (i32.const $x+188))
- )
- (func $test1
- (result i32)
- (return (i32.const 188))
- )
- (func $test2
- (result i32)
- (return (i32.const $x))
- )
- (func $test3
- (result i32)
- (return (i32.const 0))
- )
- (memory 200 200
- )
-)
diff --git a/prototype-wasmate/test/expected-output/offset.wast b/prototype-wasmate/test/expected-output/offset.wast
deleted file mode 100644
index 20316d5..0000000
--- a/prototype-wasmate/test/expected-output/offset.wast
+++ /dev/null
@@ -1,101 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "load_i32_with_folded_offset" $load_i32_with_folded_offset)
- (export "load_i32_with_unfolded_offset" $load_i32_with_unfolded_offset)
- (export "load_i64_with_folded_offset" $load_i64_with_folded_offset)
- (export "load_i64_with_unfolded_offset" $load_i64_with_unfolded_offset)
- (export "store_i32_with_folded_offset" $store_i32_with_folded_offset)
- (export "store_i32_with_unfolded_offset" $store_i32_with_unfolded_offset)
- (export "store_i64_with_folded_offset" $store_i64_with_folded_offset)
- (export "store_i64_with_unfolded_offset" $store_i64_with_unfolded_offset)
- (export "load_i32_from_numeric_address" $load_i32_from_numeric_address)
- (export "load_i32_from_global_address" $load_i32_from_global_address)
- (export "store_i32_to_numeric_address" $store_i32_to_numeric_address)
- (export "store_i32_to_global_address" $store_i32_to_global_address)
- (export "load_i8_s_with_folded_offset" $load_i8_s_with_folded_offset)
- (export "load_i8_u_with_folded_offset" $load_i8_u_with_folded_offset)
- (export "store_i8_with_folded_offset" $store_i8_with_folded_offset)
- (func $load_i32_with_folded_offset
- (param i32)
- (result i32)
- (return (i32.load offset=24 (get_local 0)))
- )
- (func $load_i32_with_unfolded_offset
- (param i32)
- (result i32)
- (return (i32.load offset=0 (i32.add (get_local 0) (i32.const 24))))
- )
- (func $load_i64_with_folded_offset
- (param i32)
- (result i64)
- (return (i64.load offset=24 (get_local 0)))
- )
- (func $load_i64_with_unfolded_offset
- (param i32)
- (result i64)
- (return (i64.load offset=0 (i32.add (get_local 0) (i32.const 24))))
- )
- (func $store_i32_with_folded_offset
- (param i32)
- (i32.store offset=24 (get_local 0) (i32.const 0))
- (return)
- )
- (func $store_i32_with_unfolded_offset
- (param i32)
- (i32.store offset=0 (i32.add (get_local 0) (i32.const 24)) (i32.const 0))
- (return)
- )
- (func $store_i64_with_folded_offset
- (param i32)
- (i64.store offset=24 (get_local 0) (i64.const 0))
- (return)
- )
- (func $store_i64_with_unfolded_offset
- (param i32)
- (i64.store offset=0 (i32.add (get_local 0) (i32.const 24)) (i64.const 0))
- (return)
- )
- (func $load_i32_from_numeric_address
- (result i32)
- (return (i32.load offset=42 (i32.const 0)))
- )
- (func $load_i32_from_global_address
- (result i32)
- (return (i32.load offset=0 (i32.const 0)))
- )
- (func $store_i32_to_numeric_address
- (local i32)
- (set_local 0 (i32.const 0))
- (i32.store offset=42 (get_local 0) (get_local 0))
- (return)
- )
- (func $store_i32_to_global_address
- (local i32)
- (set_local 0 (i32.const 0))
- (i32.store offset=0 (get_local 0) (get_local 0))
- (return)
- )
- (func $load_i8_s_with_folded_offset
- (param i32)
- (result i32)
- (return (i32.load8_s offset=24 (get_local 0)))
- )
- (func $load_i8_u_with_folded_offset
- (param i32)
- (result i32)
- (return (i32.load8_u offset=24 (get_local 0)))
- )
- (func $store_i8_with_folded_offset
- (param i32)
- (i32.store8 offset=24 (get_local 0) (i32.const 0))
- (return)
- )
- (memory 4 4
- )
-)
diff --git a/prototype-wasmate/test/expected-output/permute.wast b/prototype-wasmate/test/expected-output/permute.wast
deleted file mode 100644
index d401d21..0000000
--- a/prototype-wasmate/test/expected-output/permute.wast
+++ /dev/null
@@ -1,14 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (memory 256 256
- (segment 0
- "hE?\8ds\0e7\db[g\8f\955it\c4k\0b\e2\ef\bcld\e0\fd\8c\9e\86&~\d8\94\89+\c8\a4\c2\f2\fb\12\1cej\d99\b7\b3W\c6w\af\ae\caM>\92ub\96\84\b6\b0N\ec;q\11\f7\bf\e31\e6\a7\90\fc\03\e4\aa\d7\cc- \15\83DH\80r\fa\01X\eb:_\00A\cd\e9o`n\ac(\ad\ba0\dcyS#\f4$\"\82\7f}\8e\f6\93L\'\bb\bdZ\ed4\18\f3\c0\cf\ff\a3\f8\07\05\9c\d3\0f\a0\06m%\\\f9^B<\e7\b1\17\98]\0c\dd\c5\f5p\e5\fezJ\ab,F\a5@\08R\85!\b8\1a\ce\d5\04\nI\a6\d1\9f\8a\c9\a9|\97\9aG\be8Y\8b\c1\1b\d4\ea\b9\19\14\9b\9163\d0\1d\d2\df=C\1f\0dc\e1\c7QUv\02\b5aK\b4\tV\c3x\e8\a1\1e\81\de/{\da\d6Pf\10T\f0)\88\16\ee\a8\9d\f1\cbO*\b2\99\132\87.\a2"
- )
- )
-)
diff --git a/prototype-wasmate/test/expected-output/phi.wast b/prototype-wasmate/test/expected-output/phi.wast
deleted file mode 100644
index 1204b20..0000000
--- a/prototype-wasmate/test/expected-output/phi.wast
+++ /dev/null
@@ -1,39 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "test0" $test0)
- (export "test1" $test1)
- (func $test0
- (param i32)
- (result i32)
- (block $BB0_2
- (br_if (i32.gt_s (get_local 0) (i32.const -1)) $BB0_2)
- (set_local 0 (i32.div_s (get_local 0) (i32.const 3)))
- )
- (return (get_local 0))
- )
- (func $test1
- (param i32)
- (result i32)
- (local i32 i32 i32 i32 i32)
- (set_local 2 (i32.const 1))
- (set_local 3 (i32.const 0))
- (set_local 4 (get_local 2))
- (set_local 5 (get_local 3))
- (loop $BB1_2 $BB1_1
- (set_local 5 (i32.add (get_local 5) (get_local 2)))
- (set_local 1 (get_local 4))
- (set_local 4 (get_local 3))
- (set_local 3 (get_local 1))
- (br_if (i32.lt_s (get_local 5) (get_local 0)) $BB1_1)
- )
- (return (get_local 4))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/reg-stackify.wast b/prototype-wasmate/test/expected-output/reg-stackify.wast
deleted file mode 100644
index cccad6f..0000000
--- a/prototype-wasmate/test/expected-output/reg-stackify.wast
+++ /dev/null
@@ -1,53 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "no0" $no0)
- (export "no1" $no1)
- (export "yes0" $yes0)
- (export "yes1" $yes1)
- (export "stack_uses" $stack_uses)
- (func $no0
- (param i32) (param i32)
- (result i32)
- (set_local 1 (i32.load offset=0 (get_local 1)))
- (i32.store offset=0 (get_local 0) (i32.const 0))
- (return (get_local 1))
- )
- (func $no1
- (param i32) (param i32)
- (result i32)
- (set_local 1 (i32.load offset=0 (get_local 1)))
- (i32.store offset=0 (get_local 0) (i32.const 0))
- (return (get_local 1))
- )
- (func $yes0
- (param i32) (param i32)
- (result i32)
- (i32.store offset=0 (get_local 0) (i32.const 0))
- (return (i32.load offset=0 (get_local 1)))
- )
- (func $yes1
- (param i32)
- (result i32)
- (return (i32.load offset=0 (get_local 0)))
- )
- (func $stack_uses
- (param i32) (param i32) (param i32) (param i32)
- (result i32)
- (local i32 i32)
- (set_local 4 (i32.const 1))
- (set_local 5 (i32.const 2))
- (block $BB4_2
- (br_if (i32.ne (i32.xor (i32.xor (i32.lt_s (get_local 0) (get_local 4)) (i32.lt_s (get_local 1) (get_local 5))) (i32.xor (i32.lt_s (get_local 2) (get_local 4)) (i32.lt_s (get_local 3) (get_local 5)))) (get_local 4)) $BB4_2)
- (return (i32.const 0))
- )
- (return (get_local 4))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/relocation.wast b/prototype-wasmate/test/expected-output/relocation.wast
deleted file mode 100644
index 29137bc..0000000
--- a/prototype-wasmate/test/expected-output/relocation.wast
+++ /dev/null
@@ -1,20 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "main" $main)
- (func $main
- (result i32)
- (local i32)
- (return (i32.load offset=0 (i32.const 4)))
- )
- (memory 8 8
- (segment 0
- "\04\00\00\00\00\00\00\00"
- )
- )
-)
diff --git a/prototype-wasmate/test/expected-output/return-int32.wast b/prototype-wasmate/test/expected-output/return-int32.wast
deleted file mode 100644
index ece1412..0000000
--- a/prototype-wasmate/test/expected-output/return-int32.wast
+++ /dev/null
@@ -1,17 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "return_i32" $return_i32)
- (func $return_i32
- (param i32)
- (result i32)
- (return (get_local 0))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/return-void.wast b/prototype-wasmate/test/expected-output/return-void.wast
deleted file mode 100644
index f981a06..0000000
--- a/prototype-wasmate/test/expected-output/return-void.wast
+++ /dev/null
@@ -1,15 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "return_void" $return_void)
- (func $return_void
- (return)
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/returned.wast b/prototype-wasmate/test/expected-output/returned.wast
deleted file mode 100644
index fc44276..0000000
--- a/prototype-wasmate/test/expected-output/returned.wast
+++ /dev/null
@@ -1,25 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "_Z3foov" $_Z3foov)
- (export "_Z3barPvS_l" $_Z3barPvS_l)
- (func $_Z3foov
- (result i32)
- (return (call_import _ZN5AppleC1Ev (call_import _Znwm (i32.const 1))))
- )
- (func $_Z3barPvS_l
- (param i32) (param i32) (param i32)
- (result i32)
- (return (call_import $memcpy (get_local 0) (get_local 1) (get_local 2)))
- )
- (import $_ZN5AppleC1Ev "misctest" "_ZN5AppleC1Ev" (param i32) (result i32))
- (import $_Znwm "misctest" "_Znwm" (param i32) (result i32))
- (import $memcpy "misctest" "memcpy" (param i32 i32 i32) (result i32))
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/select.wast b/prototype-wasmate/test/expected-output/select.wast
deleted file mode 100644
index b87ec12..0000000
--- a/prototype-wasmate/test/expected-output/select.wast
+++ /dev/null
@@ -1,83 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "select_i32_bool" $select_i32_bool)
- (export "select_i32_eq" $select_i32_eq)
- (export "select_i32_ne" $select_i32_ne)
- (export "select_i64_bool" $select_i64_bool)
- (export "select_i64_eq" $select_i64_eq)
- (export "select_i64_ne" $select_i64_ne)
- (export "select_f32_bool" $select_f32_bool)
- (export "select_f32_eq" $select_f32_eq)
- (export "select_f32_ne" $select_f32_ne)
- (export "select_f64_bool" $select_f64_bool)
- (export "select_f64_eq" $select_f64_eq)
- (export "select_f64_ne" $select_f64_ne)
- (func $select_i32_bool
- (param i32) (param i32) (param i32)
- (result i32)
- (return (i32.select (get_local 0) (get_local 1) (get_local 2)))
- )
- (func $select_i32_eq
- (param i32) (param i32) (param i32)
- (result i32)
- (return (i32.select (get_local 0) (get_local 2) (get_local 1)))
- )
- (func $select_i32_ne
- (param i32) (param i32) (param i32)
- (result i32)
- (return (i32.select (get_local 0) (get_local 1) (get_local 2)))
- )
- (func $select_i64_bool
- (param i32) (param i64) (param i64)
- (result i64)
- (return (i64.select (get_local 0) (get_local 1) (get_local 2)))
- )
- (func $select_i64_eq
- (param i32) (param i64) (param i64)
- (result i64)
- (return (i64.select (get_local 0) (get_local 2) (get_local 1)))
- )
- (func $select_i64_ne
- (param i32) (param i64) (param i64)
- (result i64)
- (return (i64.select (get_local 0) (get_local 1) (get_local 2)))
- )
- (func $select_f32_bool
- (param i32) (param f32) (param f32)
- (result f32)
- (return (f32.select (get_local 0) (get_local 1) (get_local 2)))
- )
- (func $select_f32_eq
- (param i32) (param f32) (param f32)
- (result f32)
- (return (f32.select (get_local 0) (get_local 2) (get_local 1)))
- )
- (func $select_f32_ne
- (param i32) (param f32) (param f32)
- (result f32)
- (return (f32.select (get_local 0) (get_local 1) (get_local 2)))
- )
- (func $select_f64_bool
- (param i32) (param f64) (param f64)
- (result f64)
- (return (f64.select (get_local 0) (get_local 1) (get_local 2)))
- )
- (func $select_f64_eq
- (param i32) (param f64) (param f64)
- (result f64)
- (return (f64.select (get_local 0) (get_local 2) (get_local 1)))
- )
- (func $select_f64_ne
- (param i32) (param f64) (param f64)
- (result f64)
- (return (f64.select (get_local 0) (get_local 1) (get_local 2)))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/signext-zeroext.wast b/prototype-wasmate/test/expected-output/signext-zeroext.wast
deleted file mode 100644
index f50ee39..0000000
--- a/prototype-wasmate/test/expected-output/signext-zeroext.wast
+++ /dev/null
@@ -1,39 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "z2s_func" $z2s_func)
- (export "s2z_func" $s2z_func)
- (export "z2s_call" $z2s_call)
- (export "s2z_call" $s2z_call)
- (func $z2s_func
- (param i32)
- (result i32)
- (local i32)
- (set_local 1 (i32.const 24))
- (return (i32.shr_s (i32.shl (get_local 0) (get_local 1)) (get_local 1)))
- )
- (func $s2z_func
- (param i32)
- (result i32)
- (return (i32.and (get_local 0) (i32.const 255)))
- )
- (func $z2s_call
- (param i32)
- (result i32)
- (return (call $z2s_func (i32.and (get_local 0) (i32.const 255))))
- )
- (func $s2z_call
- (param i32)
- (result i32)
- (local i32)
- (set_local 1 (i32.const 24))
- (return (i32.shr_s (i32.shl (call $s2z_func (i32.shr_s (i32.shl (get_local 0) (get_local 1)) (get_local 1))) (get_local 1)) (get_local 1)))
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/store-results.wast b/prototype-wasmate/test/expected-output/store-results.wast
deleted file mode 100644
index 6c8e82d..0000000
--- a/prototype-wasmate/test/expected-output/store-results.wast
+++ /dev/null
@@ -1,41 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "single_block" $single_block)
- (export "foo" $foo)
- (export "bar" $bar)
- (func $single_block
- (param i32)
- (result i32)
- (return (i32.store offset=0 (get_local 0) (i32.const 0)))
- )
- (func $foo
- (local i32 i32)
- (set_local 0 (i32.const 0))
- (set_local 1 (get_local 0))
- (loop $BB1_2 $BB1_1
- (set_local 1 (i32.add (get_local 1) (i32.const 1)))
- (i32.store offset=0 (get_local 0) (get_local 0))
- (br_if (i32.ne (get_local 1) (i32.const 256)) $BB1_1)
- )
- (return)
- )
- (func $bar
- (local i32 f32)
- (set_local 1 (f32.const 0x0p0))
- (set_local 0 (i32.const 0))
- (loop $BB2_2 $BB2_1
- (set_local 1 (f32.add (get_local 1) (f32.const 0x1p0)))
- (i32.store offset=0 (get_local 0) (get_local 0))
- (br_if (f32.ne (get_local 1) (f32.const 0x1p8)) $BB2_1)
- )
- (return)
- )
- (memory 12 12
- )
-)
diff --git a/prototype-wasmate/test/expected-output/store-trunc.wast b/prototype-wasmate/test/expected-output/store-trunc.wast
deleted file mode 100644
index ce24890..0000000
--- a/prototype-wasmate/test/expected-output/store-trunc.wast
+++ /dev/null
@@ -1,41 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "trunc_i8_i32" $trunc_i8_i32)
- (export "trunc_i16_i32" $trunc_i16_i32)
- (export "trunc_i8_i64" $trunc_i8_i64)
- (export "trunc_i16_i64" $trunc_i16_i64)
- (export "trunc_i32_i64" $trunc_i32_i64)
- (func $trunc_i8_i32
- (param i32) (param i32)
- (i32.store8 offset=0 (get_local 0) (get_local 1))
- (return)
- )
- (func $trunc_i16_i32
- (param i32) (param i32)
- (i32.store16 offset=0 (get_local 0) (get_local 1))
- (return)
- )
- (func $trunc_i8_i64
- (param i32) (param i64)
- (i64.store8 offset=0 (get_local 0) (get_local 1))
- (return)
- )
- (func $trunc_i16_i64
- (param i32) (param i64)
- (i64.store16 offset=0 (get_local 0) (get_local 1))
- (return)
- )
- (func $trunc_i32_i64
- (param i32) (param i64)
- (i64.store32 offset=0 (get_local 0) (get_local 1))
- (return)
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/store.wast b/prototype-wasmate/test/expected-output/store.wast
deleted file mode 100644
index b950b22..0000000
--- a/prototype-wasmate/test/expected-output/store.wast
+++ /dev/null
@@ -1,35 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "sti32" $sti32)
- (export "sti64" $sti64)
- (export "stf32" $stf32)
- (export "stf64" $stf64)
- (func $sti32
- (param i32) (param i32)
- (i32.store offset=0 (get_local 0) (get_local 1))
- (return)
- )
- (func $sti64
- (param i32) (param i64)
- (i64.store offset=0 (get_local 0) (get_local 1))
- (return)
- )
- (func $stf32
- (param i32) (param f32)
- (f32.store offset=0 (get_local 0) (get_local 1))
- (return)
- )
- (func $stf64
- (param i32) (param f64)
- (f64.store offset=0 (get_local 0) (get_local 1))
- (return)
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/switch.wast b/prototype-wasmate/test/expected-output/switch.wast
deleted file mode 100644
index f1bc969..0000000
--- a/prototype-wasmate/test/expected-output/switch.wast
+++ /dev/null
@@ -1,81 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "bar32" $bar32)
- (export "bar64" $bar64)
- (func $bar32
- (param i32)
- (block $BB0_8
- (br_if (i32.gt_u (get_local 0) (i32.const 23)) $BB0_8)
- (block $BB0_7
- (block $BB0_6
- (block $BB0_5
- (block $BB0_4
- (block $BB0_3
- (block $BB0_2
- (tableswitch (get_local 0) $BB0_3 $BB0_3 $BB0_3 $BB0_3 $BB0_3 $BB0_3 $BB0_3 $BB0_3 $BB0_2 $BB0_2 $BB0_2 $BB0_2 $BB0_2 $BB0_2 $BB0_2 $BB0_2 $BB0_4 $BB0_4 $BB0_4 $BB0_4 $BB0_4 $BB0_4 $BB0_5 $BB0_6 $BB0_7)
- )
- (call_import $foo1)
- (br $BB0_8)
- )
- (call_import $foo0)
- (br $BB0_8)
- )
- (call_import $foo2)
- (br $BB0_8)
- )
- (call_import $foo3)
- (br $BB0_8)
- )
- (call_import $foo4)
- (br $BB0_8)
- )
- (call_import $foo5)
- )
- (return)
- )
- (func $bar64
- (param i64)
- (block $BB1_8
- (br_if (i64.gt_u (get_local 0) (i64.const 23)) $BB1_8)
- (block $BB1_7
- (block $BB1_6
- (block $BB1_5
- (block $BB1_4
- (block $BB1_3
- (block $BB1_2
- (tableswitch (i32.wrap/i64 (get_local 0)) $BB1_3 $BB1_3 $BB1_3 $BB1_3 $BB1_3 $BB1_3 $BB1_3 $BB1_3 $BB1_2 $BB1_2 $BB1_2 $BB1_2 $BB1_2 $BB1_2 $BB1_2 $BB1_2 $BB1_4 $BB1_4 $BB1_4 $BB1_4 $BB1_4 $BB1_4 $BB1_5 $BB1_6 $BB1_7)
- )
- (call_import $foo1)
- (br $BB1_8)
- )
- (call_import $foo0)
- (br $BB1_8)
- )
- (call_import $foo2)
- (br $BB1_8)
- )
- (call_import $foo3)
- (br $BB1_8)
- )
- (call_import $foo4)
- (br $BB1_8)
- )
- (call_import $foo5)
- )
- (return)
- )
- (import $foo4 "misctest" "foo4")
- (import $foo5 "misctest" "foo5")
- (import $foo0 "misctest" "foo0")
- (import $foo1 "misctest" "foo1")
- (import $foo2 "misctest" "foo2")
- (import $foo3 "misctest" "foo3")
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/symbolic-offset.wast b/prototype-wasmate/test/expected-output/symbolic-offset.wast
deleted file mode 100644
index 84e62ca..0000000
--- a/prototype-wasmate/test/expected-output/symbolic-offset.wast
+++ /dev/null
@@ -1,21 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "f" $f)
- (func $f
- (param i32)
- (param i32)
- (i32.store offset=4 (get_local 0) (get_local 1))
- (return)
- )
- (memory 12 12
- (segment 0
- "\01"
- )
- )
-)
diff --git a/prototype-wasmate/test/expected-output/unreachable.wast b/prototype-wasmate/test/expected-output/unreachable.wast
deleted file mode 100644
index 30c6903..0000000
--- a/prototype-wasmate/test/expected-output/unreachable.wast
+++ /dev/null
@@ -1,28 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "f1" $f1)
- (export "f2" $f2)
- (export "f3" $f3)
- (func $f1
- (result i32)
- (call_import $abort)
- (unreachable)
- )
- (func $f2
- (unreachable)
- (return)
- )
- (func $f3
- (unreachable)
- (return)
- )
- (import $abort "misctest" "abort")
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/unused-argument.wast b/prototype-wasmate/test/expected-output/unused-argument.wast
deleted file mode 100644
index efe0403..0000000
--- a/prototype-wasmate/test/expected-output/unused-argument.wast
+++ /dev/null
@@ -1,29 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "unused_first" $unused_first)
- (export "unused_second" $unused_second)
- (export "call_something" $call_something)
- (func $unused_first
- (param i32) (param i32)
- (result i32)
- (return (get_local 1))
- )
- (func $unused_second
- (param i32) (param i32)
- (result i32)
- (return (get_local 0))
- )
- (func $call_something
- (call_import $return_something)
- (return)
- )
- (import $return_something "misctest" "return_something" (result i32))
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/userstack.wast b/prototype-wasmate/test/expected-output/userstack.wast
deleted file mode 100644
index b73d54b..0000000
--- a/prototype-wasmate/test/expected-output/userstack.wast
+++ /dev/null
@@ -1,68 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "alloca32" $alloca32)
- (export "alloca3264" $alloca3264)
- (export "allocarray" $allocarray)
- (export "dynamic_alloca" $dynamic_alloca)
- (func $alloca32
- (local i32 i32 i32 i32)
- (set_local 0 (i32.const __stack_pointer))
- (set_local 0 (i32.load offset=0 (get_local 0)))
- (set_local 1 (i32.const 16))
- (set_local 3 (i32.sub (get_local 0) (get_local 1)))
- (set_local 1 (i32.const __stack_pointer))
- (set_local 3 (i32.store offset=0 (get_local 1) (get_local 3)))
- (i32.store offset=12 (get_local 3) (i32.const 0))
- (set_local 2 (i32.const 16))
- (set_local 3 (i32.add (get_local 3) (get_local 2)))
- (set_local 2 (i32.const __stack_pointer))
- (set_local 3 (i32.store offset=0 (get_local 2) (get_local 3)))
- (return)
- )
- (func $alloca3264
- (local i32 i32 i32 i32)
- (set_local 0 (i32.const __stack_pointer))
- (set_local 0 (i32.load offset=0 (get_local 0)))
- (set_local 1 (i32.const 16))
- (set_local 3 (i32.sub (get_local 0) (get_local 1)))
- (set_local 1 (i32.const __stack_pointer))
- (set_local 3 (i32.store offset=0 (get_local 1) (get_local 3)))
- (i32.store offset=12 (get_local 3) (i32.const 0))
- (i64.store offset=0 (get_local 3) (i64.const 0))
- (set_local 2 (i32.const 16))
- (set_local 3 (i32.add (get_local 3) (get_local 2)))
- (set_local 2 (i32.const __stack_pointer))
- (set_local 3 (i32.store offset=0 (get_local 2) (get_local 3)))
- (return)
- )
- (func $allocarray
- (local i32 i32 i32 i32 i32 i32)
- (set_local 1 (i32.const __stack_pointer))
- (set_local 1 (i32.load offset=0 (get_local 1)))
- (set_local 2 (i32.const 32))
- (set_local 5 (i32.sub (get_local 1) (get_local 2)))
- (set_local 2 (i32.const __stack_pointer))
- (set_local 5 (i32.store offset=0 (get_local 2) (get_local 5)))
- (set_local 0 (i32.store offset=12 (get_local 5) (i32.const 1)))
- (set_local 4 (i32.const 12))
- (set_local 4 (i32.add (get_local 5) (get_local 4)))
- (i32.store offset=0 (i32.add (get_local 4) (i32.const 4)) (get_local 0))
- (set_local 3 (i32.const 32))
- (set_local 5 (i32.add (get_local 5) (get_local 3)))
- (set_local 3 (i32.const __stack_pointer))
- (set_local 5 (i32.store offset=0 (get_local 3) (get_local 5)))
- (return)
- )
- (func $dynamic_alloca
- (param i32)
- (return)
- )
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/varargs.wast b/prototype-wasmate/test/expected-output/varargs.wast
deleted file mode 100644
index 4fd6f2c..0000000
--- a/prototype-wasmate/test/expected-output/varargs.wast
+++ /dev/null
@@ -1,63 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "end" $end)
- (export "copy" $copy)
- (export "arg_i8" $arg_i8)
- (export "arg_i32" $arg_i32)
- (export "arg_i128" $arg_i128)
- (export "caller_none" $caller_none)
- (export "caller_some" $caller_some)
- (func $end
- (param i32)
- (return)
- )
- (func $copy
- (param i32) (param i32)
- (i32.store offset=0 (get_local 0) (i32.load offset=0 (get_local 1)))
- (return)
- )
- (func $arg_i8
- (param i32)
- (result i32)
- (local i32)
- (set_local 1 (i32.load offset=0 (get_local 0)))
- (i32.store offset=0 (get_local 0) (i32.add (get_local 1) (i32.const 4)))
- (return (i32.load offset=0 (get_local 1)))
- )
- (func $arg_i32
- (param i32)
- (result i32)
- (local i32)
- (set_local 1 (i32.and (i32.add (i32.load offset=0 (get_local 0)) (i32.const 3)) (i32.const -4)))
- (i32.store offset=0 (get_local 0) (i32.add (get_local 1) (i32.const 4)))
- (return (i32.load offset=0 (get_local 1)))
- )
- (func $arg_i128
- (param i32) (param i32)
- (local i32 i32 i32 i64)
- (set_local 2 (i32.and (i32.add (i32.load offset=0 (get_local 1)) (i32.const 7)) (i32.const -8)))
- (set_local 3 (i32.const 8))
- (set_local 4 (i32.store offset=0 (get_local 1) (i32.add (get_local 2) (get_local 3))))
- (set_local 5 (i64.load offset=0 (get_local 2)))
- (i32.store offset=0 (get_local 1) (i32.add (get_local 2) (i32.const 16)))
- (i64.store offset=0 (i32.add (get_local 0) (get_local 3)) (i64.load offset=0 (get_local 4)))
- (i64.store offset=0 (get_local 0) (get_local 5))
- (return)
- )
- (func $caller_none
- (call_import $callee)
- (return)
- )
- (func $caller_some
- (return)
- )
- (import $callee "misctest" "callee")
- (memory 0 0
- )
-)
diff --git a/prototype-wasmate/test/expected-output/vtable.wast b/prototype-wasmate/test/expected-output/vtable.wast
deleted file mode 100644
index b131746..0000000
--- a/prototype-wasmate/test/expected-output/vtable.wast
+++ /dev/null
@@ -1,69 +0,0 @@
-;; This file was generated by wasmate.py, which is a script that converts
-;; from the "flat" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-
-(module
- (export "_ZN1A3fooEv" $_ZN1A3fooEv)
- (export "_ZN1B3fooEv" $_ZN1B3fooEv)
- (export "_ZN1C3fooEv" $_ZN1C3fooEv)
- (export "_ZN1D3fooEv" $_ZN1D3fooEv)
- (export "_ZN1AD0Ev" $_ZN1AD0Ev)
- (export "_ZN1BD0Ev" $_ZN1BD0Ev)
- (export "_ZN1CD0Ev" $_ZN1CD0Ev)
- (export "_ZN1AD2Ev" $_ZN1AD2Ev)
- (export "_ZN1DD0Ev" $_ZN1DD0Ev)
- (table $_ZN1AD2Ev $_ZN1AD0Ev $_ZN1A3fooEv $_ZN1BD0Ev $_ZN1B3fooEv $_ZN1CD0Ev $_ZN1C3fooEv $_ZN1DD0Ev $_ZN1D3fooEv)
- (func $_ZN1A3fooEv
- (param i32)
- (i32.store offset=148 (i32.const 0) (i32.const 2))
- (return)
- )
- (func $_ZN1B3fooEv
- (param i32)
- (i32.store offset=148 (i32.const 0) (i32.const 4))
- (return)
- )
- (func $_ZN1C3fooEv
- (param i32)
- (i32.store offset=148 (i32.const 0) (i32.const 6))
- (return)
- )
- (func $_ZN1D3fooEv
- (param i32)
- (i32.store offset=148 (i32.const 0) (i32.const 8))
- (return)
- )
- (func $_ZN1AD0Ev
- (param i32)
- (call _ZdlPv (get_local 0))
- (return)
- )
- (func $_ZN1BD0Ev
- (param i32)
- (call _ZdlPv (get_local 0))
- (return)
- )
- (func $_ZN1CD0Ev
- (param i32)
- (call _ZdlPv (get_local 0))
- (return)
- )
- (func $_ZN1AD2Ev
- (param i32)
- (result i32)
- (return (get_local 0))
- )
- (func $_ZN1DD0Ev
- (param i32)
- (call _ZdlPv (get_local 0))
- (return)
- )
- (memory 152 152
- (segment 0
- "1A\001B\001C\001D\00\00\00\00\00`\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00h\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00x\00\00\00\00\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00`\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00`\00\00\00\00\00\00\00\00\00\00\00\t\00\00\00h\00\00\00"
- )
- )
-)
diff --git a/prototype-wasmate/test/f32.s b/prototype-wasmate/test/f32.s
deleted file mode 100644
index f1d29af..0000000
--- a/prototype-wasmate/test/f32.s
+++ /dev/null
@@ -1,182 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/f32.ll"
- .globl fadd32
- .type fadd32,@function
-fadd32: # @fadd32
- .param f32, f32
- .result f32
-# BB#0:
- f32.add $push0=, $0, $1
- return $pop0
-func_end0:
- .size fadd32, func_end0-fadd32
-
- .globl fsub32
- .type fsub32,@function
-fsub32: # @fsub32
- .param f32, f32
- .result f32
-# BB#0:
- f32.sub $push0=, $0, $1
- return $pop0
-func_end1:
- .size fsub32, func_end1-fsub32
-
- .globl fmul32
- .type fmul32,@function
-fmul32: # @fmul32
- .param f32, f32
- .result f32
-# BB#0:
- f32.mul $push0=, $0, $1
- return $pop0
-func_end2:
- .size fmul32, func_end2-fmul32
-
- .globl fdiv32
- .type fdiv32,@function
-fdiv32: # @fdiv32
- .param f32, f32
- .result f32
-# BB#0:
- f32.div $push0=, $0, $1
- return $pop0
-func_end3:
- .size fdiv32, func_end3-fdiv32
-
- .globl fabs32
- .type fabs32,@function
-fabs32: # @fabs32
- .param f32
- .result f32
-# BB#0:
- f32.abs $push0=, $0
- return $pop0
-func_end4:
- .size fabs32, func_end4-fabs32
-
- .globl fneg32
- .type fneg32,@function
-fneg32: # @fneg32
- .param f32
- .result f32
-# BB#0:
- f32.neg $push0=, $0
- return $pop0
-func_end5:
- .size fneg32, func_end5-fneg32
-
- .globl copysign32
- .type copysign32,@function
-copysign32: # @copysign32
- .param f32, f32
- .result f32
-# BB#0:
- f32.copysign $push0=, $0, $1
- return $pop0
-func_end6:
- .size copysign32, func_end6-copysign32
-
- .globl sqrt32
- .type sqrt32,@function
-sqrt32: # @sqrt32
- .param f32
- .result f32
-# BB#0:
- f32.sqrt $push0=, $0
- return $pop0
-func_end7:
- .size sqrt32, func_end7-sqrt32
-
- .globl ceil32
- .type ceil32,@function
-ceil32: # @ceil32
- .param f32
- .result f32
-# BB#0:
- f32.ceil $push0=, $0
- return $pop0
-func_end8:
- .size ceil32, func_end8-ceil32
-
- .globl floor32
- .type floor32,@function
-floor32: # @floor32
- .param f32
- .result f32
-# BB#0:
- f32.floor $push0=, $0
- return $pop0
-func_end9:
- .size floor32, func_end9-floor32
-
- .globl trunc32
- .type trunc32,@function
-trunc32: # @trunc32
- .param f32
- .result f32
-# BB#0:
- f32.trunc $push0=, $0
- return $pop0
-func_end10:
- .size trunc32, func_end10-trunc32
-
- .globl nearest32
- .type nearest32,@function
-nearest32: # @nearest32
- .param f32
- .result f32
-# BB#0:
- f32.nearest $push0=, $0
- return $pop0
-func_end11:
- .size nearest32, func_end11-nearest32
-
- .globl nearest32_via_rint
- .type nearest32_via_rint,@function
-nearest32_via_rint: # @nearest32_via_rint
- .param f32
- .result f32
-# BB#0:
- f32.nearest $push0=, $0
- return $pop0
-func_end12:
- .size nearest32_via_rint, func_end12-nearest32_via_rint
-
- .globl fmin32
- .type fmin32,@function
-fmin32: # @fmin32
- .param f32
- .result f32
-# BB#0:
- f32.const $push0=, 0x0p0
- f32.min $push1=, $0, $pop0
- return $pop1
-func_end13:
- .size fmin32, func_end13-fmin32
-
- .globl fmax32
- .type fmax32,@function
-fmax32: # @fmax32
- .param f32
- .result f32
-# BB#0:
- f32.const $push0=, 0x0p0
- f32.max $push1=, $0, $pop0
- return $pop1
-func_end14:
- .size fmax32, func_end14-fmax32
-
- .globl fma32
- .type fma32,@function
-fma32: # @fma32
- .param f32, f32, f32
- .result f32
-# BB#0:
- f32.call $push0=, fmaf, $0, $1, $2
- return $pop0
-func_end15:
- .size fma32, func_end15-fma32
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/f64.s b/prototype-wasmate/test/f64.s
deleted file mode 100644
index 54bbfbd..0000000
--- a/prototype-wasmate/test/f64.s
+++ /dev/null
@@ -1,182 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/f64.ll"
- .globl fadd64
- .type fadd64,@function
-fadd64: # @fadd64
- .param f64, f64
- .result f64
-# BB#0:
- f64.add $push0=, $0, $1
- return $pop0
-func_end0:
- .size fadd64, func_end0-fadd64
-
- .globl fsub64
- .type fsub64,@function
-fsub64: # @fsub64
- .param f64, f64
- .result f64
-# BB#0:
- f64.sub $push0=, $0, $1
- return $pop0
-func_end1:
- .size fsub64, func_end1-fsub64
-
- .globl fmul64
- .type fmul64,@function
-fmul64: # @fmul64
- .param f64, f64
- .result f64
-# BB#0:
- f64.mul $push0=, $0, $1
- return $pop0
-func_end2:
- .size fmul64, func_end2-fmul64
-
- .globl fdiv64
- .type fdiv64,@function
-fdiv64: # @fdiv64
- .param f64, f64
- .result f64
-# BB#0:
- f64.div $push0=, $0, $1
- return $pop0
-func_end3:
- .size fdiv64, func_end3-fdiv64
-
- .globl fabs64
- .type fabs64,@function
-fabs64: # @fabs64
- .param f64
- .result f64
-# BB#0:
- f64.abs $push0=, $0
- return $pop0
-func_end4:
- .size fabs64, func_end4-fabs64
-
- .globl fneg64
- .type fneg64,@function
-fneg64: # @fneg64
- .param f64
- .result f64
-# BB#0:
- f64.neg $push0=, $0
- return $pop0
-func_end5:
- .size fneg64, func_end5-fneg64
-
- .globl copysign64
- .type copysign64,@function
-copysign64: # @copysign64
- .param f64, f64
- .result f64
-# BB#0:
- f64.copysign $push0=, $0, $1
- return $pop0
-func_end6:
- .size copysign64, func_end6-copysign64
-
- .globl sqrt64
- .type sqrt64,@function
-sqrt64: # @sqrt64
- .param f64
- .result f64
-# BB#0:
- f64.sqrt $push0=, $0
- return $pop0
-func_end7:
- .size sqrt64, func_end7-sqrt64
-
- .globl ceil64
- .type ceil64,@function
-ceil64: # @ceil64
- .param f64
- .result f64
-# BB#0:
- f64.ceil $push0=, $0
- return $pop0
-func_end8:
- .size ceil64, func_end8-ceil64
-
- .globl floor64
- .type floor64,@function
-floor64: # @floor64
- .param f64
- .result f64
-# BB#0:
- f64.floor $push0=, $0
- return $pop0
-func_end9:
- .size floor64, func_end9-floor64
-
- .globl trunc64
- .type trunc64,@function
-trunc64: # @trunc64
- .param f64
- .result f64
-# BB#0:
- f64.trunc $push0=, $0
- return $pop0
-func_end10:
- .size trunc64, func_end10-trunc64
-
- .globl nearest64
- .type nearest64,@function
-nearest64: # @nearest64
- .param f64
- .result f64
-# BB#0:
- f64.nearest $push0=, $0
- return $pop0
-func_end11:
- .size nearest64, func_end11-nearest64
-
- .globl nearest64_via_rint
- .type nearest64_via_rint,@function
-nearest64_via_rint: # @nearest64_via_rint
- .param f64
- .result f64
-# BB#0:
- f64.nearest $push0=, $0
- return $pop0
-func_end12:
- .size nearest64_via_rint, func_end12-nearest64_via_rint
-
- .globl fmin64
- .type fmin64,@function
-fmin64: # @fmin64
- .param f64
- .result f64
-# BB#0:
- f64.const $push0=, 0x0p0
- f64.min $push1=, $0, $pop0
- return $pop1
-func_end13:
- .size fmin64, func_end13-fmin64
-
- .globl fmax64
- .type fmax64,@function
-fmax64: # @fmax64
- .param f64
- .result f64
-# BB#0:
- f64.const $push0=, 0x0p0
- f64.max $push1=, $0, $pop0
- return $pop1
-func_end14:
- .size fmax64, func_end14-fmax64
-
- .globl fma64
- .type fma64,@function
-fma64: # @fma64
- .param f64, f64, f64
- .result f64
-# BB#0:
- f64.call $push0=, fma, $0, $1, $2
- return $pop0
-func_end15:
- .size fma64, func_end15-fma64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/fast-isel.s b/prototype-wasmate/test/fast-isel.s
deleted file mode 100644
index 8dca00f..0000000
--- a/prototype-wasmate/test/fast-isel.s
+++ /dev/null
@@ -1,24 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/fast-isel.ll"
- .globl immediate_f32
- .type immediate_f32,@function
-immediate_f32: # @immediate_f32
- .result f32
-# BB#0:
- f32.const $push0=, 0x1.4p1
- return $pop0
-func_end0:
- .size immediate_f32, func_end0-immediate_f32
-
- .globl immediate_f64
- .type immediate_f64,@function
-immediate_f64: # @immediate_f64
- .result f64
-# BB#0:
- f64.const $push0=, 0x1.4p1
- return $pop0
-func_end1:
- .size immediate_f64, func_end1-immediate_f64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/frem.s b/prototype-wasmate/test/frem.s
deleted file mode 100644
index ff3ef96..0000000
--- a/prototype-wasmate/test/frem.s
+++ /dev/null
@@ -1,26 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/frem.ll"
- .globl frem32
- .type frem32,@function
-frem32: # @frem32
- .param f32, f32
- .result f32
-# BB#0:
- f32.call $push0=, fmodf, $0, $1
- return $pop0
-func_end0:
- .size frem32, func_end0-frem32
-
- .globl frem64
- .type frem64,@function
-frem64: # @frem64
- .param f64, f64
- .result f64
-# BB#0:
- f64.call $push0=, fmod, $0, $1
- return $pop0
-func_end1:
- .size frem64, func_end1-frem64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/func.s b/prototype-wasmate/test/func.s
deleted file mode 100644
index 7fd2669..0000000
--- a/prototype-wasmate/test/func.s
+++ /dev/null
@@ -1,72 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/func.ll"
- .globl f0
- .type f0,@function
-f0: # @f0
-# BB#0:
- return
-func_end0:
- .size f0, func_end0-f0
-
- .globl f1
- .type f1,@function
-f1: # @f1
- .result i32
-# BB#0:
- i32.const $push0=, 0
- return $pop0
-func_end1:
- .size f1, func_end1-f1
-
- .globl f2
- .type f2,@function
-f2: # @f2
- .param i32, f32
- .result i32
-# BB#0:
- i32.const $push0=, 0
- return $pop0
-func_end2:
- .size f2, func_end2-f2
-
- .globl f3
- .type f3,@function
-f3: # @f3
- .param i32, f32
-# BB#0:
- return
-func_end3:
- .size f3, func_end3-f3
-
- .globl f4
- .type f4,@function
-f4: # @f4
- .param i32
- .result i32
- .local i32
-# BB#0: # %entry
- i32.const $1=, 1
- i32.and $push0=, $0, $1
- block BB4_2
- i32.const $push2=, 0
- i32.eq $push3=, $pop0, $pop2
- br_if $pop3, BB4_2
-# BB#1: # %true
- i32.const $push1=, 0
- return $pop1
-BB4_2: # %false
- return $1
-func_end4:
- .size f4, func_end4-f4
-
- .globl f5
- .type f5,@function
-f5: # @f5
- .result f32
-# BB#0:
- unreachable
-func_end5:
- .size f5, func_end5-f5
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/global.s b/prototype-wasmate/test/global.s
deleted file mode 100644
index e19094c..0000000
--- a/prototype-wasmate/test/global.s
+++ /dev/null
@@ -1,151 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/global.ll"
- .globl foo
- .type foo,@function
-foo: # @foo
- .result i32
-# BB#0:
- i32.const $push0=, 0
- i32.load $push1=, answer($pop0)
- return $pop1
-func_end0:
- .size foo, func_end0-foo
-
- .globl call_memcpy
- .type call_memcpy,@function
-call_memcpy: # @call_memcpy
- .param i32, i32, i32
- .result i32
-# BB#0:
- call memcpy, $0, $1, $2
- return $0
-func_end1:
- .size call_memcpy, func_end1-call_memcpy
-
- .type g,@object # @g
- .data
- .align 2
-g:
- .int32 1337 # 0x539
- .size g, 4
-
- .type ud,@object # @ud
- .align 2
-ud:
- .zero 4
- .size ud, 4
-
- .type nil,@object # @nil
- .lcomm nil,4,2
- .type z,@object # @z
- .lcomm z,4,2
- .type one,@object # @one
- .align 2
-one:
- .int32 1 # 0x1
- .size one, 4
-
- .type answer,@object # @answer
- .align 2
-answer:
- .int32 42 # 0x2a
- .size answer, 4
-
- .type u32max,@object # @u32max
- .align 2
-u32max:
- .int32 4294967295 # 0xffffffff
- .size u32max, 4
-
- .type ud64,@object # @ud64
- .align 3
-ud64:
- .zero 8
- .size ud64, 8
-
- .type nil64,@object # @nil64
- .lcomm nil64,8,3
- .type z64,@object # @z64
- .lcomm z64,8,3
- .type twoP32,@object # @twoP32
- .align 3
-twoP32:
- .int64 4294967296 # 0x100000000
- .size twoP32, 8
-
- .type u64max,@object # @u64max
- .align 3
-u64max:
- .int64 -1 # 0xffffffffffffffff
- .size u64max, 8
-
- .type f32ud,@object # @f32ud
- .align 2
-f32ud:
- .zero 4
- .size f32ud, 4
-
- .type f32nil,@object # @f32nil
- .lcomm f32nil,4,2
- .type f32z,@object # @f32z
- .lcomm f32z,4,2
- .type f32nz,@object # @f32nz
- .align 2
-f32nz:
- .int32 2147483648 # float -0
- .size f32nz, 4
-
- .type f32two,@object # @f32two
- .align 2
-f32two:
- .int32 1073741824 # float 2
- .size f32two, 4
-
- .type f64ud,@object # @f64ud
- .align 3
-f64ud:
- .zero 8
- .size f64ud, 8
-
- .type f64nil,@object # @f64nil
- .lcomm f64nil,8,3
- .type f64z,@object # @f64z
- .lcomm f64z,8,3
- .type f64nz,@object # @f64nz
- .align 3
-f64nz:
- .int64 -9223372036854775808 # double -0
- .size f64nz, 8
-
- .type f64two,@object # @f64two
- .align 3
-f64two:
- .int64 4611686018427387904 # double 2
- .size f64two, 8
-
- .type arr,@object # @arr
- .bss
- .globl arr
- .align 4
-arr:
- .zero 512
- .size arr, 512
-
- .type ptr,@object # @ptr
- .data
- .globl ptr
- .align 2
-ptr:
- .int32 arr+80
- .size ptr, 4
-
- .type rom,@object # @rom
- .section .rodata,"a",@progbits
- .globl rom
- .align 4
-rom:
- .zero 512
- .size rom, 512
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/globl.s b/prototype-wasmate/test/globl.s
deleted file mode 100644
index 18574ba..0000000
--- a/prototype-wasmate/test/globl.s
+++ /dev/null
@@ -1,12 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/globl.ll"
- .globl foo
- .type foo,@function
-foo: # @foo
-# BB#0:
- return
-func_end0:
- .size foo, func_end0-foo
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/i32.s b/prototype-wasmate/test/i32.s
deleted file mode 100644
index eb60992..0000000
--- a/prototype-wasmate/test/i32.s
+++ /dev/null
@@ -1,202 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/i32.ll"
- .globl add32
- .type add32,@function
-add32: # @add32
- .param i32, i32
- .result i32
-# BB#0:
- i32.add $push0=, $0, $1
- return $pop0
-func_end0:
- .size add32, func_end0-add32
-
- .globl sub32
- .type sub32,@function
-sub32: # @sub32
- .param i32, i32
- .result i32
-# BB#0:
- i32.sub $push0=, $0, $1
- return $pop0
-func_end1:
- .size sub32, func_end1-sub32
-
- .globl mul32
- .type mul32,@function
-mul32: # @mul32
- .param i32, i32
- .result i32
-# BB#0:
- i32.mul $push0=, $0, $1
- return $pop0
-func_end2:
- .size mul32, func_end2-mul32
-
- .globl sdiv32
- .type sdiv32,@function
-sdiv32: # @sdiv32
- .param i32, i32
- .result i32
-# BB#0:
- i32.div_s $push0=, $0, $1
- return $pop0
-func_end3:
- .size sdiv32, func_end3-sdiv32
-
- .globl udiv32
- .type udiv32,@function
-udiv32: # @udiv32
- .param i32, i32
- .result i32
-# BB#0:
- i32.div_u $push0=, $0, $1
- return $pop0
-func_end4:
- .size udiv32, func_end4-udiv32
-
- .globl srem32
- .type srem32,@function
-srem32: # @srem32
- .param i32, i32
- .result i32
-# BB#0:
- i32.rem_s $push0=, $0, $1
- return $pop0
-func_end5:
- .size srem32, func_end5-srem32
-
- .globl urem32
- .type urem32,@function
-urem32: # @urem32
- .param i32, i32
- .result i32
-# BB#0:
- i32.rem_u $push0=, $0, $1
- return $pop0
-func_end6:
- .size urem32, func_end6-urem32
-
- .globl and32
- .type and32,@function
-and32: # @and32
- .param i32, i32
- .result i32
-# BB#0:
- i32.and $push0=, $0, $1
- return $pop0
-func_end7:
- .size and32, func_end7-and32
-
- .globl or32
- .type or32,@function
-or32: # @or32
- .param i32, i32
- .result i32
-# BB#0:
- i32.or $push0=, $0, $1
- return $pop0
-func_end8:
- .size or32, func_end8-or32
-
- .globl xor32
- .type xor32,@function
-xor32: # @xor32
- .param i32, i32
- .result i32
-# BB#0:
- i32.xor $push0=, $0, $1
- return $pop0
-func_end9:
- .size xor32, func_end9-xor32
-
- .globl shl32
- .type shl32,@function
-shl32: # @shl32
- .param i32, i32
- .result i32
-# BB#0:
- i32.shl $push0=, $0, $1
- return $pop0
-func_end10:
- .size shl32, func_end10-shl32
-
- .globl shr32
- .type shr32,@function
-shr32: # @shr32
- .param i32, i32
- .result i32
-# BB#0:
- i32.shr_u $push0=, $0, $1
- return $pop0
-func_end11:
- .size shr32, func_end11-shr32
-
- .globl sar32
- .type sar32,@function
-sar32: # @sar32
- .param i32, i32
- .result i32
-# BB#0:
- i32.shr_s $push0=, $0, $1
- return $pop0
-func_end12:
- .size sar32, func_end12-sar32
-
- .globl clz32
- .type clz32,@function
-clz32: # @clz32
- .param i32
- .result i32
-# BB#0:
- i32.clz $push0=, $0
- return $pop0
-func_end13:
- .size clz32, func_end13-clz32
-
- .globl clz32_zero_undef
- .type clz32_zero_undef,@function
-clz32_zero_undef: # @clz32_zero_undef
- .param i32
- .result i32
-# BB#0:
- i32.clz $push0=, $0
- return $pop0
-func_end14:
- .size clz32_zero_undef, func_end14-clz32_zero_undef
-
- .globl ctz32
- .type ctz32,@function
-ctz32: # @ctz32
- .param i32
- .result i32
-# BB#0:
- i32.ctz $push0=, $0
- return $pop0
-func_end15:
- .size ctz32, func_end15-ctz32
-
- .globl ctz32_zero_undef
- .type ctz32_zero_undef,@function
-ctz32_zero_undef: # @ctz32_zero_undef
- .param i32
- .result i32
-# BB#0:
- i32.ctz $push0=, $0
- return $pop0
-func_end16:
- .size ctz32_zero_undef, func_end16-ctz32_zero_undef
-
- .globl popcnt32
- .type popcnt32,@function
-popcnt32: # @popcnt32
- .param i32
- .result i32
-# BB#0:
- i32.popcnt $push0=, $0
- return $pop0
-func_end17:
- .size popcnt32, func_end17-popcnt32
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/i64.s b/prototype-wasmate/test/i64.s
deleted file mode 100644
index 4e6b16f..0000000
--- a/prototype-wasmate/test/i64.s
+++ /dev/null
@@ -1,202 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/i64.ll"
- .globl add64
- .type add64,@function
-add64: # @add64
- .param i64, i64
- .result i64
-# BB#0:
- i64.add $push0=, $0, $1
- return $pop0
-func_end0:
- .size add64, func_end0-add64
-
- .globl sub64
- .type sub64,@function
-sub64: # @sub64
- .param i64, i64
- .result i64
-# BB#0:
- i64.sub $push0=, $0, $1
- return $pop0
-func_end1:
- .size sub64, func_end1-sub64
-
- .globl mul64
- .type mul64,@function
-mul64: # @mul64
- .param i64, i64
- .result i64
-# BB#0:
- i64.mul $push0=, $0, $1
- return $pop0
-func_end2:
- .size mul64, func_end2-mul64
-
- .globl sdiv64
- .type sdiv64,@function
-sdiv64: # @sdiv64
- .param i64, i64
- .result i64
-# BB#0:
- i64.div_s $push0=, $0, $1
- return $pop0
-func_end3:
- .size sdiv64, func_end3-sdiv64
-
- .globl udiv64
- .type udiv64,@function
-udiv64: # @udiv64
- .param i64, i64
- .result i64
-# BB#0:
- i64.div_u $push0=, $0, $1
- return $pop0
-func_end4:
- .size udiv64, func_end4-udiv64
-
- .globl srem64
- .type srem64,@function
-srem64: # @srem64
- .param i64, i64
- .result i64
-# BB#0:
- i64.rem_s $push0=, $0, $1
- return $pop0
-func_end5:
- .size srem64, func_end5-srem64
-
- .globl urem64
- .type urem64,@function
-urem64: # @urem64
- .param i64, i64
- .result i64
-# BB#0:
- i64.rem_u $push0=, $0, $1
- return $pop0
-func_end6:
- .size urem64, func_end6-urem64
-
- .globl and64
- .type and64,@function
-and64: # @and64
- .param i64, i64
- .result i64
-# BB#0:
- i64.and $push0=, $0, $1
- return $pop0
-func_end7:
- .size and64, func_end7-and64
-
- .globl or64
- .type or64,@function
-or64: # @or64
- .param i64, i64
- .result i64
-# BB#0:
- i64.or $push0=, $0, $1
- return $pop0
-func_end8:
- .size or64, func_end8-or64
-
- .globl xor64
- .type xor64,@function
-xor64: # @xor64
- .param i64, i64
- .result i64
-# BB#0:
- i64.xor $push0=, $0, $1
- return $pop0
-func_end9:
- .size xor64, func_end9-xor64
-
- .globl shl64
- .type shl64,@function
-shl64: # @shl64
- .param i64, i64
- .result i64
-# BB#0:
- i64.shl $push0=, $0, $1
- return $pop0
-func_end10:
- .size shl64, func_end10-shl64
-
- .globl shr64
- .type shr64,@function
-shr64: # @shr64
- .param i64, i64
- .result i64
-# BB#0:
- i64.shr_u $push0=, $0, $1
- return $pop0
-func_end11:
- .size shr64, func_end11-shr64
-
- .globl sar64
- .type sar64,@function
-sar64: # @sar64
- .param i64, i64
- .result i64
-# BB#0:
- i64.shr_s $push0=, $0, $1
- return $pop0
-func_end12:
- .size sar64, func_end12-sar64
-
- .globl clz64
- .type clz64,@function
-clz64: # @clz64
- .param i64
- .result i64
-# BB#0:
- i64.clz $push0=, $0
- return $pop0
-func_end13:
- .size clz64, func_end13-clz64
-
- .globl clz64_zero_undef
- .type clz64_zero_undef,@function
-clz64_zero_undef: # @clz64_zero_undef
- .param i64
- .result i64
-# BB#0:
- i64.clz $push0=, $0
- return $pop0
-func_end14:
- .size clz64_zero_undef, func_end14-clz64_zero_undef
-
- .globl ctz64
- .type ctz64,@function
-ctz64: # @ctz64
- .param i64
- .result i64
-# BB#0:
- i64.ctz $push0=, $0
- return $pop0
-func_end15:
- .size ctz64, func_end15-ctz64
-
- .globl ctz64_zero_undef
- .type ctz64_zero_undef,@function
-ctz64_zero_undef: # @ctz64_zero_undef
- .param i64
- .result i64
-# BB#0:
- i64.ctz $push0=, $0
- return $pop0
-func_end16:
- .size ctz64_zero_undef, func_end16-ctz64_zero_undef
-
- .globl popcnt64
- .type popcnt64,@function
-popcnt64: # @popcnt64
- .param i64
- .result i64
-# BB#0:
- i64.popcnt $push0=, $0
- return $pop0
-func_end17:
- .size popcnt64, func_end17-popcnt64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/ident.s b/prototype-wasmate/test/ident.s
deleted file mode 100644
index 46a08c7..0000000
--- a/prototype-wasmate/test/ident.s
+++ /dev/null
@@ -1,5 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/ident.ll"
-
- .ident "hello world"
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/immediates.s b/prototype-wasmate/test/immediates.s
deleted file mode 100644
index 630a75b..0000000
--- a/prototype-wasmate/test/immediates.s
+++ /dev/null
@@ -1,244 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/immediates.ll"
- .globl zero_i32
- .type zero_i32,@function
-zero_i32: # @zero_i32
- .result i32
-# BB#0:
- i32.const $push0=, 0
- return $pop0
-func_end0:
- .size zero_i32, func_end0-zero_i32
-
- .globl one_i32
- .type one_i32,@function
-one_i32: # @one_i32
- .result i32
-# BB#0:
- i32.const $push0=, 1
- return $pop0
-func_end1:
- .size one_i32, func_end1-one_i32
-
- .globl max_i32
- .type max_i32,@function
-max_i32: # @max_i32
- .result i32
-# BB#0:
- i32.const $push0=, 2147483647
- return $pop0
-func_end2:
- .size max_i32, func_end2-max_i32
-
- .globl min_i32
- .type min_i32,@function
-min_i32: # @min_i32
- .result i32
-# BB#0:
- i32.const $push0=, -2147483648
- return $pop0
-func_end3:
- .size min_i32, func_end3-min_i32
-
- .globl zero_i64
- .type zero_i64,@function
-zero_i64: # @zero_i64
- .result i64
-# BB#0:
- i64.const $push0=, 0
- return $pop0
-func_end4:
- .size zero_i64, func_end4-zero_i64
-
- .globl one_i64
- .type one_i64,@function
-one_i64: # @one_i64
- .result i64
-# BB#0:
- i64.const $push0=, 1
- return $pop0
-func_end5:
- .size one_i64, func_end5-one_i64
-
- .globl max_i64
- .type max_i64,@function
-max_i64: # @max_i64
- .result i64
-# BB#0:
- i64.const $push0=, 9223372036854775807
- return $pop0
-func_end6:
- .size max_i64, func_end6-max_i64
-
- .globl min_i64
- .type min_i64,@function
-min_i64: # @min_i64
- .result i64
-# BB#0:
- i64.const $push0=, -9223372036854775808
- return $pop0
-func_end7:
- .size min_i64, func_end7-min_i64
-
- .globl negzero_f32
- .type negzero_f32,@function
-negzero_f32: # @negzero_f32
- .result f32
-# BB#0:
- f32.const $push0=, -0x0p0
- return $pop0
-func_end8:
- .size negzero_f32, func_end8-negzero_f32
-
- .globl zero_f32
- .type zero_f32,@function
-zero_f32: # @zero_f32
- .result f32
-# BB#0:
- f32.const $push0=, 0x0p0
- return $pop0
-func_end9:
- .size zero_f32, func_end9-zero_f32
-
- .globl one_f32
- .type one_f32,@function
-one_f32: # @one_f32
- .result f32
-# BB#0:
- f32.const $push0=, 0x1p0
- return $pop0
-func_end10:
- .size one_f32, func_end10-one_f32
-
- .globl two_f32
- .type two_f32,@function
-two_f32: # @two_f32
- .result f32
-# BB#0:
- f32.const $push0=, 0x1p1
- return $pop0
-func_end11:
- .size two_f32, func_end11-two_f32
-
- .globl nan_f32
- .type nan_f32,@function
-nan_f32: # @nan_f32
- .result f32
-# BB#0:
- f32.const $push0=, nan
- return $pop0
-func_end12:
- .size nan_f32, func_end12-nan_f32
-
- .globl negnan_f32
- .type negnan_f32,@function
-negnan_f32: # @negnan_f32
- .result f32
-# BB#0:
- f32.const $push0=, -nan
- return $pop0
-func_end13:
- .size negnan_f32, func_end13-negnan_f32
-
- .globl inf_f32
- .type inf_f32,@function
-inf_f32: # @inf_f32
- .result f32
-# BB#0:
- f32.const $push0=, infinity
- return $pop0
-func_end14:
- .size inf_f32, func_end14-inf_f32
-
- .globl neginf_f32
- .type neginf_f32,@function
-neginf_f32: # @neginf_f32
- .result f32
-# BB#0:
- f32.const $push0=, -infinity
- return $pop0
-func_end15:
- .size neginf_f32, func_end15-neginf_f32
-
- .globl negzero_f64
- .type negzero_f64,@function
-negzero_f64: # @negzero_f64
- .result f64
-# BB#0:
- f64.const $push0=, -0x0p0
- return $pop0
-func_end16:
- .size negzero_f64, func_end16-negzero_f64
-
- .globl zero_f64
- .type zero_f64,@function
-zero_f64: # @zero_f64
- .result f64
-# BB#0:
- f64.const $push0=, 0x0p0
- return $pop0
-func_end17:
- .size zero_f64, func_end17-zero_f64
-
- .globl one_f64
- .type one_f64,@function
-one_f64: # @one_f64
- .result f64
-# BB#0:
- f64.const $push0=, 0x1p0
- return $pop0
-func_end18:
- .size one_f64, func_end18-one_f64
-
- .globl two_f64
- .type two_f64,@function
-two_f64: # @two_f64
- .result f64
-# BB#0:
- f64.const $push0=, 0x1p1
- return $pop0
-func_end19:
- .size two_f64, func_end19-two_f64
-
- .globl nan_f64
- .type nan_f64,@function
-nan_f64: # @nan_f64
- .result f64
-# BB#0:
- f64.const $push0=, nan
- return $pop0
-func_end20:
- .size nan_f64, func_end20-nan_f64
-
- .globl negnan_f64
- .type negnan_f64,@function
-negnan_f64: # @negnan_f64
- .result f64
-# BB#0:
- f64.const $push0=, -nan
- return $pop0
-func_end21:
- .size negnan_f64, func_end21-negnan_f64
-
- .globl inf_f64
- .type inf_f64,@function
-inf_f64: # @inf_f64
- .result f64
-# BB#0:
- f64.const $push0=, infinity
- return $pop0
-func_end22:
- .size inf_f64, func_end22-inf_f64
-
- .globl neginf_f64
- .type neginf_f64,@function
-neginf_f64: # @neginf_f64
- .result f64
-# BB#0:
- f64.const $push0=, -infinity
- return $pop0
-func_end23:
- .size neginf_f64, func_end23-neginf_f64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/inline-asm.s b/prototype-wasmate/test/inline-asm.s
deleted file mode 100644
index 423430d..0000000
--- a/prototype-wasmate/test/inline-asm.s
+++ /dev/null
@@ -1,111 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/inline-asm.ll"
- .globl foo
- .type foo,@function
-foo: # @foo
- .param i32
- .result i32
-# BB#0: # %entry
- #APP
- # $0 = aaa($0)
- #NO_APP
- return $0
-func_end0:
- .size foo, func_end0-foo
-
- .globl bar
- .type bar,@function
-bar: # @bar
- .param i32, i32
-# BB#0: # %entry
- #APP
- # 0($1) = bbb(0($0))
- #NO_APP
- return
-func_end1:
- .size bar, func_end1-bar
-
- .globl imm
- .type imm,@function
-imm: # @imm
- .result i32
- .local i32
-# BB#0: # %entry
- #APP
- # $0 = ccc(42)
- #NO_APP
- return $0
-func_end2:
- .size imm, func_end2-imm
-
- .globl foo_i64
- .type foo_i64,@function
-foo_i64: # @foo_i64
- .param i64
- .result i64
-# BB#0: # %entry
- #APP
- # $0 = aaa($0)
- #NO_APP
- return $0
-func_end3:
- .size foo_i64, func_end3-foo_i64
-
- .globl X_i16
- .type X_i16,@function
-X_i16: # @X_i16
- .param i32
- .local i32
-# BB#0:
- #APP
- foo $1
- #NO_APP
- i32.store16 $discard=, 0($0), $1
- return
-func_end4:
- .size X_i16, func_end4-X_i16
-
- .globl X_ptr
- .type X_ptr,@function
-X_ptr: # @X_ptr
- .param i32
- .local i32
-# BB#0:
- #APP
- foo $1
- #NO_APP
- i32.store $discard=, 0($0), $1
- return
-func_end5:
- .size X_ptr, func_end5-X_ptr
-
- .globl funcname
- .type funcname,@function
-funcname: # @funcname
-# BB#0:
- #APP
- foo funcname
- #NO_APP
- return
-func_end6:
- .size funcname, func_end6-funcname
-
- .globl varname
- .type varname,@function
-varname: # @varname
-# BB#0:
- #APP
- foo gv+37
- #NO_APP
- return
-func_end7:
- .size varname, func_end7-varname
-
- .type gv,@object # @gv
- .bss
- .globl gv
-gv:
- .size gv, 0
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/lcomm-in-text-segment.s b/prototype-wasmate/test/lcomm-in-text-segment.s
deleted file mode 100644
index b059e63..0000000
--- a/prototype-wasmate/test/lcomm-in-text-segment.s
+++ /dev/null
@@ -1,12 +0,0 @@
- .text
- .type a,@object
- .lcomm a,4,2
- .type b,@object
- .lcomm b,4,2
- .type c,@object
- .data
- .globl c
- .align 2
-c:
- .int32 b
- .size c, 4
diff --git a/prototype-wasmate/test/legalize.s b/prototype-wasmate/test/legalize.s
deleted file mode 100644
index 781b898..0000000
--- a/prototype-wasmate/test/legalize.s
+++ /dev/null
@@ -1,925 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/legalize.ll"
- .globl shl_i3
- .type shl_i3,@function
-shl_i3: # @shl_i3
- .param i32, i32, i32
- .result i32
-# BB#0:
- i32.const $push0=, 7
- i32.and $push1=, $1, $pop0
- i32.shl $push2=, $0, $pop1
- return $pop2
-func_end0:
- .size shl_i3, func_end0-shl_i3
-
- .globl shl_i53
- .type shl_i53,@function
-shl_i53: # @shl_i53
- .param i64, i64, i32
- .result i64
-# BB#0:
- i64.const $push0=, 9007199254740991
- i64.and $push1=, $1, $pop0
- i64.shl $push2=, $0, $pop1
- return $pop2
-func_end1:
- .size shl_i53, func_end1-shl_i53
-
- .globl sext_in_reg_i32_i64
- .type sext_in_reg_i32_i64,@function
-sext_in_reg_i32_i64: # @sext_in_reg_i32_i64
- .param i64
- .result i64
- .local i64
-# BB#0:
- i64.const $1=, 32
- i64.shl $push0=, $0, $1
- i64.shr_s $push1=, $pop0, $1
- return $pop1
-func_end2:
- .size sext_in_reg_i32_i64, func_end2-sext_in_reg_i32_i64
-
- .globl fpext_f32_f64
- .type fpext_f32_f64,@function
-fpext_f32_f64: # @fpext_f32_f64
- .param i32
- .result f64
-# BB#0:
- f32.load $push0=, 0($0)
- f64.promote/f32 $push1=, $pop0
- return $pop1
-func_end3:
- .size fpext_f32_f64, func_end3-fpext_f32_f64
-
- .globl fpconv_f64_f32
- .type fpconv_f64_f32,@function
-fpconv_f64_f32: # @fpconv_f64_f32
- .param i32
- .result f32
-# BB#0:
- f64.load $push0=, 0($0)
- f32.demote/f64 $push1=, $pop0
- return $pop1
-func_end4:
- .size fpconv_f64_f32, func_end4-fpconv_f64_f32
-
- .globl bigshift
- .type bigshift,@function
-bigshift: # @bigshift
- .param i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64
- .local i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i32, i32, i32, i32, i32, i32, i64, i64, i64, i32, i32, i64, i64, i64, i32, i32, i64, i32, i32, i64, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i32, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
-# BB#0:
- i32.const $181=, __stack_pointer
- i32.load $181=, 0($181)
- i32.const $182=, 1024
- i32.sub $279=, $181, $182
- i32.const $182=, __stack_pointer
- i32.store $279=, 0($182), $279
- i64.const $push0=, 896
- i64.sub $push1=, $pop0, $17
- i32.const $184=, 480
- i32.add $184=, $279, $184
- call __lshrti3, $184, $1, $2, $pop1
- i64.const $push2=, -768
- i64.add $33=, $17, $pop2
- i32.const $185=, 464
- i32.add $185=, $279, $185
- call __ashlti3, $185, $3, $4, $33
- i64.const $push3=, -896
- i64.add $push4=, $17, $pop3
- i32.const $186=, 496
- i32.add $186=, $279, $186
- call __ashlti3, $186, $1, $2, $pop4
- i64.const $push5=, 640
- i64.sub $34=, $pop5, $17
- i32.const $187=, 352
- i32.add $187=, $279, $187
- call __lshrti3, $187, $5, $6, $34
- i64.const $push6=, -512
- i64.add $35=, $17, $pop6
- i32.const $188=, 336
- i32.add $188=, $279, $188
- call __ashlti3, $188, $7, $8, $35
- i64.const $push7=, -640
- i64.add $36=, $17, $pop7
- i32.const $189=, 368
- i32.add $189=, $279, $189
- call __ashlti3, $189, $5, $6, $36
- i64.const $push8=, 768
- i64.sub $37=, $pop8, $17
- i32.const $190=, 432
- i32.add $190=, $279, $190
- call __lshrti3, $190, $3, $4, $37
- i64.const $38=, 384
- i64.sub $39=, $38, $17
- i32.const $191=, 864
- i32.add $191=, $279, $191
- call __lshrti3, $191, $9, $10, $39
- i64.const $push9=, -256
- i64.add $40=, $17, $pop9
- i32.const $192=, 848
- i32.add $192=, $279, $192
- call __ashlti3, $192, $11, $12, $40
- i64.const $push10=, -384
- i64.add $41=, $17, $pop10
- i32.const $193=, 880
- i32.add $193=, $279, $193
- call __ashlti3, $193, $9, $10, $41
- i32.const $194=, 1008
- i32.add $194=, $279, $194
- call __ashlti3, $194, $15, $16, $17
- i64.const $42=, 128
- i64.sub $51=, $42, $17
- i32.const $195=, 960
- i32.add $195=, $279, $195
- call __lshrti3, $195, $13, $14, $51
- i64.const $push11=, -128
- i64.add $43=, $17, $pop11
- i32.const $196=, 976
- i32.add $196=, $279, $196
- call __ashlti3, $196, $13, $14, $43
- i64.const $44=, 256
- i64.sub $45=, $44, $17
- i32.const $197=, 816
- i32.add $197=, $279, $197
- call __lshrti3, $197, $11, $12, $45
- i64.const $46=, 512
- i64.sub $47=, $46, $17
- i32.const $198=, 240
- i32.add $198=, $279, $198
- call __lshrti3, $198, $7, $8, $47
- i32.const $199=, 912
- i32.add $199=, $279, $199
- call __ashlti3, $199, $11, $12, $17
- i32.const $200=, 928
- i32.add $200=, $279, $200
- call __lshrti3, $200, $9, $10, $51
- i32.const $201=, 944
- i32.add $201=, $279, $201
- call __ashlti3, $201, $9, $10, $43
- i64.sub $48=, $44, $47
- i32.const $202=, 80
- i32.add $202=, $279, $202
- call __ashlti3, $202, $7, $8, $48
- i64.sub $push12=, $42, $48
- i32.const $203=, 96
- i32.add $203=, $279, $203
- call __lshrti3, $203, $5, $6, $pop12
- i64.sub $49=, $42, $47
- i32.const $204=, 112
- i32.add $204=, $279, $204
- call __ashlti3, $204, $5, $6, $49
- i32.const $205=, 48
- i32.add $205=, $279, $205
- call __lshrti3, $205, $3, $4, $47
- i32.const $206=, 176
- i32.add $206=, $279, $206
- call __lshrti3, $206, $7, $8, $45
- i32.const $207=, 288
- i32.add $207=, $279, $207
- call __lshrti3, $207, $1, $2, $34
- i32.const $208=, 272
- i32.add $208=, $279, $208
- call __ashlti3, $208, $3, $4, $35
- i32.const $209=, 304
- i32.add $209=, $279, $209
- call __ashlti3, $209, $1, $2, $36
- i32.const $210=, 128
- i32.add $210=, $279, $210
- call __lshrti3, $210, $5, $6, $45
- i64.sub $push13=, $38, $47
- i32.const $211=, 144
- i32.add $211=, $279, $211
- call __ashlti3, $211, $7, $8, $pop13
- i32.const $212=, 160
- i32.add $212=, $279, $212
- call __lshrti3, $212, $7, $8, $51
- i32.const $213=, 0
- i32.add $213=, $279, $213
- call __lshrti3, $213, $1, $2, $47
- i32.const $214=, 16
- i32.add $214=, $279, $214
- call __ashlti3, $214, $3, $4, $49
- i32.const $215=, 32
- i32.add $215=, $279, $215
- call __lshrti3, $215, $3, $4, $39
- i32.const $216=, 64
- i32.add $216=, $279, $216
- call __ashlti3, $216, $5, $6, $48
- i32.const $217=, 896
- i32.add $217=, $279, $217
- call __ashlti3, $217, $9, $10, $17
- i32.const $218=, 256
- i32.add $218=, $279, $218
- call __ashlti3, $218, $1, $2, $35
- i32.const $219=, 192
- i32.add $219=, $279, $219
- call __lshrti3, $219, $5, $6, $47
- i32.const $220=, 208
- i32.add $220=, $279, $220
- call __ashlti3, $220, $7, $8, $49
- i32.const $221=, 224
- i32.add $221=, $279, $221
- call __lshrti3, $221, $7, $8, $39
- i32.const $222=, 768
- i32.add $222=, $279, $222
- call __lshrti3, $222, $9, $10, $45
- i64.sub $49=, $42, $45
- i32.const $223=, 784
- i32.add $223=, $279, $223
- call __ashlti3, $223, $11, $12, $49
- i32.const $224=, 800
- i32.add $224=, $279, $224
- call __lshrti3, $224, $11, $12, $51
- i32.const $225=, 992
- i32.add $225=, $279, $225
- call __ashlti3, $225, $13, $14, $17
- i32.const $226=, 832
- i32.add $226=, $279, $226
- call __ashlti3, $226, $9, $10, $40
- i32.const $227=, 384
- i32.add $227=, $279, $227
- call __lshrti3, $227, $1, $2, $37
- i64.sub $push14=, $42, $37
- i32.const $228=, 400
- i32.add $228=, $279, $228
- call __ashlti3, $228, $3, $4, $pop14
- i32.const $229=, 416
- i32.add $229=, $279, $229
- call __lshrti3, $229, $3, $4, $34
- i32.const $230=, 320
- i32.add $230=, $279, $230
- call __ashlti3, $230, $5, $6, $35
- i32.const $231=, 448
- i32.add $231=, $279, $231
- call __ashlti3, $231, $1, $2, $33
- i32.const $232=, 736
- i32.add $232=, $279, $232
- call __lshrti3, $232, $1, $2, $39
- i32.const $233=, 720
- i32.add $233=, $279, $233
- call __ashlti3, $233, $3, $4, $40
- i32.const $234=, 752
- i32.add $234=, $279, $234
- call __ashlti3, $234, $1, $2, $41
- i32.const $235=, 592
- i32.add $235=, $279, $235
- call __ashlti3, $235, $7, $8, $17
- i32.const $236=, 608
- i32.add $236=, $279, $236
- call __lshrti3, $236, $5, $6, $51
- i32.const $237=, 624
- i32.add $237=, $279, $237
- call __ashlti3, $237, $5, $6, $43
- i32.const $238=, 688
- i32.add $238=, $279, $238
- call __lshrti3, $238, $3, $4, $45
- i32.const $239=, 640
- i32.add $239=, $279, $239
- call __lshrti3, $239, $1, $2, $45
- i32.const $240=, 656
- i32.add $240=, $279, $240
- call __ashlti3, $240, $3, $4, $49
- i32.const $241=, 672
- i32.add $241=, $279, $241
- call __lshrti3, $241, $3, $4, $51
- i32.const $242=, 576
- i32.add $242=, $279, $242
- call __ashlti3, $242, $5, $6, $17
- i32.const $243=, 704
- i32.add $243=, $279, $243
- call __ashlti3, $243, $1, $2, $40
- i32.const $244=, 528
- i32.add $244=, $279, $244
- call __ashlti3, $244, $3, $4, $17
- i32.const $245=, 544
- i32.add $245=, $279, $245
- call __lshrti3, $245, $1, $2, $51
- i32.const $246=, 560
- i32.add $246=, $279, $246
- call __ashlti3, $246, $1, $2, $43
- i32.const $247=, 512
- i32.add $247=, $279, $247
- call __ashlti3, $247, $1, $2, $17
- i64.load $39=, 480($279)
- i64.load $43=, 464($279)
- i64.load $34=, 496($279)
- i64.const $51=, 0
- i64.load $49=, 352($279)
- i64.load $36=, 336($279)
- i64.load $38=, 368($279)
- i64.load $41=, 432($279)
- i64.load $58=, 864($279)
- i64.load $59=, 848($279)
- i64.load $60=, 880($279)
- i64.load $63=, 1008($279)
- i64.load $64=, 960($279)
- i64.load $65=, 976($279)
- i64.load $68=, 816($279)
- i64.load $71=, 240($279)
- i64.lt_u $50=, $33, $42
- i64.eq $52=, $33, $51
- i64.lt_u $53=, $35, $42
- i64.eq $54=, $35, $51
- i64.lt_u $55=, $37, $42
- i64.lt_u $56=, $35, $44
- i64.lt_u $57=, $40, $42
- i64.eq $61=, $40, $51
- i64.lt_u $62=, $17, $42
- i64.eq $66=, $17, $51
- i64.lt_u $67=, $45, $42
- i64.lt_u $69=, $17, $44
- i64.lt_u $70=, $47, $42
- i64.lt_u $72=, $47, $44
- i64.lt_u $73=, $17, $46
- i32.const $74=, 8
- i32.const $248=, 480
- i32.add $248=, $279, $248
- i32.add $push40=, $248, $74
- i64.load $17=, 0($pop40)
- i32.const $249=, 464
- i32.add $249=, $279, $249
- i32.add $push41=, $249, $74
- i64.load $35=, 0($pop41)
- i32.const $250=, 496
- i32.add $250=, $279, $250
- i32.add $push43=, $250, $74
- i64.load $40=, 0($pop43)
- i32.const $251=, 352
- i32.add $251=, $279, $251
- i32.add $push46=, $251, $74
- i64.load $44=, 0($pop46)
- i32.const $252=, 336
- i32.add $252=, $279, $252
- i32.add $push47=, $252, $74
- i64.load $33=, 0($pop47)
- i32.const $253=, 368
- i32.add $253=, $279, $253
- i32.add $push49=, $253, $74
- i64.load $46=, 0($pop49)
- i32.const $254=, 432
- i32.add $254=, $279, $254
- i32.add $push52=, $254, $74
- i64.load $75=, 0($pop52)
- i32.const $255=, 864
- i32.add $255=, $279, $255
- i32.add $push57=, $255, $74
- i64.load $76=, 0($pop57)
- i32.const $256=, 848
- i32.add $256=, $279, $256
- i32.add $push58=, $256, $74
- i64.load $77=, 0($pop58)
- i32.const $257=, 880
- i32.add $257=, $279, $257
- i32.add $push60=, $257, $74
- i64.load $78=, 0($pop60)
- i32.const $258=, 1008
- i32.add $258=, $279, $258
- i32.add $push63=, $258, $74
- i64.load $79=, 0($pop63)
- i32.const $259=, 960
- i32.add $259=, $279, $259
- i32.add $push64=, $259, $74
- i64.load $80=, 0($pop64)
- i32.const $260=, 976
- i32.add $260=, $279, $260
- i32.add $push66=, $260, $74
- i64.load $81=, 0($pop66)
- i32.const $261=, 816
- i32.add $261=, $279, $261
- i32.add $push69=, $261, $74
- i64.load $82=, 0($pop69)
- i32.const $262=, 240
- i32.add $262=, $279, $262
- i32.add $push74=, $262, $74
- i64.load $83=, 0($pop74)
- i64.load $84=, 912($279)
- i64.load $85=, 928($279)
- i64.load $86=, 944($279)
- i64.load $88=, 80($279)
- i64.load $89=, 96($279)
- i64.load $90=, 112($279)
- i64.load $92=, 48($279)
- i64.load $93=, 176($279)
- i64.load $95=, 288($279)
- i64.load $96=, 272($279)
- i64.lt_u $87=, $48, $42
- i64.eq $91=, $48, $51
- i64.eq $94=, $47, $51
- i64.load $42=, 304($279)
- i32.const $263=, 912
- i32.add $263=, $279, $263
- i32.add $push99=, $263, $74
- i64.load $47=, 0($pop99)
- i32.const $264=, 928
- i32.add $264=, $279, $264
- i32.add $push100=, $264, $74
- i64.load $48=, 0($pop100)
- i32.const $265=, 944
- i32.add $265=, $279, $265
- i32.add $push102=, $265, $74
- i64.load $97=, 0($pop102)
- i32.const $266=, 80
- i32.add $266=, $279, $266
- i32.add $push106=, $266, $74
- i64.load $98=, 0($pop106)
- i32.const $267=, 96
- i32.add $267=, $279, $267
- i32.add $push107=, $267, $74
- i64.load $99=, 0($pop107)
- i32.const $268=, 112
- i32.add $268=, $279, $268
- i32.add $push109=, $268, $74
- i64.load $100=, 0($pop109)
- i32.const $269=, 48
- i32.add $269=, $279, $269
- i32.add $push112=, $269, $74
- i64.load $101=, 0($pop112)
- i32.const $270=, 176
- i32.add $270=, $279, $270
- i32.add $push115=, $270, $74
- i64.load $102=, 0($pop115)
- i32.const $271=, 288
- i32.add $271=, $279, $271
- i32.add $push120=, $271, $74
- i64.load $103=, 0($pop120)
- i32.const $272=, 272
- i32.add $272=, $279, $272
- i32.add $push121=, $272, $74
- i64.load $104=, 0($pop121)
- i32.const $273=, 304
- i32.add $273=, $279, $273
- i32.add $push123=, $273, $74
- i64.load $105=, 0($pop123)
- i64.load $106=, 128($279)
- i64.load $107=, 144($279)
- i64.load $108=, 160($279)
- i64.load $110=, 0($279)
- i64.load $111=, 16($279)
- i64.load $112=, 32($279)
- i64.load $113=, 64($279)
- i64.load $114=, 896($279)
- i64.eq $109=, $45, $51
- i64.load $45=, 256($279)
- i32.const $274=, 128
- i32.add $274=, $279, $274
- i32.add $push146=, $274, $74
- i64.load $115=, 0($pop146)
- i32.const $275=, 144
- i32.add $275=, $279, $275
- i32.add $push147=, $275, $74
- i64.load $116=, 0($pop147)
- i32.const $276=, 160
- i32.add $276=, $279, $276
- i32.add $push149=, $276, $74
- i64.load $117=, 0($pop149)
- i32.const $277=, 0
- i32.add $277=, $279, $277
- i32.add $push152=, $277, $74
- i64.load $118=, 0($pop152)
- i32.const $278=, 16
- i32.add $278=, $279, $278
- i32.add $push153=, $278, $74
- i64.load $119=, 0($pop153)
- i32.const $279=, 32
- i32.add $279=, $279, $279
- i32.add $push155=, $279, $74
- i64.load $120=, 0($pop155)
- i32.const $280=, 64
- i32.add $280=, $279, $280
- i32.add $push158=, $280, $74
- i64.load $121=, 0($pop158)
- i32.const $281=, 896
- i32.add $281=, $279, $281
- i32.add $push163=, $281, $74
- i64.load $122=, 0($pop163)
- i32.const $282=, 256
- i32.add $282=, $279, $282
- i32.add $push167=, $282, $74
- i64.load $123=, 0($pop167)
- i64.load $124=, 192($279)
- i64.load $125=, 208($279)
- i64.load $126=, 224($279)
- i64.load $127=, 768($279)
- i64.load $128=, 784($279)
- i64.load $129=, 800($279)
- i64.load $130=, 992($279)
- i64.load $131=, 832($279)
- i64.load $132=, 384($279)
- i64.load $133=, 400($279)
- i64.load $134=, 416($279)
- i64.load $136=, 320($279)
- i64.eq $135=, $37, $51
- i64.load $37=, 448($279)
- i32.const $283=, 192
- i32.add $283=, $279, $283
- i32.add $push195=, $283, $74
- i64.load $137=, 0($pop195)
- i32.const $284=, 208
- i32.add $284=, $279, $284
- i32.add $push196=, $284, $74
- i64.load $138=, 0($pop196)
- i32.const $285=, 224
- i32.add $285=, $279, $285
- i32.add $push198=, $285, $74
- i64.load $139=, 0($pop198)
- i32.const $286=, 768
- i32.add $286=, $279, $286
- i32.add $push202=, $286, $74
- i64.load $140=, 0($pop202)
- i32.const $287=, 784
- i32.add $287=, $279, $287
- i32.add $push203=, $287, $74
- i64.load $141=, 0($pop203)
- i32.const $288=, 800
- i32.add $288=, $279, $288
- i32.add $push205=, $288, $74
- i64.load $142=, 0($pop205)
- i32.const $289=, 992
- i32.add $289=, $279, $289
- i32.add $push208=, $289, $74
- i64.load $143=, 0($pop208)
- i32.const $290=, 832
- i32.add $290=, $279, $290
- i32.add $push211=, $290, $74
- i64.load $144=, 0($pop211)
- i32.const $291=, 384
- i32.add $291=, $279, $291
- i32.add $push216=, $291, $74
- i64.load $145=, 0($pop216)
- i32.const $292=, 400
- i32.add $292=, $279, $292
- i32.add $push217=, $292, $74
- i64.load $146=, 0($pop217)
- i32.const $293=, 416
- i32.add $293=, $279, $293
- i32.add $push219=, $293, $74
- i64.load $147=, 0($pop219)
- i32.const $294=, 320
- i32.add $294=, $279, $294
- i32.add $push222=, $294, $74
- i64.load $148=, 0($pop222)
- i32.const $295=, 448
- i32.add $295=, $279, $295
- i32.add $push225=, $295, $74
- i64.load $149=, 0($pop225)
- i64.load $150=, 736($279)
- i64.load $151=, 720($279)
- i64.load $152=, 752($279)
- i64.load $153=, 592($279)
- i64.load $154=, 608($279)
- i64.load $155=, 624($279)
- i64.load $156=, 688($279)
- i32.const $296=, 736
- i32.add $296=, $279, $296
- i32.add $push242=, $296, $74
- i64.load $157=, 0($pop242)
- i32.const $297=, 720
- i32.add $297=, $279, $297
- i32.add $push243=, $297, $74
- i64.load $158=, 0($pop243)
- i32.const $298=, 752
- i32.add $298=, $279, $298
- i32.add $push245=, $298, $74
- i64.load $159=, 0($pop245)
- i32.const $299=, 592
- i32.add $299=, $279, $299
- i32.add $push248=, $299, $74
- i64.load $160=, 0($pop248)
- i32.const $300=, 608
- i32.add $300=, $279, $300
- i32.add $push249=, $300, $74
- i64.load $161=, 0($pop249)
- i32.const $301=, 624
- i32.add $301=, $279, $301
- i32.add $push251=, $301, $74
- i64.load $162=, 0($pop251)
- i32.const $302=, 688
- i32.add $302=, $279, $302
- i32.add $push254=, $302, $74
- i64.load $163=, 0($pop254)
- i64.load $164=, 640($279)
- i64.load $165=, 656($279)
- i64.load $166=, 672($279)
- i64.load $167=, 576($279)
- i64.load $168=, 704($279)
- i32.const $303=, 640
- i32.add $303=, $279, $303
- i32.add $push269=, $303, $74
- i64.load $169=, 0($pop269)
- i32.const $304=, 656
- i32.add $304=, $279, $304
- i32.add $push270=, $304, $74
- i64.load $170=, 0($pop270)
- i32.const $305=, 672
- i32.add $305=, $279, $305
- i32.add $push272=, $305, $74
- i64.load $171=, 0($pop272)
- i32.const $306=, 576
- i32.add $306=, $279, $306
- i32.add $push275=, $306, $74
- i64.load $172=, 0($pop275)
- i32.const $307=, 704
- i32.add $307=, $279, $307
- i32.add $push278=, $307, $74
- i64.load $173=, 0($pop278)
- i64.load $174=, 528($279)
- i64.load $175=, 544($279)
- i64.load $176=, 560($279)
- i32.const $308=, 528
- i32.add $308=, $279, $308
- i32.add $push288=, $308, $74
- i64.load $177=, 0($pop288)
- i32.const $309=, 544
- i32.add $309=, $279, $309
- i32.add $push289=, $309, $74
- i64.load $178=, 0($pop289)
- i32.const $310=, 560
- i32.add $310=, $279, $310
- i32.add $push291=, $310, $74
- i64.load $179=, 0($pop291)
- i64.load $180=, 512($279)
- i32.add $push304=, $0, $74
- i32.const $311=, 512
- i32.add $311=, $279, $311
- i32.add $push299=, $311, $74
- i64.load $push300=, 0($pop299)
- i64.select $push301=, $62, $pop300, $51
- i64.select $push302=, $69, $pop301, $51
- i64.select $push303=, $73, $pop302, $51
- i64.store $discard=, 0($pop304), $pop303
- i64.select $push296=, $62, $180, $51
- i64.select $push297=, $69, $pop296, $51
- i64.select $push298=, $73, $pop297, $51
- i64.store $discard=, 0($0), $pop298
- i32.const $push305=, 24
- i32.add $push306=, $0, $pop305
- i64.or $push290=, $177, $178
- i64.select $push292=, $62, $pop290, $179
- i64.select $push293=, $66, $4, $pop292
- i64.select $push294=, $69, $pop293, $51
- i64.select $push295=, $73, $pop294, $51
- i64.store $discard=, 0($pop306), $pop295
- i32.const $push307=, 16
- i32.add $push308=, $0, $pop307
- i64.or $push283=, $174, $175
- i64.select $push284=, $62, $pop283, $176
- i64.select $push285=, $66, $3, $pop284
- i64.select $push286=, $69, $pop285, $51
- i64.select $push287=, $73, $pop286, $51
- i64.store $discard=, 0($pop308), $pop287
- i32.const $push309=, 56
- i32.add $push310=, $0, $pop309
- i64.or $push250=, $160, $161
- i64.select $push252=, $62, $pop250, $162
- i64.select $push253=, $66, $8, $pop252
- i64.select $push255=, $67, $163, $51
- i64.or $push256=, $pop253, $pop255
- i64.or $push244=, $158, $157
- i64.select $push246=, $57, $pop244, $159
- i64.select $push247=, $61, $4, $pop246
- i64.select $push257=, $69, $pop256, $pop247
- i64.select $push258=, $66, $8, $pop257
- i64.select $push259=, $73, $pop258, $51
- i64.store $discard=, 0($pop310), $pop259
- i32.const $push311=, 48
- i32.add $push312=, $0, $pop311
- i64.or $push234=, $153, $154
- i64.select $push235=, $62, $pop234, $155
- i64.select $push236=, $66, $7, $pop235
- i64.select $push237=, $67, $156, $51
- i64.or $push238=, $pop236, $pop237
- i64.or $push231=, $151, $150
- i64.select $push232=, $57, $pop231, $152
- i64.select $push233=, $61, $3, $pop232
- i64.select $push239=, $69, $pop238, $pop233
- i64.select $push240=, $66, $7, $pop239
- i64.select $push241=, $73, $pop240, $51
- i64.store $discard=, 0($pop312), $pop241
- i32.const $push313=, 40
- i32.add $push314=, $0, $pop313
- i64.select $push276=, $62, $172, $51
- i64.or $push271=, $169, $170
- i64.select $push273=, $67, $pop271, $171
- i64.select $push274=, $109, $2, $pop273
- i64.or $push277=, $pop276, $pop274
- i64.select $push279=, $57, $173, $51
- i64.select $push280=, $69, $pop277, $pop279
- i64.select $push281=, $66, $6, $pop280
- i64.select $push282=, $73, $pop281, $51
- i64.store $discard=, 0($pop314), $pop282
- i32.const $push315=, 32
- i32.add $push316=, $0, $pop315
- i64.select $push263=, $62, $167, $51
- i64.or $push260=, $164, $165
- i64.select $push261=, $67, $pop260, $166
- i64.select $push262=, $109, $1, $pop261
- i64.or $push264=, $pop263, $pop262
- i64.select $push265=, $57, $168, $51
- i64.select $push266=, $69, $pop264, $pop265
- i64.select $push267=, $66, $5, $pop266
- i64.select $push268=, $73, $pop267, $51
- i64.store $discard=, 0($pop316), $pop268
- i32.const $push317=, 120
- i32.add $push318=, $0, $pop317
- i64.or $push65=, $79, $80
- i64.select $push67=, $62, $pop65, $81
- i64.select $push68=, $66, $16, $pop67
- i64.select $push70=, $67, $82, $51
- i64.or $push71=, $pop68, $pop70
- i64.or $push59=, $77, $76
- i64.select $push61=, $57, $pop59, $78
- i64.select $push62=, $61, $12, $pop61
- i64.select $push72=, $69, $pop71, $pop62
- i64.select $push73=, $66, $16, $pop72
- i64.select $push75=, $70, $83, $51
- i64.select $push76=, $72, $pop75, $51
- i64.or $push77=, $pop73, $pop76
- i64.or $push48=, $33, $44
- i64.select $push50=, $53, $pop48, $46
- i64.select $push51=, $54, $8, $pop50
- i64.select $push53=, $55, $75, $51
- i64.or $push54=, $pop51, $pop53
- i64.or $push42=, $35, $17
- i64.select $push44=, $50, $pop42, $40
- i64.select $push45=, $52, $4, $pop44
- i64.select $push55=, $56, $pop54, $pop45
- i64.select $push56=, $54, $8, $pop55
- i64.select $push78=, $73, $pop77, $pop56
- i64.select $push79=, $66, $16, $pop78
- i64.store $discard=, 0($pop318), $pop79
- i32.const $push319=, 112
- i32.add $push320=, $0, $pop319
- i64.or $push28=, $63, $64
- i64.select $push29=, $62, $pop28, $65
- i64.select $push30=, $66, $15, $pop29
- i64.select $push31=, $67, $68, $51
- i64.or $push32=, $pop30, $pop31
- i64.or $push25=, $59, $58
- i64.select $push26=, $57, $pop25, $60
- i64.select $push27=, $61, $11, $pop26
- i64.select $push33=, $69, $pop32, $pop27
- i64.select $push34=, $66, $15, $pop33
- i64.select $push35=, $70, $71, $51
- i64.select $push36=, $72, $pop35, $51
- i64.or $push37=, $pop34, $pop36
- i64.or $push18=, $36, $49
- i64.select $push19=, $53, $pop18, $38
- i64.select $push20=, $54, $7, $pop19
- i64.select $push21=, $55, $41, $51
- i64.or $push22=, $pop20, $pop21
- i64.or $push15=, $43, $39
- i64.select $push16=, $50, $pop15, $34
- i64.select $push17=, $52, $3, $pop16
- i64.select $push23=, $56, $pop22, $pop17
- i64.select $push24=, $54, $7, $pop23
- i64.select $push38=, $73, $pop37, $pop24
- i64.select $push39=, $66, $15, $pop38
- i64.store $discard=, 0($pop320), $pop39
- i32.const $push321=, 104
- i32.add $push322=, $0, $pop321
- i64.select $push209=, $62, $143, $51
- i64.or $push204=, $140, $141
- i64.select $push206=, $67, $pop204, $142
- i64.select $push207=, $109, $10, $pop206
- i64.or $push210=, $pop209, $pop207
- i64.select $push212=, $57, $144, $51
- i64.select $push213=, $69, $pop210, $pop212
- i64.select $push214=, $66, $14, $pop213
- i64.or $push197=, $137, $138
- i64.select $push199=, $70, $pop197, $139
- i64.select $push200=, $94, $6, $pop199
- i64.select $push201=, $72, $pop200, $51
- i64.or $push215=, $pop214, $pop201
- i64.select $push223=, $53, $148, $51
- i64.or $push218=, $145, $146
- i64.select $push220=, $55, $pop218, $147
- i64.select $push221=, $135, $2, $pop220
- i64.or $push224=, $pop223, $pop221
- i64.select $push226=, $50, $149, $51
- i64.select $push227=, $56, $pop224, $pop226
- i64.select $push228=, $54, $6, $pop227
- i64.select $push229=, $73, $pop215, $pop228
- i64.select $push230=, $66, $14, $pop229
- i64.store $discard=, 0($pop322), $pop230
- i32.const $push323=, 96
- i32.add $push324=, $0, $pop323
- i64.select $push179=, $62, $130, $51
- i64.or $push176=, $127, $128
- i64.select $push177=, $67, $pop176, $129
- i64.select $push178=, $109, $9, $pop177
- i64.or $push180=, $pop179, $pop178
- i64.select $push181=, $57, $131, $51
- i64.select $push182=, $69, $pop180, $pop181
- i64.select $push183=, $66, $13, $pop182
- i64.or $push172=, $124, $125
- i64.select $push173=, $70, $pop172, $126
- i64.select $push174=, $94, $5, $pop173
- i64.select $push175=, $72, $pop174, $51
- i64.or $push184=, $pop183, $pop175
- i64.select $push188=, $53, $136, $51
- i64.or $push185=, $132, $133
- i64.select $push186=, $55, $pop185, $134
- i64.select $push187=, $135, $1, $pop186
- i64.or $push189=, $pop188, $pop187
- i64.select $push190=, $50, $37, $51
- i64.select $push191=, $56, $pop189, $pop190
- i64.select $push192=, $54, $5, $pop191
- i64.select $push193=, $73, $pop184, $pop192
- i64.select $push194=, $66, $13, $pop193
- i64.store $discard=, 0($pop324), $pop194
- i32.const $push325=, 72
- i32.add $push326=, $0, $pop325
- i64.select $push164=, $62, $122, $51
- i64.select $push165=, $69, $pop164, $51
- i64.or $push154=, $118, $119
- i64.select $push156=, $70, $pop154, $120
- i64.select $push157=, $94, $2, $pop156
- i64.select $push159=, $87, $121, $51
- i64.or $push160=, $pop157, $pop159
- i64.or $push148=, $115, $116
- i64.select $push150=, $67, $pop148, $117
- i64.select $push151=, $109, $6, $pop150
- i64.select $push161=, $72, $pop160, $pop151
- i64.select $push162=, $94, $2, $pop161
- i64.or $push166=, $pop165, $pop162
- i64.select $push168=, $53, $123, $51
- i64.select $push169=, $56, $pop168, $51
- i64.select $push170=, $73, $pop166, $pop169
- i64.select $push171=, $66, $10, $pop170
- i64.store $discard=, 0($pop326), $pop171
- i32.const $push327=, 64
- i32.add $push328=, $0, $pop327
- i64.select $push139=, $62, $114, $51
- i64.select $push140=, $69, $pop139, $51
- i64.or $push132=, $110, $111
- i64.select $push133=, $70, $pop132, $112
- i64.select $push134=, $94, $1, $pop133
- i64.select $push135=, $87, $113, $51
- i64.or $push136=, $pop134, $pop135
- i64.or $push129=, $106, $107
- i64.select $push130=, $67, $pop129, $108
- i64.select $push131=, $109, $5, $pop130
- i64.select $push137=, $72, $pop136, $pop131
- i64.select $push138=, $94, $1, $pop137
- i64.or $push141=, $pop140, $pop138
- i64.select $push142=, $53, $45, $51
- i64.select $push143=, $56, $pop142, $51
- i64.select $push144=, $73, $pop141, $pop143
- i64.select $push145=, $66, $9, $pop144
- i64.store $discard=, 0($pop328), $pop145
- i32.const $push329=, 88
- i32.add $push330=, $0, $pop329
- i64.or $push101=, $47, $48
- i64.select $push103=, $62, $pop101, $97
- i64.select $push104=, $66, $12, $pop103
- i64.select $push105=, $69, $pop104, $51
- i64.select $push113=, $70, $101, $51
- i64.or $push108=, $98, $99
- i64.select $push110=, $87, $pop108, $100
- i64.select $push111=, $91, $8, $pop110
- i64.or $push114=, $pop113, $pop111
- i64.select $push116=, $67, $102, $51
- i64.select $push117=, $72, $pop114, $pop116
- i64.select $push118=, $94, $4, $pop117
- i64.or $push119=, $pop105, $pop118
- i64.or $push122=, $104, $103
- i64.select $push124=, $53, $pop122, $105
- i64.select $push125=, $54, $4, $pop124
- i64.select $push126=, $56, $pop125, $51
- i64.select $push127=, $73, $pop119, $pop126
- i64.select $push128=, $66, $12, $pop127
- i64.store $discard=, 0($pop330), $pop128
- i32.const $push331=, 80
- i32.add $push332=, $0, $pop331
- i64.or $push80=, $84, $85
- i64.select $push81=, $62, $pop80, $86
- i64.select $push82=, $66, $11, $pop81
- i64.select $push83=, $69, $pop82, $51
- i64.select $push87=, $70, $92, $51
- i64.or $push84=, $88, $89
- i64.select $push85=, $87, $pop84, $90
- i64.select $push86=, $91, $7, $pop85
- i64.or $push88=, $pop87, $pop86
- i64.select $push89=, $67, $93, $51
- i64.select $push90=, $72, $pop88, $pop89
- i64.select $push91=, $94, $3, $pop90
- i64.or $push92=, $pop83, $pop91
- i64.or $push93=, $96, $95
- i64.select $push94=, $53, $pop93, $42
- i64.select $push95=, $54, $3, $pop94
- i64.select $push96=, $56, $pop95, $51
- i64.select $push97=, $73, $pop92, $pop96
- i64.select $push98=, $66, $11, $pop97
- i64.store $discard=, 0($pop332), $pop98
- i32.const $183=, 1024
- i32.add $279=, $279, $183
- i32.const $183=, __stack_pointer
- i32.store $279=, 0($183), $279
- return
-func_end5:
- .size bigshift, func_end5-bigshift
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/load-ext.s b/prototype-wasmate/test/load-ext.s
deleted file mode 100644
index 276db21..0000000
--- a/prototype-wasmate/test/load-ext.s
+++ /dev/null
@@ -1,114 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/load-ext.ll"
- .globl sext_i8_i32
- .type sext_i8_i32,@function
-sext_i8_i32: # @sext_i8_i32
- .param i32
- .result i32
-# BB#0:
- i32.load8_s $push0=, 0($0)
- return $pop0
-func_end0:
- .size sext_i8_i32, func_end0-sext_i8_i32
-
- .globl zext_i8_i32
- .type zext_i8_i32,@function
-zext_i8_i32: # @zext_i8_i32
- .param i32
- .result i32
-# BB#0:
- i32.load8_u $push0=, 0($0)
- return $pop0
-func_end1:
- .size zext_i8_i32, func_end1-zext_i8_i32
-
- .globl sext_i16_i32
- .type sext_i16_i32,@function
-sext_i16_i32: # @sext_i16_i32
- .param i32
- .result i32
-# BB#0:
- i32.load16_s $push0=, 0($0)
- return $pop0
-func_end2:
- .size sext_i16_i32, func_end2-sext_i16_i32
-
- .globl zext_i16_i32
- .type zext_i16_i32,@function
-zext_i16_i32: # @zext_i16_i32
- .param i32
- .result i32
-# BB#0:
- i32.load16_u $push0=, 0($0)
- return $pop0
-func_end3:
- .size zext_i16_i32, func_end3-zext_i16_i32
-
- .globl sext_i8_i64
- .type sext_i8_i64,@function
-sext_i8_i64: # @sext_i8_i64
- .param i32
- .result i64
-# BB#0:
- i64.load8_s $push0=, 0($0)
- return $pop0
-func_end4:
- .size sext_i8_i64, func_end4-sext_i8_i64
-
- .globl zext_i8_i64
- .type zext_i8_i64,@function
-zext_i8_i64: # @zext_i8_i64
- .param i32
- .result i64
-# BB#0:
- i64.load8_u $push0=, 0($0)
- return $pop0
-func_end5:
- .size zext_i8_i64, func_end5-zext_i8_i64
-
- .globl sext_i16_i64
- .type sext_i16_i64,@function
-sext_i16_i64: # @sext_i16_i64
- .param i32
- .result i64
-# BB#0:
- i64.load16_s $push0=, 0($0)
- return $pop0
-func_end6:
- .size sext_i16_i64, func_end6-sext_i16_i64
-
- .globl zext_i16_i64
- .type zext_i16_i64,@function
-zext_i16_i64: # @zext_i16_i64
- .param i32
- .result i64
-# BB#0:
- i64.load16_u $push0=, 0($0)
- return $pop0
-func_end7:
- .size zext_i16_i64, func_end7-zext_i16_i64
-
- .globl sext_i32_i64
- .type sext_i32_i64,@function
-sext_i32_i64: # @sext_i32_i64
- .param i32
- .result i64
-# BB#0:
- i64.load32_s $push0=, 0($0)
- return $pop0
-func_end8:
- .size sext_i32_i64, func_end8-sext_i32_i64
-
- .globl zext_i32_i64
- .type zext_i32_i64,@function
-zext_i32_i64: # @zext_i32_i64
- .param i32
- .result i64
-# BB#0:
- i64.load32_u $push0=, 0($0)
- return $pop0
-func_end9:
- .size zext_i32_i64, func_end9-zext_i32_i64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/load-store-i1.s b/prototype-wasmate/test/load-store-i1.s
deleted file mode 100644
index fa3f430..0000000
--- a/prototype-wasmate/test/load-store-i1.s
+++ /dev/null
@@ -1,80 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/load-store-i1.ll"
- .globl load_u_i1_i32
- .type load_u_i1_i32,@function
-load_u_i1_i32: # @load_u_i1_i32
- .param i32
- .result i32
-# BB#0:
- i32.load8_u $push0=, 0($0)
- return $pop0
-func_end0:
- .size load_u_i1_i32, func_end0-load_u_i1_i32
-
- .globl load_s_i1_i32
- .type load_s_i1_i32,@function
-load_s_i1_i32: # @load_s_i1_i32
- .param i32
- .result i32
- .local i32
-# BB#0:
- i32.const $1=, 31
- i32.load8_u $push0=, 0($0)
- i32.shl $push1=, $pop0, $1
- i32.shr_s $push2=, $pop1, $1
- return $pop2
-func_end1:
- .size load_s_i1_i32, func_end1-load_s_i1_i32
-
- .globl load_u_i1_i64
- .type load_u_i1_i64,@function
-load_u_i1_i64: # @load_u_i1_i64
- .param i32
- .result i64
-# BB#0:
- i64.load8_u $push0=, 0($0)
- return $pop0
-func_end2:
- .size load_u_i1_i64, func_end2-load_u_i1_i64
-
- .globl load_s_i1_i64
- .type load_s_i1_i64,@function
-load_s_i1_i64: # @load_s_i1_i64
- .param i32
- .result i64
- .local i64
-# BB#0:
- i64.const $1=, 63
- i64.load8_u $push0=, 0($0)
- i64.shl $push1=, $pop0, $1
- i64.shr_s $push2=, $pop1, $1
- return $pop2
-func_end3:
- .size load_s_i1_i64, func_end3-load_s_i1_i64
-
- .globl store_i32_i1
- .type store_i32_i1,@function
-store_i32_i1: # @store_i32_i1
- .param i32, i32
-# BB#0:
- i32.const $push0=, 1
- i32.and $push1=, $1, $pop0
- i32.store8 $discard=, 0($0), $pop1
- return
-func_end4:
- .size store_i32_i1, func_end4-store_i32_i1
-
- .globl store_i64_i1
- .type store_i64_i1,@function
-store_i64_i1: # @store_i64_i1
- .param i32, i64
-# BB#0:
- i64.const $push0=, 1
- i64.and $push1=, $1, $pop0
- i64.store8 $discard=, 0($0), $pop1
- return
-func_end5:
- .size store_i64_i1, func_end5-store_i64_i1
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/load.s b/prototype-wasmate/test/load.s
deleted file mode 100644
index 7df553b..0000000
--- a/prototype-wasmate/test/load.s
+++ /dev/null
@@ -1,48 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/load.ll"
- .globl ldi32
- .type ldi32,@function
-ldi32: # @ldi32
- .param i32
- .result i32
-# BB#0:
- i32.load $push0=, 0($0)
- return $pop0
-func_end0:
- .size ldi32, func_end0-ldi32
-
- .globl ldi64
- .type ldi64,@function
-ldi64: # @ldi64
- .param i32
- .result i64
-# BB#0:
- i64.load $push0=, 0($0)
- return $pop0
-func_end1:
- .size ldi64, func_end1-ldi64
-
- .globl ldf32
- .type ldf32,@function
-ldf32: # @ldf32
- .param i32
- .result f32
-# BB#0:
- f32.load $push0=, 0($0)
- return $pop0
-func_end2:
- .size ldf32, func_end2-ldf32
-
- .globl ldf64
- .type ldf64,@function
-ldf64: # @ldf64
- .param i32
- .result f64
-# BB#0:
- f64.load $push0=, 0($0)
- return $pop0
-func_end3:
- .size ldf64, func_end3-ldf64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/memory-addr32.s b/prototype-wasmate/test/memory-addr32.s
deleted file mode 100644
index d3d4c15..0000000
--- a/prototype-wasmate/test/memory-addr32.s
+++ /dev/null
@@ -1,24 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/memory-addr32.ll"
- .globl memory_size
- .type memory_size,@function
-memory_size: # @memory_size
- .result i32
-# BB#0:
- memory_size $push0=
- return $pop0
-func_end0:
- .size memory_size, func_end0-memory_size
-
- .globl grow_memory
- .type grow_memory,@function
-grow_memory: # @grow_memory
- .param i32
-# BB#0:
- grow_memory $0
- return
-func_end1:
- .size grow_memory, func_end1-grow_memory
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/memory-addr64.s b/prototype-wasmate/test/memory-addr64.s
deleted file mode 100644
index a0e4121..0000000
--- a/prototype-wasmate/test/memory-addr64.s
+++ /dev/null
@@ -1,24 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/memory-addr64.ll"
- .globl memory_size
- .type memory_size,@function
-memory_size: # @memory_size
- .result i64
-# BB#0:
- memory_size $push0=
- return $pop0
-func_end0:
- .size memory_size, func_end0-memory_size
-
- .globl grow_memory
- .type grow_memory,@function
-grow_memory: # @grow_memory
- .param i64
-# BB#0:
- grow_memory $0
- return
-func_end1:
- .size grow_memory, func_end1-grow_memory
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/offset-folding.s b/prototype-wasmate/test/offset-folding.s
deleted file mode 100644
index 4b70234..0000000
--- a/prototype-wasmate/test/offset-folding.s
+++ /dev/null
@@ -1,52 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/offset-folding.ll"
- .globl test0
- .type test0,@function
-test0: # @test0
- .result i32
-# BB#0:
- i32.const $push0=, x+188
- return $pop0
-func_end0:
- .size test0, func_end0-test0
-
- .globl test1
- .type test1,@function
-test1: # @test1
- .result i32
-# BB#0:
- i32.const $push0=, y+188
- return $pop0
-func_end1:
- .size test1, func_end1-test1
-
- .globl test2
- .type test2,@function
-test2: # @test2
- .result i32
-# BB#0:
- i32.const $push0=, x
- return $pop0
-func_end2:
- .size test2, func_end2-test2
-
- .globl test3
- .type test3,@function
-test3: # @test3
- .result i32
-# BB#0:
- i32.const $push0=, y
- return $pop0
-func_end3:
- .size test3, func_end3-test3
-
- .type y,@object # @y
- .bss
- .globl y
- .align 4
-y:
- .zero 200
- .size y, 200
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/offset.s b/prototype-wasmate/test/offset.s
deleted file mode 100644
index fbfda4a..0000000
--- a/prototype-wasmate/test/offset.s
+++ /dev/null
@@ -1,185 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/offset.ll"
- .globl load_i32_with_folded_offset
- .type load_i32_with_folded_offset,@function
-load_i32_with_folded_offset: # @load_i32_with_folded_offset
- .param i32
- .result i32
-# BB#0:
- i32.load $push0=, 24($0)
- return $pop0
-func_end0:
- .size load_i32_with_folded_offset, func_end0-load_i32_with_folded_offset
-
- .globl load_i32_with_unfolded_offset
- .type load_i32_with_unfolded_offset,@function
-load_i32_with_unfolded_offset: # @load_i32_with_unfolded_offset
- .param i32
- .result i32
-# BB#0:
- i32.const $push0=, 24
- i32.add $push1=, $0, $pop0
- i32.load $push2=, 0($pop1)
- return $pop2
-func_end1:
- .size load_i32_with_unfolded_offset, func_end1-load_i32_with_unfolded_offset
-
- .globl load_i64_with_folded_offset
- .type load_i64_with_folded_offset,@function
-load_i64_with_folded_offset: # @load_i64_with_folded_offset
- .param i32
- .result i64
-# BB#0:
- i64.load $push0=, 24($0)
- return $pop0
-func_end2:
- .size load_i64_with_folded_offset, func_end2-load_i64_with_folded_offset
-
- .globl load_i64_with_unfolded_offset
- .type load_i64_with_unfolded_offset,@function
-load_i64_with_unfolded_offset: # @load_i64_with_unfolded_offset
- .param i32
- .result i64
-# BB#0:
- i32.const $push0=, 24
- i32.add $push1=, $0, $pop0
- i64.load $push2=, 0($pop1)
- return $pop2
-func_end3:
- .size load_i64_with_unfolded_offset, func_end3-load_i64_with_unfolded_offset
-
- .globl store_i32_with_folded_offset
- .type store_i32_with_folded_offset,@function
-store_i32_with_folded_offset: # @store_i32_with_folded_offset
- .param i32
-# BB#0:
- i32.const $push0=, 0
- i32.store $discard=, 24($0), $pop0
- return
-func_end4:
- .size store_i32_with_folded_offset, func_end4-store_i32_with_folded_offset
-
- .globl store_i32_with_unfolded_offset
- .type store_i32_with_unfolded_offset,@function
-store_i32_with_unfolded_offset: # @store_i32_with_unfolded_offset
- .param i32
-# BB#0:
- i32.const $push0=, 24
- i32.add $push1=, $0, $pop0
- i32.const $push2=, 0
- i32.store $discard=, 0($pop1), $pop2
- return
-func_end5:
- .size store_i32_with_unfolded_offset, func_end5-store_i32_with_unfolded_offset
-
- .globl store_i64_with_folded_offset
- .type store_i64_with_folded_offset,@function
-store_i64_with_folded_offset: # @store_i64_with_folded_offset
- .param i32
-# BB#0:
- i64.const $push0=, 0
- i64.store $discard=, 24($0), $pop0
- return
-func_end6:
- .size store_i64_with_folded_offset, func_end6-store_i64_with_folded_offset
-
- .globl store_i64_with_unfolded_offset
- .type store_i64_with_unfolded_offset,@function
-store_i64_with_unfolded_offset: # @store_i64_with_unfolded_offset
- .param i32
-# BB#0:
- i32.const $push0=, 24
- i32.add $push1=, $0, $pop0
- i64.const $push2=, 0
- i64.store $discard=, 0($pop1), $pop2
- return
-func_end7:
- .size store_i64_with_unfolded_offset, func_end7-store_i64_with_unfolded_offset
-
- .globl load_i32_from_numeric_address
- .type load_i32_from_numeric_address,@function
-load_i32_from_numeric_address: # @load_i32_from_numeric_address
- .result i32
-# BB#0:
- i32.const $push0=, 0
- i32.load $push1=, 42($pop0)
- return $pop1
-func_end8:
- .size load_i32_from_numeric_address, func_end8-load_i32_from_numeric_address
-
- .globl load_i32_from_global_address
- .type load_i32_from_global_address,@function
-load_i32_from_global_address: # @load_i32_from_global_address
- .result i32
-# BB#0:
- i32.const $push0=, 0
- i32.load $push1=, gv($pop0)
- return $pop1
-func_end9:
- .size load_i32_from_global_address, func_end9-load_i32_from_global_address
-
- .globl store_i32_to_numeric_address
- .type store_i32_to_numeric_address,@function
-store_i32_to_numeric_address: # @store_i32_to_numeric_address
- .local i32
-# BB#0:
- i32.const $0=, 0
- i32.store $discard=, 42($0), $0
- return
-func_end10:
- .size store_i32_to_numeric_address, func_end10-store_i32_to_numeric_address
-
- .globl store_i32_to_global_address
- .type store_i32_to_global_address,@function
-store_i32_to_global_address: # @store_i32_to_global_address
- .local i32
-# BB#0:
- i32.const $0=, 0
- i32.store $discard=, gv($0), $0
- return
-func_end11:
- .size store_i32_to_global_address, func_end11-store_i32_to_global_address
-
- .globl load_i8_s_with_folded_offset
- .type load_i8_s_with_folded_offset,@function
-load_i8_s_with_folded_offset: # @load_i8_s_with_folded_offset
- .param i32
- .result i32
-# BB#0:
- i32.load8_s $push0=, 24($0)
- return $pop0
-func_end12:
- .size load_i8_s_with_folded_offset, func_end12-load_i8_s_with_folded_offset
-
- .globl load_i8_u_with_folded_offset
- .type load_i8_u_with_folded_offset,@function
-load_i8_u_with_folded_offset: # @load_i8_u_with_folded_offset
- .param i32
- .result i32
-# BB#0:
- i32.load8_u $push0=, 24($0)
- return $pop0
-func_end13:
- .size load_i8_u_with_folded_offset, func_end13-load_i8_u_with_folded_offset
-
- .globl store_i8_with_folded_offset
- .type store_i8_with_folded_offset,@function
-store_i8_with_folded_offset: # @store_i8_with_folded_offset
- .param i32
-# BB#0:
- i32.const $push0=, 0
- i32.store8 $discard=, 24($0), $pop0
- return
-func_end14:
- .size store_i8_with_folded_offset, func_end14-store_i8_with_folded_offset
-
- .type gv,@object # @gv
- .bss
- .globl gv
- .align 2
-gv:
- .int32 0 # 0x0
- .size gv, 4
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/permute.s b/prototype-wasmate/test/permute.s
deleted file mode 100644
index 2ea7470..0000000
--- a/prototype-wasmate/test/permute.s
+++ /dev/null
@@ -1,6 +0,0 @@
- .data
- .type _ZL7permute,@object # @_ZL7permute
- .align 4
-_ZL7permute:
- .ascii "hE?\215s\0167\333[g\217\2255it\304k\013\342\357\274ld\340\375\214\236\206&~\330\224\211+\310\244\302\362\373\022\034ej\3319\267\263W\306w\257\256\312M>\222ub\226\204\266\260N\354;q\021\367\277\3431\346\247\220\374\003\344\252\327\314- \025\203DH\200r\372\001X\353:_\000A\315\351o`n\254(\255\2720\334yS#\364$\"\202\177}\216\366\223L'\273\275Z\3554\030\363\300\317\377\243\370\007\005\234\323\017\240\006m%\\\371^B<\347\261\027\230]\f\335\305\365p\345\376zJ\253,F\245@\bR\205!\270\032\316\325\004\nI\246\321\237\212\311\251|\227\232G\2768Y\213\301\033\324\352\271\031\024\233\22163\320\035\322\337=C\037\rc\341\307QUv\002\265aK\264\tV\303x\350\241\036\201\336/{\332\326Pf\020T\360)\210\026\356\250\235\361\313O*\262\231\0232\207.\242"
- .size _ZL7permute, 256
diff --git a/prototype-wasmate/test/phi.s b/prototype-wasmate/test/phi.s
deleted file mode 100644
index 12677d4..0000000
--- a/prototype-wasmate/test/phi.s
+++ /dev/null
@@ -1,47 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/phi.ll"
- .globl test0
- .type test0,@function
-test0: # @test0
- .param i32
- .result i32
-# BB#0: # %entry
- i32.const $push0=, -1
- i32.gt_s $push1=, $0, $pop0
- block BB0_2
- br_if $pop1, BB0_2
-# BB#1: # %true
- i32.const $push2=, 3
- i32.div_s $0=, $0, $pop2
-BB0_2: # %done
- return $0
-func_end0:
- .size test0, func_end0-test0
-
- .globl test1
- .type test1,@function
-test1: # @test1
- .param i32
- .result i32
- .local i32, i32, i32, i32, i32
-# BB#0: # %entry
- i32.const $2=, 1
- i32.const $3=, 0
- copy_local $4=, $2
- copy_local $5=, $3
-BB1_1: # %loop
- # =>This Inner Loop Header: Depth=1
- loop BB1_2
- i32.add $5=, $5, $2
- i32.lt_s $push0=, $5, $0
- copy_local $1=, $4
- copy_local $4=, $3
- copy_local $3=, $1
- br_if $pop0, BB1_1
-BB1_2: # %exit
- return $4
-func_end1:
- .size test1, func_end1-test1
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/reg-stackify.s b/prototype-wasmate/test/reg-stackify.s
deleted file mode 100644
index f1c7ec9..0000000
--- a/prototype-wasmate/test/reg-stackify.s
+++ /dev/null
@@ -1,81 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/reg-stackify.ll"
- .globl no0
- .type no0,@function
-no0: # @no0
- .param i32, i32
- .result i32
-# BB#0:
- i32.load $1=, 0($1)
- i32.const $push0=, 0
- i32.store $discard=, 0($0), $pop0
- return $1
-func_end0:
- .size no0, func_end0-no0
-
- .globl no1
- .type no1,@function
-no1: # @no1
- .param i32, i32
- .result i32
-# BB#0:
- i32.load $1=, 0($1)
- i32.const $push0=, 0
- i32.store $discard=, 0($0), $pop0
- return $1
-func_end1:
- .size no1, func_end1-no1
-
- .globl yes0
- .type yes0,@function
-yes0: # @yes0
- .param i32, i32
- .result i32
-# BB#0:
- i32.const $push1=, 0
- i32.store $discard=, 0($0), $pop1
- i32.load $push0=, 0($1)
- return $pop0
-func_end2:
- .size yes0, func_end2-yes0
-
- .globl yes1
- .type yes1,@function
-yes1: # @yes1
- .param i32
- .result i32
-# BB#0:
- i32.load $push0=, 0($0)
- return $pop0
-func_end3:
- .size yes1, func_end3-yes1
-
- .globl stack_uses
- .type stack_uses,@function
-stack_uses: # @stack_uses
- .param i32, i32, i32, i32
- .result i32
- .local i32, i32
-# BB#0: # %entry
- i32.const $4=, 1
- i32.const $5=, 2
- i32.lt_s $push0=, $0, $4
- i32.lt_s $push1=, $1, $5
- i32.xor $push4=, $pop0, $pop1
- i32.lt_s $push2=, $2, $4
- i32.lt_s $push3=, $3, $5
- i32.xor $push5=, $pop2, $pop3
- i32.xor $push6=, $pop4, $pop5
- i32.ne $push7=, $pop6, $4
- block BB4_2
- br_if $pop7, BB4_2
-# BB#1: # %true
- i32.const $push8=, 0
- return $pop8
-BB4_2: # %false
- return $4
-func_end4:
- .size stack_uses, func_end4-stack_uses
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/relocation.s b/prototype-wasmate/test/relocation.s
deleted file mode 100644
index b26994a..0000000
--- a/prototype-wasmate/test/relocation.s
+++ /dev/null
@@ -1,31 +0,0 @@
- .text
- .file "relocation.c"
- .globl main
- .type main,@function
-main: # @main
- .result i32
- .local i32
-# BB#0: # %entry
- i32.const $push0=, a
- i32.load $push1=, 0($pop0)
- return $pop1
-func_end0:
- .size main, func_end0-main
-
- .type b,@object # @b
- .data
- .globl b
- .align 2
-b:
- .int32 a
- .size b, 4
-
- .type a,@object # @a
- .globl a
- .align 2
-a:
- .int32 b
- .size a, 4
-
-
-
diff --git a/prototype-wasmate/test/return-int32.s b/prototype-wasmate/test/return-int32.s
deleted file mode 100644
index 5c0414f..0000000
--- a/prototype-wasmate/test/return-int32.s
+++ /dev/null
@@ -1,14 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/return-int32.ll"
- .globl return_i32
- .type return_i32,@function
-return_i32: # @return_i32
- .param i32
- .result i32
-# BB#0:
- return $0
-func_end0:
- .size return_i32, func_end0-return_i32
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/return-void.s b/prototype-wasmate/test/return-void.s
deleted file mode 100644
index 16821ee..0000000
--- a/prototype-wasmate/test/return-void.s
+++ /dev/null
@@ -1,12 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/return-void.ll"
- .globl return_void
- .type return_void,@function
-return_void: # @return_void
-# BB#0:
- return
-func_end0:
- .size return_void, func_end0-return_void
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/returned.s b/prototype-wasmate/test/returned.s
deleted file mode 100644
index 06bb81b..0000000
--- a/prototype-wasmate/test/returned.s
+++ /dev/null
@@ -1,25 +0,0 @@
- .text
- .file "/usr/local/google/home/binji/dev/github/wasm-experimental/prototype-wasmate/third_party/llvm/test/CodeGen/WebAssembly/returned.ll"
- .globl _Z3foov
- .type _Z3foov,@function
-_Z3foov:
- .result i32
- i32.const $push0=, 1
- i32.call $push1=, _Znwm, $pop0
- i32.call $push2=, _ZN5AppleC1Ev, $pop1
- return $pop2
-func_end0:
- .size _Z3foov, func_end0-_Z3foov
-
- .globl _Z3barPvS_l
- .type _Z3barPvS_l,@function
-_Z3barPvS_l:
- .param i32, i32, i32
- .result i32
- i32.call $push0=, memcpy, $0, $1, $2
- return $pop0
-func_end1:
- .size _Z3barPvS_l, func_end1-_Z3barPvS_l
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/select.s b/prototype-wasmate/test/select.s
deleted file mode 100644
index 3cc4b56..0000000
--- a/prototype-wasmate/test/select.s
+++ /dev/null
@@ -1,136 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/select.ll"
- .globl select_i32_bool
- .type select_i32_bool,@function
-select_i32_bool: # @select_i32_bool
- .param i32, i32, i32
- .result i32
-# BB#0:
- i32.select $push0=, $0, $1, $2
- return $pop0
-func_end0:
- .size select_i32_bool, func_end0-select_i32_bool
-
- .globl select_i32_eq
- .type select_i32_eq,@function
-select_i32_eq: # @select_i32_eq
- .param i32, i32, i32
- .result i32
-# BB#0:
- i32.select $push0=, $0, $2, $1
- return $pop0
-func_end1:
- .size select_i32_eq, func_end1-select_i32_eq
-
- .globl select_i32_ne
- .type select_i32_ne,@function
-select_i32_ne: # @select_i32_ne
- .param i32, i32, i32
- .result i32
-# BB#0:
- i32.select $push0=, $0, $1, $2
- return $pop0
-func_end2:
- .size select_i32_ne, func_end2-select_i32_ne
-
- .globl select_i64_bool
- .type select_i64_bool,@function
-select_i64_bool: # @select_i64_bool
- .param i32, i64, i64
- .result i64
-# BB#0:
- i64.select $push0=, $0, $1, $2
- return $pop0
-func_end3:
- .size select_i64_bool, func_end3-select_i64_bool
-
- .globl select_i64_eq
- .type select_i64_eq,@function
-select_i64_eq: # @select_i64_eq
- .param i32, i64, i64
- .result i64
-# BB#0:
- i64.select $push0=, $0, $2, $1
- return $pop0
-func_end4:
- .size select_i64_eq, func_end4-select_i64_eq
-
- .globl select_i64_ne
- .type select_i64_ne,@function
-select_i64_ne: # @select_i64_ne
- .param i32, i64, i64
- .result i64
-# BB#0:
- i64.select $push0=, $0, $1, $2
- return $pop0
-func_end5:
- .size select_i64_ne, func_end5-select_i64_ne
-
- .globl select_f32_bool
- .type select_f32_bool,@function
-select_f32_bool: # @select_f32_bool
- .param i32, f32, f32
- .result f32
-# BB#0:
- f32.select $push0=, $0, $1, $2
- return $pop0
-func_end6:
- .size select_f32_bool, func_end6-select_f32_bool
-
- .globl select_f32_eq
- .type select_f32_eq,@function
-select_f32_eq: # @select_f32_eq
- .param i32, f32, f32
- .result f32
-# BB#0:
- f32.select $push0=, $0, $2, $1
- return $pop0
-func_end7:
- .size select_f32_eq, func_end7-select_f32_eq
-
- .globl select_f32_ne
- .type select_f32_ne,@function
-select_f32_ne: # @select_f32_ne
- .param i32, f32, f32
- .result f32
-# BB#0:
- f32.select $push0=, $0, $1, $2
- return $pop0
-func_end8:
- .size select_f32_ne, func_end8-select_f32_ne
-
- .globl select_f64_bool
- .type select_f64_bool,@function
-select_f64_bool: # @select_f64_bool
- .param i32, f64, f64
- .result f64
-# BB#0:
- f64.select $push0=, $0, $1, $2
- return $pop0
-func_end9:
- .size select_f64_bool, func_end9-select_f64_bool
-
- .globl select_f64_eq
- .type select_f64_eq,@function
-select_f64_eq: # @select_f64_eq
- .param i32, f64, f64
- .result f64
-# BB#0:
- f64.select $push0=, $0, $2, $1
- return $pop0
-func_end10:
- .size select_f64_eq, func_end10-select_f64_eq
-
- .globl select_f64_ne
- .type select_f64_ne,@function
-select_f64_ne: # @select_f64_ne
- .param i32, f64, f64
- .result f64
-# BB#0:
- f64.select $push0=, $0, $1, $2
- return $pop0
-func_end11:
- .size select_f64_ne, func_end11-select_f64_ne
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/signext-zeroext.s b/prototype-wasmate/test/signext-zeroext.s
deleted file mode 100644
index f86c16f..0000000
--- a/prototype-wasmate/test/signext-zeroext.s
+++ /dev/null
@@ -1,60 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/signext-zeroext.ll"
- .globl z2s_func
- .type z2s_func,@function
-z2s_func: # @z2s_func
- .param i32
- .result i32
- .local i32
-# BB#0:
- i32.const $1=, 24
- i32.shl $push0=, $0, $1
- i32.shr_s $push1=, $pop0, $1
- return $pop1
-func_end0:
- .size z2s_func, func_end0-z2s_func
-
- .globl s2z_func
- .type s2z_func,@function
-s2z_func: # @s2z_func
- .param i32
- .result i32
-# BB#0:
- i32.const $push0=, 255
- i32.and $push1=, $0, $pop0
- return $pop1
-func_end1:
- .size s2z_func, func_end1-s2z_func
-
- .globl z2s_call
- .type z2s_call,@function
-z2s_call: # @z2s_call
- .param i32
- .result i32
-# BB#0:
- i32.const $push0=, 255
- i32.and $push1=, $0, $pop0
- i32.call $push2=, z2s_func, $pop1
- return $pop2
-func_end2:
- .size z2s_call, func_end2-z2s_call
-
- .globl s2z_call
- .type s2z_call,@function
-s2z_call: # @s2z_call
- .param i32
- .result i32
- .local i32
-# BB#0:
- i32.const $1=, 24
- i32.shl $push0=, $0, $1
- i32.shr_s $push1=, $pop0, $1
- i32.call $push2=, s2z_func, $pop1
- i32.shl $push3=, $pop2, $1
- i32.shr_s $push4=, $pop3, $1
- return $pop4
-func_end3:
- .size s2z_call, func_end3-s2z_call
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/store-results.s b/prototype-wasmate/test/store-results.s
deleted file mode 100644
index d7d5eb2..0000000
--- a/prototype-wasmate/test/store-results.s
+++ /dev/null
@@ -1,66 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/store-results.ll"
- .globl single_block
- .type single_block,@function
-single_block: # @single_block
- .param i32
- .result i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.store $push1=, 0($0), $pop0
- return $pop1
-func_end0:
- .size single_block, func_end0-single_block
-
- .globl foo
- .type foo,@function
-foo: # @foo
- .local i32, i32
-# BB#0: # %for.body.i
- i32.const $0=, 0
- copy_local $1=, $0
-BB1_1: # %for.body5.i
- # =>This Inner Loop Header: Depth=1
- loop BB1_2
- i32.const $push0=, 1
- i32.add $1=, $1, $pop0
- i32.const $push1=, 256
- i32.ne $push2=, $1, $pop1
- i32.store $discard=, pos($0), $0
- br_if $pop2, BB1_1
-BB1_2: # %for.cond.cleanup4.i
- return
-func_end1:
- .size foo, func_end1-foo
-
- .globl bar
- .type bar,@function
-bar: # @bar
- .local i32, f32
-# BB#0: # %for.body.i
- f32.const $1=, 0x0p0
- i32.const $0=, 0
-BB2_1: # %for.body5.i
- # =>This Inner Loop Header: Depth=1
- loop BB2_2
- f32.const $push0=, 0x1p0
- f32.add $1=, $1, $pop0
- f32.const $push1=, 0x1p8
- f32.ne $push2=, $1, $pop1
- i32.store $discard=, pos($0), $0
- br_if $pop2, BB2_1
-BB2_2: # %for.cond.cleanup4.i
- return
-func_end2:
- .size bar, func_end2-bar
-
- .type pos,@object # @pos
- .bss
- .globl pos
- .align 2
-pos:
- .zero 12
- .size pos, 12
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/store-trunc.s b/prototype-wasmate/test/store-trunc.s
deleted file mode 100644
index 1b836eb..0000000
--- a/prototype-wasmate/test/store-trunc.s
+++ /dev/null
@@ -1,54 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/store-trunc.ll"
- .globl trunc_i8_i32
- .type trunc_i8_i32,@function
-trunc_i8_i32: # @trunc_i8_i32
- .param i32, i32
-# BB#0:
- i32.store8 $discard=, 0($0), $1
- return
-func_end0:
- .size trunc_i8_i32, func_end0-trunc_i8_i32
-
- .globl trunc_i16_i32
- .type trunc_i16_i32,@function
-trunc_i16_i32: # @trunc_i16_i32
- .param i32, i32
-# BB#0:
- i32.store16 $discard=, 0($0), $1
- return
-func_end1:
- .size trunc_i16_i32, func_end1-trunc_i16_i32
-
- .globl trunc_i8_i64
- .type trunc_i8_i64,@function
-trunc_i8_i64: # @trunc_i8_i64
- .param i32, i64
-# BB#0:
- i64.store8 $discard=, 0($0), $1
- return
-func_end2:
- .size trunc_i8_i64, func_end2-trunc_i8_i64
-
- .globl trunc_i16_i64
- .type trunc_i16_i64,@function
-trunc_i16_i64: # @trunc_i16_i64
- .param i32, i64
-# BB#0:
- i64.store16 $discard=, 0($0), $1
- return
-func_end3:
- .size trunc_i16_i64, func_end3-trunc_i16_i64
-
- .globl trunc_i32_i64
- .type trunc_i32_i64,@function
-trunc_i32_i64: # @trunc_i32_i64
- .param i32, i64
-# BB#0:
- i64.store32 $discard=, 0($0), $1
- return
-func_end4:
- .size trunc_i32_i64, func_end4-trunc_i32_i64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/store.s b/prototype-wasmate/test/store.s
deleted file mode 100644
index f4d0279..0000000
--- a/prototype-wasmate/test/store.s
+++ /dev/null
@@ -1,44 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/store.ll"
- .globl sti32
- .type sti32,@function
-sti32: # @sti32
- .param i32, i32
-# BB#0:
- i32.store $discard=, 0($0), $1
- return
-func_end0:
- .size sti32, func_end0-sti32
-
- .globl sti64
- .type sti64,@function
-sti64: # @sti64
- .param i32, i64
-# BB#0:
- i64.store $discard=, 0($0), $1
- return
-func_end1:
- .size sti64, func_end1-sti64
-
- .globl stf32
- .type stf32,@function
-stf32: # @stf32
- .param i32, f32
-# BB#0:
- f32.store $discard=, 0($0), $1
- return
-func_end2:
- .size stf32, func_end2-stf32
-
- .globl stf64
- .type stf64,@function
-stf64: # @stf64
- .param i32, f64
-# BB#0:
- f64.store $discard=, 0($0), $1
- return
-func_end3:
- .size stf64, func_end3-stf64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/switch.s b/prototype-wasmate/test/switch.s
deleted file mode 100644
index 7a81aad..0000000
--- a/prototype-wasmate/test/switch.s
+++ /dev/null
@@ -1,83 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/switch.ll"
- .globl bar32
- .type bar32,@function
-bar32: # @bar32
- .param i32
-# BB#0: # %entry
- i32.const $push0=, 23
- i32.gt_u $push1=, $0, $pop0
- block BB0_8
- br_if $pop1, BB0_8
-# BB#1: # %entry
- block BB0_7
- block BB0_6
- block BB0_5
- block BB0_4
- block BB0_3
- block BB0_2
- tableswitch $0, BB0_3, BB0_3, BB0_3, BB0_3, BB0_3, BB0_3, BB0_3, BB0_3, BB0_2, BB0_2, BB0_2, BB0_2, BB0_2, BB0_2, BB0_2, BB0_2, BB0_4, BB0_4, BB0_4, BB0_4, BB0_4, BB0_4, BB0_5, BB0_6, BB0_7
-BB0_2: # %sw.bb.1
- call foo1
- br BB0_8
-BB0_3: # %sw.bb
- call foo0
- br BB0_8
-BB0_4: # %sw.bb.2
- call foo2
- br BB0_8
-BB0_5: # %sw.bb.3
- call foo3
- br BB0_8
-BB0_6: # %sw.bb.4
- call foo4
- br BB0_8
-BB0_7: # %sw.bb.5
- call foo5
-BB0_8: # %sw.epilog
- return
-func_end0:
- .size bar32, func_end0-bar32
-
- .globl bar64
- .type bar64,@function
-bar64: # @bar64
- .param i64
-# BB#0: # %entry
- i64.const $push1=, 23
- i64.gt_u $push2=, $0, $pop1
- block BB1_8
- br_if $pop2, BB1_8
-# BB#1: # %entry
- i32.wrap/i64 $push0=, $0
- block BB1_7
- block BB1_6
- block BB1_5
- block BB1_4
- block BB1_3
- block BB1_2
- tableswitch $pop0, BB1_3, BB1_3, BB1_3, BB1_3, BB1_3, BB1_3, BB1_3, BB1_3, BB1_2, BB1_2, BB1_2, BB1_2, BB1_2, BB1_2, BB1_2, BB1_2, BB1_4, BB1_4, BB1_4, BB1_4, BB1_4, BB1_4, BB1_5, BB1_6, BB1_7
-BB1_2: # %sw.bb.1
- call foo1
- br BB1_8
-BB1_3: # %sw.bb
- call foo0
- br BB1_8
-BB1_4: # %sw.bb.2
- call foo2
- br BB1_8
-BB1_5: # %sw.bb.3
- call foo3
- br BB1_8
-BB1_6: # %sw.bb.4
- call foo4
- br BB1_8
-BB1_7: # %sw.bb.5
- call foo5
-BB1_8: # %sw.epilog
- return
-func_end1:
- .size bar64, func_end1-bar64
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/symbolic-offset.s b/prototype-wasmate/test/symbolic-offset.s
deleted file mode 100644
index 1d8678d..0000000
--- a/prototype-wasmate/test/symbolic-offset.s
+++ /dev/null
@@ -1,20 +0,0 @@
- .text
- .globl f
- .type f,@function
-f: # @f
- .param i32
- .param i32
-# BB#0: # %entry
- i32.store $discard=, m+4($0), $1
- return
-func_end0:
- .size f, func_end0-f
-
- .type m,@object # @m
- .data
- .align 2
-m:
- .int32 1
- .int32 0
- .int32 0
- .size m, 12
diff --git a/prototype-wasmate/test/unreachable.s b/prototype-wasmate/test/unreachable.s
deleted file mode 100644
index 693b6e2..0000000
--- a/prototype-wasmate/test/unreachable.s
+++ /dev/null
@@ -1,32 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/unreachable.ll"
- .globl f1
- .type f1,@function
-f1: # @f1
- .result i32
-# BB#0:
- call abort
- unreachable
-func_end0:
- .size f1, func_end0-f1
-
- .globl f2
- .type f2,@function
-f2: # @f2
-# BB#0:
- unreachable
- return
-func_end1:
- .size f2, func_end1-f2
-
- .globl f3
- .type f3,@function
-f3: # @f3
-# BB#0:
- unreachable
- return
-func_end2:
- .size f3, func_end2-f3
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/unused-argument.s b/prototype-wasmate/test/unused-argument.s
deleted file mode 100644
index 82eaaf6..0000000
--- a/prototype-wasmate/test/unused-argument.s
+++ /dev/null
@@ -1,33 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/unused-argument.ll"
- .globl unused_first
- .type unused_first,@function
-unused_first: # @unused_first
- .param i32, i32
- .result i32
-# BB#0:
- return $1
-func_end0:
- .size unused_first, func_end0-unused_first
-
- .globl unused_second
- .type unused_second,@function
-unused_second: # @unused_second
- .param i32, i32
- .result i32
-# BB#0:
- return $0
-func_end1:
- .size unused_second, func_end1-unused_second
-
- .globl call_something
- .type call_something,@function
-call_something: # @call_something
-# BB#0:
- i32.call $discard=, return_something
- return
-func_end2:
- .size call_something, func_end2-call_something
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/userstack.s b/prototype-wasmate/test/userstack.s
deleted file mode 100644
index a75519d..0000000
--- a/prototype-wasmate/test/userstack.s
+++ /dev/null
@@ -1,83 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/userstack.ll"
- .globl alloca32
- .type alloca32,@function
-alloca32: # @alloca32
- .local i32, i32, i32, i32
-# BB#0:
- i32.const $0=, __stack_pointer
- i32.load $0=, 0($0)
- i32.const $1=, 16
- i32.sub $3=, $0, $1
- i32.const $1=, __stack_pointer
- i32.store $3=, 0($1), $3
- i32.const $push0=, 0
- i32.store $discard=, 12($3), $pop0
- i32.const $2=, 16
- i32.add $3=, $3, $2
- i32.const $2=, __stack_pointer
- i32.store $3=, 0($2), $3
- return
-func_end0:
- .size alloca32, func_end0-alloca32
-
- .globl alloca3264
- .type alloca3264,@function
-alloca3264: # @alloca3264
- .local i32, i32, i32, i32
-# BB#0:
- i32.const $0=, __stack_pointer
- i32.load $0=, 0($0)
- i32.const $1=, 16
- i32.sub $3=, $0, $1
- i32.const $1=, __stack_pointer
- i32.store $3=, 0($1), $3
- i32.const $push0=, 0
- i32.store $discard=, 12($3), $pop0
- i64.const $push1=, 0
- i64.store $discard=, 0($3), $pop1
- i32.const $2=, 16
- i32.add $3=, $3, $2
- i32.const $2=, __stack_pointer
- i32.store $3=, 0($2), $3
- return
-func_end1:
- .size alloca3264, func_end1-alloca3264
-
- .globl allocarray
- .type allocarray,@function
-allocarray: # @allocarray
- .local i32, i32, i32, i32, i32, i32
-# BB#0:
- i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
- i32.const $2=, 32
- i32.sub $5=, $1, $2
- i32.const $2=, __stack_pointer
- i32.store $5=, 0($2), $5
- i32.const $push0=, 1
- i32.store $0=, 12($5), $pop0
- i32.const $push1=, 4
- i32.const $4=, 12
- i32.add $4=, $5, $4
- i32.add $push2=, $4, $pop1
- i32.store $discard=, 0($pop2), $0
- i32.const $3=, 32
- i32.add $5=, $5, $3
- i32.const $3=, __stack_pointer
- i32.store $5=, 0($3), $5
- return
-func_end2:
- .size allocarray, func_end2-allocarray
-
- .globl dynamic_alloca
- .type dynamic_alloca,@function
-dynamic_alloca: # @dynamic_alloca
- .param i32
-# BB#0:
- return
-func_end3:
- .size dynamic_alloca, func_end3-dynamic_alloca
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/varargs.s b/prototype-wasmate/test/varargs.s
deleted file mode 100644
index 5e11e97..0000000
--- a/prototype-wasmate/test/varargs.s
+++ /dev/null
@@ -1,103 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/varargs.ll"
- .globl end
- .type end,@function
-end: # @end
- .param i32
-# BB#0: # %entry
- return
-func_end0:
- .size end, func_end0-end
-
- .globl copy
- .type copy,@function
-copy: # @copy
- .param i32, i32
-# BB#0: # %entry
- i32.load $push0=, 0($1)
- i32.store $discard=, 0($0), $pop0
- return
-func_end1:
- .size copy, func_end1-copy
-
- .globl arg_i8
- .type arg_i8,@function
-arg_i8: # @arg_i8
- .param i32
- .result i32
- .local i32
-# BB#0: # %entry
- i32.load $1=, 0($0)
- i32.const $push0=, 4
- i32.add $push1=, $1, $pop0
- i32.store $discard=, 0($0), $pop1
- i32.load $push2=, 0($1)
- return $pop2
-func_end2:
- .size arg_i8, func_end2-arg_i8
-
- .globl arg_i32
- .type arg_i32,@function
-arg_i32: # @arg_i32
- .param i32
- .result i32
- .local i32
-# BB#0: # %entry
- i32.load $push0=, 0($0)
- i32.const $push1=, 3
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, -4
- i32.and $1=, $pop2, $pop3
- i32.const $push4=, 4
- i32.add $push5=, $1, $pop4
- i32.store $discard=, 0($0), $pop5
- i32.load $push6=, 0($1)
- return $pop6
-func_end3:
- .size arg_i32, func_end3-arg_i32
-
- .globl arg_i128
- .type arg_i128,@function
-arg_i128: # @arg_i128
- .param i32, i32
- .local i32, i32, i32, i64
-# BB#0: # %entry
- i32.load $push0=, 0($1)
- i32.const $push1=, 7
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, -8
- i32.and $2=, $pop2, $pop3
- i32.const $3=, 8
- i32.add $push4=, $2, $3
- i32.store $4=, 0($1), $pop4
- i64.load $5=, 0($2)
- i32.const $push5=, 16
- i32.add $push6=, $2, $pop5
- i32.store $discard=, 0($1), $pop6
- i32.add $push8=, $0, $3
- i64.load $push7=, 0($4)
- i64.store $discard=, 0($pop8), $pop7
- i64.store $discard=, 0($0), $5
- return
-func_end4:
- .size arg_i128, func_end4-arg_i128
-
- .globl caller_none
- .type caller_none,@function
-caller_none: # @caller_none
-# BB#0:
- call callee
- return
-func_end5:
- .size caller_none, func_end5-caller_none
-
- .globl caller_some
- .type caller_some,@function
-caller_some: # @caller_some
-# BB#0:
- return
-func_end6:
- .size caller_some, func_end6-caller_some
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/test/vtable.s b/prototype-wasmate/test/vtable.s
deleted file mode 100644
index e4b130b..0000000
--- a/prototype-wasmate/test/vtable.s
+++ /dev/null
@@ -1,215 +0,0 @@
- .text
- .file "/s/llvm/llvm/test/CodeGen/WebAssembly/vtable.ll"
- .globl _ZN1A3fooEv
- .type _ZN1A3fooEv,@function
-_ZN1A3fooEv: # @_ZN1A3fooEv
- .param i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.const $push1=, 2
- i32.store $discard=, g($pop0), $pop1
- return
-func_end0:
- .size _ZN1A3fooEv, func_end0-_ZN1A3fooEv
-
- .globl _ZN1B3fooEv
- .type _ZN1B3fooEv,@function
-_ZN1B3fooEv: # @_ZN1B3fooEv
- .param i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.const $push1=, 4
- i32.store $discard=, g($pop0), $pop1
- return
-func_end1:
- .size _ZN1B3fooEv, func_end1-_ZN1B3fooEv
-
- .globl _ZN1C3fooEv
- .type _ZN1C3fooEv,@function
-_ZN1C3fooEv: # @_ZN1C3fooEv
- .param i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.const $push1=, 6
- i32.store $discard=, g($pop0), $pop1
- return
-func_end2:
- .size _ZN1C3fooEv, func_end2-_ZN1C3fooEv
-
- .globl _ZN1D3fooEv
- .type _ZN1D3fooEv,@function
-_ZN1D3fooEv: # @_ZN1D3fooEv
- .param i32
-# BB#0: # %entry
- i32.const $push0=, 0
- i32.const $push1=, 8
- i32.store $discard=, g($pop0), $pop1
- return
-func_end3:
- .size _ZN1D3fooEv, func_end3-_ZN1D3fooEv
-
- .weak _ZN1AD0Ev
- .type _ZN1AD0Ev,@function
-_ZN1AD0Ev: # @_ZN1AD0Ev
- .param i32
-# BB#0: # %entry
- call _ZdlPv, $0
- return
-func_end4:
- .size _ZN1AD0Ev, func_end4-_ZN1AD0Ev
-
- .weak _ZN1BD0Ev
- .type _ZN1BD0Ev,@function
-_ZN1BD0Ev: # @_ZN1BD0Ev
- .param i32
-# BB#0: # %entry
- call _ZdlPv, $0
- return
-func_end5:
- .size _ZN1BD0Ev, func_end5-_ZN1BD0Ev
-
- .weak _ZN1CD0Ev
- .type _ZN1CD0Ev,@function
-_ZN1CD0Ev: # @_ZN1CD0Ev
- .param i32
-# BB#0: # %entry
- call _ZdlPv, $0
- return
-func_end6:
- .size _ZN1CD0Ev, func_end6-_ZN1CD0Ev
-
- .weak _ZN1AD2Ev
- .type _ZN1AD2Ev,@function
-_ZN1AD2Ev: # @_ZN1AD2Ev
- .param i32
- .result i32
-# BB#0: # %entry
- return $0
-func_end7:
- .size _ZN1AD2Ev, func_end7-_ZN1AD2Ev
-
- .weak _ZN1DD0Ev
- .type _ZN1DD0Ev,@function
-_ZN1DD0Ev: # @_ZN1DD0Ev
- .param i32
-# BB#0: # %entry
- call _ZdlPv, $0
- return
-func_end8:
- .size _ZN1DD0Ev, func_end8-_ZN1DD0Ev
-
- .type _ZTS1A,@object # @_ZTS1A
- .section .rodata,"a",@progbits
- .globl _ZTS1A
-_ZTS1A:
- .asciz "1A"
- .size _ZTS1A, 3
-
- .type _ZTS1B,@object # @_ZTS1B
- .globl _ZTS1B
-_ZTS1B:
- .asciz "1B"
- .size _ZTS1B, 3
-
- .type _ZTS1C,@object # @_ZTS1C
- .globl _ZTS1C
-_ZTS1C:
- .asciz "1C"
- .size _ZTS1C, 3
-
- .type _ZTS1D,@object # @_ZTS1D
- .globl _ZTS1D
-_ZTS1D:
- .asciz "1D"
- .size _ZTS1D, 3
-
- .type _ZTV1A,@object # @_ZTV1A
- .section .data.rel.ro,"aw",@progbits
- .globl _ZTV1A
- .align 2
-_ZTV1A:
- .int32 0
- .int32 _ZTI1A
- .int32 _ZN1AD2Ev
- .int32 _ZN1AD0Ev
- .int32 _ZN1A3fooEv
- .size _ZTV1A, 20
-
- .type _ZTV1B,@object # @_ZTV1B
- .globl _ZTV1B
- .align 2
-_ZTV1B:
- .int32 0
- .int32 _ZTI1B
- .int32 _ZN1AD2Ev
- .int32 _ZN1BD0Ev
- .int32 _ZN1B3fooEv
- .size _ZTV1B, 20
-
- .type _ZTV1C,@object # @_ZTV1C
- .globl _ZTV1C
- .align 2
-_ZTV1C:
- .int32 0
- .int32 _ZTI1C
- .int32 _ZN1AD2Ev
- .int32 _ZN1CD0Ev
- .int32 _ZN1C3fooEv
- .size _ZTV1C, 20
-
- .type _ZTV1D,@object # @_ZTV1D
- .globl _ZTV1D
- .align 2
-_ZTV1D:
- .int32 0
- .int32 _ZTI1D
- .int32 _ZN1AD2Ev
- .int32 _ZN1DD0Ev
- .int32 _ZN1D3fooEv
- .size _ZTV1D, 20
-
- .type _ZTI1A,@object # @_ZTI1A
- .globl _ZTI1A
- .align 3
-_ZTI1A:
- .int32 0 # FIXME: _ZTVN10__cxxabiv117__class_type_infoE+8
- .int32 _ZTS1A
- .size _ZTI1A, 8
-
- .type _ZTI1B,@object # @_ZTI1B
- .globl _ZTI1B
- .align 3
-_ZTI1B:
- .int32 0 # FIXME: _ZTVN10__cxxabiv120__si_class_type_infoE+8
- .int32 _ZTS1B
- .int32 _ZTI1A
- .size _ZTI1B, 12
-
- .type _ZTI1C,@object # @_ZTI1C
- .globl _ZTI1C
- .align 3
-_ZTI1C:
- .int32 0 # FIXME: _ZTVN10__cxxabiv120__si_class_type_infoE+8
- .int32 _ZTS1C
- .int32 _ZTI1A
- .size _ZTI1C, 12
-
- .type _ZTI1D,@object # @_ZTI1D
- .globl _ZTI1D
- .align 3
-_ZTI1D:
- .int32 0 # FIXME: _ZTVN10__cxxabiv120__si_class_type_infoE+8
- .int32 _ZTS1D
- .int32 _ZTI1B
- .size _ZTI1D, 12
-
- .type g,@object # @g
- .bss
- .globl g
- .align 2
-g:
- .int32 0 # 0x0
- .size g, 4
-
-
- .section ".note.GNU-stack","",@progbits
diff --git a/prototype-wasmate/wasmate.py b/prototype-wasmate/wasmate.py
deleted file mode 100755
index dbd18a9..0000000
--- a/prototype-wasmate/wasmate.py
+++ /dev/null
@@ -1,835 +0,0 @@
-#! /usr/bin/env python
-
-# Copyright 2015 WebAssembly Community Group participants
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import argparse
-import cStringIO
-import re
-import sys
-
-# The environment currently provided by the spec repo for the purpose
-# of writing spec tests.
-spectest_environment = {
- 'print': ('print', 'spectest', 'i32', ''),
- 'print_i32': ('print_i32', 'spectest', 'i32', ''),
- 'print_i64': ('print_i64', 'spectest', 'i64', ''),
- 'print_f32': ('print_f32', 'spectest', 'f32', ''),
- 'print_f64': ('print_f64', 'spectest', 'f64', ''),
- 'print_i32_f32': ('print_i32_f32', 'spectest', 'i32 f32', ''),
- 'print_i64_f64': ('print_i64_f64', 'spectest' 'i64 f64', ''),
-}
-
-# A made-up environment based on the set of functions that are called in
-# testcases generated from the LLVM codegen tests.
-misctest_environment = {
- 'a': ('a', 'misctest', 'i32', ''),
- 'abort': ('abort', 'misctest', '', ''),
- 'add2': ('add2', 'misctest', 'i32 i32', 'i32'),
- 'bar': ('bar', 'misctest', '', ''),
- 'callee': ('callee', 'misctest', '', ''),
- 'double_nullary': ('double_nullary', 'misctest', '', 'f64'),
- 'expanded_arg': ('expanded_arg', 'misctest', 'i32', ''),
- 'exit': ('exit', 'misctest', 'i32', ''),
- 'float_nullary': ('float_nullary', 'misctest', '', 'f32'),
- 'foo0': ('foo0', 'misctest', '', ''),
- 'foo1': ('foo1', 'misctest', '', ''),
- 'foo2': ('foo2', 'misctest', '', ''),
- 'foo3': ('foo3', 'misctest', '', ''),
- 'foo4': ('foo4', 'misctest', '', ''),
- 'foo5': ('foo5', 'misctest', '', ''),
- 'i32_binary': ('i32_binary', 'misctest', 'i32 i32', 'i32'),
- 'i32_nullary': ('i32_nullary', 'misctest', '', 'i32'),
- 'i32_unary': ('i32_unary', 'misctest', 'i32', 'i32'),
- 'i64_nullary': ('i64_nullary', 'misctest', '', 'i64'),
- 'lowered_result': ('lowered_result', 'misctest', '', 'i32'),
- 'memcpy': ('memcpy', 'misctest', 'i32 i32 i32', 'i32'),
- 'printf': ('printf', 'misctest', 'f32', 'f32'),
- 'printi': ('printi', 'misctest', 'i32', 'i32'),
- 'printv': ('printv', 'misctest', '', ''),
- 'return_something': ('return_something', 'misctest', '', 'i32'),
- 'something': ('something', 'misctest', '', ''),
- 'split_arg': ('split_arg', 'misctest', 'i64 i64', ''),
- 'void_nullary': ('void_nullary', 'misctest', '', ''),
- '_ZN5AppleC1Ev': ('_ZN5AppleC1Ev', 'misctest', 'i32', 'i32'),
- '_Znwm': ('_Znwm', 'misctest', 'i32', 'i32'),
-}
-
-# Default to using the spectest environment for now.
-import_environment = spectest_environment
-
-def ParseArgs():
- parser = argparse.ArgumentParser(
-description="""Convert from the "flat" text
-assembly syntax emitted by LLVM into the s-expression syntax expected by
-the spec repository. Perform fake linking so that symbols can be
-resolved. This currently only works on single-file programs. Note: this is
-a hack. A real toolchain will eventually be needed.""")
- parser.add_argument('-o', '--output', type=str, default=None,
- help='output `.wasm` s-expression file')
- parser.add_argument('input', metavar='INPUT', nargs='?',
- help='input `.s` LLVM assembly file')
- parser.add_argument('-l', dest='library', type=str, default=None,
- help='"link" with the given set of externals (eg. -l spectest)')
- return parser.parse_args()
-
-def readInput(input_file):
- """Read LLVM input from the file specified, or stdin."""
- if input_file is None:
- return sys.stdin.read().splitlines()
- return open(input_file, 'rb').readlines()
-
-class OutputWriter(object):
- def __init__(self):
- self.current_indent = ''
- self.dirty = False
- self.out = cStringIO.StringIO()
-
- def indent(self):
- assert not self.dirty
- self.current_indent += ' '
-
- def dedent(self):
- assert not self.dirty
- self.current_indent = self.current_indent[:-2]
-
- def write(self, text):
- if not self.dirty:
- self.out.write(self.current_indent)
- self.out.write(text)
- self.dirty = True
-
- def end_of_line(self):
- self.out.write('\n')
- self.dirty = False
-
- def write_line(self, text):
- assert not self.dirty
- self.write(text)
- self.end_of_line()
-
- def get_output(self):
- return self.out.getvalue()
-
-out = OutputWriter()
-
-current_line_number = 0
-current_section = ".text"
-current_function_number = 0
-types = {}
-globl = []
-data_labels = {}
-function_labels = {}
-current_function_table_index = 0
-weak = []
-import_funs = set([])
-
-def error(message, line_number=None):
- if line_number is None:
- line_number = current_line_number
- sys.stderr.write('error at line ' + str(line_number) + ': ' +
- message + '\n')
- sys.exit(1)
-
-def resolve_data_label(arg):
- parts = arg.split('+', 1)
- base = parts[0]
- offset = 0 if len(parts) == 1 else int(parts[1])
- if base in data_labels:
- return data_labels[base] + offset, True
- else:
- return 0, False
-
-def register_function(name):
- """Keep track of all function labels, for when they're address-taken."""
- assert name not in function_labels.keys(), 'Adding function %s twice' % name
- function_labels[name] = None
-
-def resolve_function_address(name):
- """Mark a function as address-taken, giving it an index."""
- if name not in function_labels.keys():
- return None, False
- if function_labels[name] == None:
- # First time this function is address-taken. Give it an index.
- global current_function_table_index
- function_labels[name] = current_function_table_index
- current_function_table_index += 1
- return function_labels[name], True
-
-def dump_function_table():
- """Output all the address-taken functions in their index order."""
- table = ''
- for idx in range(0, current_function_table_index):
- for f, f_idx in function_labels.iteritems():
- if f_idx == idx:
- table += ' $' + f
- if table:
- out.write_line('(table' + table + ')')
-
-def dump_function_exports():
- """Export all .globl functions."""
- for g in globl:
- if g not in data_labels:
- register_function(g)
- out.write_line('(export "' + g + '" $' + g + ')')
-
-
-def resolve_label(arg):
- # Labels can be of the form 'foo' or 'foo+47'. Split the offset out so that
- # we can resolve the base symbol and then re-add the offset to the result
- # to produce a simple constant.
- #
- # If the symbol is undefined, we'll just emit it as '$foo+47', which isn't
- # currently valid syntax, but unresolved global variable addresses aren't
- # supported in wasm anyway, and if we do add support for them to wasm, we
- # should add support for offsets too :-).
- #
- # Test for '(' so that we avoid revisiting sexprified stacked operands.
- if (arg[0] != '('):
- resolved, ok = resolve_data_label(arg)
- if ok:
- return str(resolved)
- if arg[0].isalpha() and arg != 'infinity' and arg != 'nan':
- return '$' + arg
- return arg
-
-class PassHandler(object):
- def begin_pass(self):
- pass
-
- def end_pass(self):
- pass
-
- def handle_label(self, labelname):
- if current_section == ".data":
- self.handle_data_label(labelname)
- else:
- self.handle_text_label(labelname)
-
- def handle_data_label(self, labelname):
- pass
-
- def handle_text_label(self, labelname):
- pass
-
- def handle_mnemonic(self, command, args):
- pass
-
- def handle_dot_globl(self, args):
- pass
-
- def handle_dot_weak(self, args):
- pass
-
- def handle_dot_type(self, args):
- pass
-
- def handle_dot_param(self, args):
- pass
-
- def handle_dot_result(self, args):
- pass
-
- def handle_dot_local(self, args):
- pass
-
- def handle_dot_size(self, args):
- pass
-
- def handle_dot_int8(self, args):
- pass
-
- def handle_dot_int16(self, args):
- pass
-
- def handle_dot_int32(self, args):
- pass
-
- def handle_dot_int64(self, args):
- pass
-
- def handle_dot_zero(self, args):
- pass
-
- def handle_dot_ascii(self, rest, terminate):
- pass
-
- def handle_dot_align(self, args):
- if current_section == '.text':
- # Ignore function alignment.
- pass
-
- def handle_dot_lcomm(self, args):
- pass
-
-def reduce_to_bytes(x, num_bytes):
- data = []
- while num_bytes > 0:
- data.append(chr(x & 255))
- x >>= 8
- num_bytes -= 1
- assert x == 0 or x == -1
- return data
-
-# TODO split data segment if there is enough space between non-zero bytes.
-class DataSegment(object):
- def __init__(self):
- self.base = 0
- self.data = []
- self.trailing_zeros = 0
-
- def align_to(self, align):
- while self.end() % align != 0:
- self.trailing_zeros += 1
-
- def fixup(self, addr, value, num_bytes):
- pos = addr - self.base
- b = reduce_to_bytes(value, num_bytes)
- self.data[pos:pos + num_bytes] = b
-
- def append_byte(self, byte):
- if byte == '\0':
- # We want to trim trailing zeros from the end of the data segment,
- # so defer writing them until we encounter a non-zero byte.
- self.trailing_zeros += 1
- else:
- if self.data:
- # Flush the accumuated zeros before outputing this non-zero
- # byte.
- for i in range(self.trailing_zeros):
- self.data.append('\0')
- else:
- # There is currently nothing in the data segment but zeros, so
- # shift the begining of the data segment to this non-zero byte.
- self.base += self.trailing_zeros
- self.trailing_zeros = 0
- self.data.append(byte)
-
- def append_integer(self, value, num_bytes):
- for b in reduce_to_bytes(value, num_bytes):
- self.append_byte(b)
-
- def append_zeros(self, num_bytes):
- self.trailing_zeros += num_bytes
-
- def end(self):
- return self.base + len(self.data) + self.trailing_zeros
-
-class DataPassHandler(PassHandler):
- def __init__(self, segment):
- self.segment = segment
- self.reloc = []
-
- def end_pass(self):
- # Fix up relocations.
- dump_function_exports()
- for pos, num_bytes, symbol, line_number in self.reloc:
- resolved, ok = resolve_data_label(symbol)
- if ok:
- # Validate that `.type symbol,@object` was seen.
- s = symbol.split('+', 1)[0]
- if types[s] != '@object':
- error('Data %s without .type, got %s' % (s, types[s]))
- else:
- # If it's not a data label then it must be a function label.
- resolved, ok = resolve_function_address(symbol)
- if ok and types[symbol] != '@function':
- # Validate that `.type symbol,@function` was seen.
- error('Function %s without .type, got %s' % (
- symbol, types[symbol]))
- if not ok:
- error("can't resolve symbol %r" % symbol, line_number)
- self.segment.fixup(pos, resolved, num_bytes)
- dump_function_table()
-
- def align_data_to(self, align):
- self.segment.align_to(align)
-
- def handle_data_label(self, labelname):
- data_labels[labelname] = self.segment.end()
-
- def handle_dot_globl(self, args):
- """.globl labels declare a name for global variables and functions."""
- globl.append(args[0])
-
- def handle_dot_weak(self, args):
- """.weak labels declare a name for global variables and functions which
- can be overriden later."""
- # TODO: For now, treat this the same as .globl because we don't support
- # linking of multiple files.
- assert args[0] not in weak, ('Unimplemented: multiple .weak for %s' %
- args[0])
- weak.append(args[0])
- self.handle_dot_globl(args)
-
- def handle_dot_type(self, args):
- """.type is used for extra validation."""
- # Validation cannot occur here because .type can appear before .globl.
- assert len(args) == 2, 'Expected (label,type), got %s' % args
- label, ltype = args
- assert label not in types.keys(), 'Duplicate label %s' % label
- types[label] = ltype
-
- def handle_dot_intx(self, arg, num_bytes):
- try:
- x = int(arg)
- except ValueError:
- # It's a symbol, fix it up later.
- # We need to ensure that variables needing relocation are allocated
- # in the data segment. Any zero byte could be stripped out of the
- # data segment, so set all the bits of the variable, for now.
- x = 2**(num_bytes*8)-1
- self.reloc.append((self.segment.end(), num_bytes, arg, current_line_number))
- self.segment.append_integer(x, num_bytes)
-
- def handle_dot_int8(self, args):
- self.handle_dot_intx(args[0], 1)
-
- def handle_dot_int16(self, args):
- self.handle_dot_intx(args[0], 2)
-
- def handle_dot_int32(self, args):
- self.handle_dot_intx(args[0], 4)
-
- def handle_dot_int64(self, args):
- self.handle_dot_intx(args[0], 8)
-
- def handle_dot_zero(self, args):
- self.segment.append_zeros(int(args[0]))
-
- def handle_dot_ascii(self, rest, terminate):
- # Strip off the leading and trailing quotes.
- assert rest[0] == '"', rest
- assert rest[-1] == '"', rest
- s = rest[1:-1]
- i = 0
-
- escapes = {
- 'n': '\n',
- 'r': '\r',
- 't': '\t',
- 'f': '\f',
- 'b': '\b',
- '\\': '\\',
- '\'': '\'',
- '"': '"',
- }
- while i < len(s):
- c = s[i]
- if c == '\\':
- i += 1
- c = s[i]
- if c in escapes:
- self.segment.append_byte(escapes[c])
- i += 1
- elif '0' <= c and c <= '7' and i + 2 < len(s):
- data = s[i:i+3]
- try:
- self.segment.append_byte(chr(int(data, 8)))
- i += 3
- except ValueError:
- error("bad octal escape - " + data)
- else:
- error("unsupported escape - " + c)
- else:
- self.segment.append_byte(c)
- i += 1
- if terminate:
- self.segment.append_byte('\0')
-
- def handle_dot_align(self, args):
- self.align_data_to(1 << int(args[0]))
-
- def handle_dot_lcomm(self, args):
- name = args[0]
- size = int(args[1])
- # The alignment arg may be ommited.
- if len(args) > 2:
- self.align_data_to(1 << int(args[2]))
- self.handle_data_label(name)
- self.segment.append_zeros(size)
-
-# Convert an instruction from mnemonic syntax to sexpr syntax.
-def sexprify(command, args):
- s = '(' + command
- if len(args) != 0:
- s += ' '
- s += ' '.join([resolve_label(arg) for arg in args if not arg.endswith('=')])
- s += ')'
- return s
-
-class TextPassHandler(PassHandler):
- def __init__(self):
- self.expr_stack = []
- self.current_function = None
- self.current_label = None
- self.block_labels = {}
-
- def push_label(self, label):
- if label in self.block_labels:
- self.block_labels[label] += 1
- else:
- self.block_labels[label] = 1
-
- def end_pass(self):
- assert len(self.expr_stack) == 0, self.expr_stack
- assert self.current_function is None, self.current_function
-
- def handle_text_label(self, labelname):
- if self.current_function is not None:
- # Label inside a function.
- if labelname.startswith('func_end'):
- pass
- else:
- if labelname in self.block_labels:
- for i in range(0, self.block_labels[labelname]):
- out.dedent()
- out.write_line(')')
- self.block_labels[labelname] = 0
- self.current_label = labelname
- else:
- # Label for a function.
- assert self.current_function is None, self.current_function
- self.current_function = labelname
- out.write_line('(func $' + labelname)
- out.indent()
-
- def handle_mnemonic(self, command, args):
- # Handle address arguments of stores which have offsets.
- # Make the offset part of the command instead of an arg, otherwise
- # sexprify will interpret 'offset' as a label and prepend a '$'
- if 'load' in command or 'store' in command:
- m = re.match(r'(.+)\((.+)\)', args[1])
- if m:
- command += ' offset=' + resolve_label(m.group(1))
- args[1] = m.group(2)
-
- # Replace uses of $pop with expressions from the stack. We iterate
- # in reverse order since that's the order the pops are defined to
- # happen in in the assembly syntax.
- for i in range(len(args) - 1, -1, -1):
- if args[i].startswith('$pop'):
- args[i] = self.expr_stack.pop()
- elif args[i].startswith('$') and args[i][-1] != '=':
- # Strip the leading '$' and create a get_local.
- args[i] = '(get_local ' + args[i][1:] + ')'
-
- # LLVM is now emitting return-type prefixs on call instructions. We
- # don't currently need this information, so we just discard it.
- if command.endswith('call'):
- command = 'call';
- elif command.endswith('call_indirect'):
- command = 'call_indirect';
-
- # Rewrite call to call_import.
- # TODO: Revisit this once
- # https://github.com/WebAssembly/design/issues/421
- # is resolved, and if we still have a call_import, decide if LLVM should
- # be emitting call_import itself.
- if command == 'call':
- for arg in args:
- if not arg.endswith('='):
- if import_environment.has_key(arg):
- command = 'call_import'
- import_funs.add(arg)
- break
-
- if command == 'block':
- out.write_line('(block $' + args[0])
- self.push_label(args[0])
- out.indent()
- return
- if command == 'loop':
- out.write_line('(loop $' + args[0] + ' $' + self.current_label)
- assert len(self.expr_stack) == 0, self.expr_stack
- self.push_label(args[0])
- out.indent()
- return
-
- if command == 'copy_local':
- # This is a no-op which just produces a get_local and set_local.
- line = args[1]
- else:
- line = sexprify(command, args)
-
- if len([x for x in args if x.startswith('$push')]) != 0:
- self.expr_stack.append(line)
- elif len(args) > 0 and args[0].endswith('=') and args[0] != '$discard=':
- assert args[0][0] == '$', args[0]
- out.write_line('(set_local ' + args[0][1:-1] + ' ' + line + ')')
- else:
- out.write_line(line)
-
- def handle_dot_param(self, args):
- out.write_line(' '.join(['(param ' + x + ')' for x in args]))
-
- def handle_dot_result(self, args):
- out.write_line('(result ' + args[0] + ')')
-
- def handle_dot_local(self, args):
- out.write_line('(local ' + ' '.join(args) + ')')
-
- def handle_dot_size(self, args):
- global current_function_number
-
- if current_section == '.text':
- assert args[0] == self.current_function, args[0]
- # End of function body.
- out.dedent()
- out.write_line(')')
- self.current_function = None
- current_function_number += 1
-
-def cleanup_line(line):
- # Traslate '# BB#0:' comments into proper BBx_0: labels. This hack is
- # needed because loops in LLVM output reference the block after the
- # loop, which LLVM doesn't emit a proper label for if it's only
- # reachable by fallthrough.
- if line.startswith('# BB#'):
- line = 'BB' + str(current_function_number) + '_' + line[5:]
-
- # Strip comments.
- i = 0
- while i < len(line):
- if line[i] == '"':
- # It's a string that may contain a hash character, so make sure we
- # don't confuse its contents with the start of a comment.
- i += 1
- while i < len(line):
- if line[i] == '"':
- # End of string.
- i += 1
- break
- elif line[i] == '\\' and i + 1 < len(line) and line[i+1] == '"':
- # Skip past escaped quotes.
- i += 2
- else:
- # String data.
- i += 1
- elif line[i] == '#':
- # Strip the comment
- line = line[:i]
- break
- i += 1
-
- return line.strip()
-
-def parse_line(line):
- # Split out the first part of the line, which determines what we do.
- parts = line.split(None, 1)
- command = parts[0]
-
- # The rest of the line is comma-separated args.
- if len(parts) > 1:
- rest = parts[1]
- args = [x.strip() for x in rest.split(',')]
- else:
- rest = ''
- args = []
-
- return command, args, rest
-
-def handle_dot_directive(handler, command, args, rest):
- global current_section
-
- if command == 'text':
- current_section = ".text"
- elif command == 'data':
- current_section = ".data"
- elif command == 'bss':
- # .bss is just like .data; it saves space in .o files, but we don't care
- current_section = ".data"
- elif command == 'section':
- if (args[0].startswith('.rodata') or
- args[0] == '.data.rel.ro' or
- args[0] == '.data.rel.ro.local'):
- # .rodata, .rodata.*, .data.rel.ro, and .data.rel.ro.local are like
- # .data but can be readonly or mergeable, but we don't care.
- current_section = '.data'
- elif args[0] == '".note.GNU-stack"':
- # This is a magic section header which declares that the stack
- # can be non-executable, which in wasm it always is anyway.
- pass
- else:
- error("unknown section: " + args[0])
- elif command in ['file', 'ident']:
- # .file is for debug info, which we're not doing right now.
- # .ident is for embedding an uninterpreted comment in the output.
- pass
- elif command == 'globl':
- handler.handle_dot_globl(args)
- elif command == 'weak':
- handler.handle_dot_weak(args)
- elif command == 'type':
- handler.handle_dot_type(args)
- elif command == 'param':
- handler.handle_dot_param(args)
- elif command == 'result':
- handler.handle_dot_result(args)
- elif command == 'local':
- handler.handle_dot_local(args)
- elif command == 'size':
- handler.handle_dot_size(args)
- elif command == 'int8':
- handler.handle_dot_int8(args)
- elif command == 'int16':
- handler.handle_dot_int16(args)
- elif command == 'int32':
- handler.handle_dot_int32(args)
- elif command == 'int64':
- handler.handle_dot_int64(args)
- elif command == 'zero':
- handler.handle_dot_zero(args)
- elif command == 'asciz':
- # Strings can contain embedded commas, so as a hack, pass the rest
- # of the line as a single argument.
- handler.handle_dot_ascii(rest, terminate=True)
- elif command == 'ascii':
- # Strings can contain embedded commas, so as a hack, pass the rest
- # of the line as a single argument.
- handler.handle_dot_ascii(rest, terminate=False)
- elif command == 'align':
- handler.handle_dot_align(args)
- elif command == 'lcomm':
- handler.handle_dot_lcomm(args)
- else:
- error("unknown dot command: ." + command)
-
-def do_pass(handler, all_lines):
- global current_line_number
- global current_section
-
- current_line_number = 0
- current_section = ".text"
-
- handler.begin_pass()
-
- for line in all_lines:
- current_line_number += 1 # First line is "1" in most editors.
- line = cleanup_line(line)
- if not line:
- continue
- command, args, rest = parse_line(line)
-
- # Decide what to do.
- if command.endswith(':'):
- if args:
- error("label with args")
- handler.handle_label(command[:-1])
- elif command.startswith('.'):
- handle_dot_directive(handler, command[1:], args, rest)
- else:
- handler.handle_mnemonic(command, args)
-
- handler.end_pass()
-
-def write_data_segment(segment):
- mem_size = segment.end()
- out.write_line(('(memory ' + str(mem_size) + ' ' + str(mem_size)))
- out.indent()
- if segment.data:
- out.write_line('(segment %d' % segment.base)
- out.indent()
- out.write('"')
- for c in segment.data:
- if c == '\n':
- s = '\\n'
- elif c == '\t':
- s = '\\t'
- elif c == '\\':
- s = '\\\\'
- elif c == '\'':
- s = '\\\''
- elif c == '"':
- s = '\\"'
- elif ord(c) >= 32 and ord(c) < 127:
- # ASCII printable
- s = c
- else:
- s = '\\%02x' % ord(c)
- out.write(s)
-
- out.write('"')
- out.end_of_line()
- out.dedent()
- out.write_line(')')
- out.dedent()
- out.write_line(')')
-
-def Main():
- global import_environment
-
- cmd_args = ParseArgs()
- all_lines = readInput(cmd_args.input)
-
- if cmd_args.library:
- if cmd_args.library == 'spectest':
- import_environment = spectest_environment
- if cmd_args.library == 'misctest':
- import_environment = misctest_environment
- else:
- error("Unrecognized import environment name: " + cmd_args.library)
-
- out.write_line(
-""";; This file was generated by wasmate.py, which is a script that converts
-;; from the \"flat\" text assembly syntax emitted by LLVM into the s-expression
-;; syntax expected by the spec repository.
-;;
-;; Note: this is a hack. A real toolchain will eventually be needed.
-;;
-""")
-
- # Open a module.
- out.write_line('(module')
- out.indent()
-
- segment = DataSegment()
-
- # Make two passes over the code: once to read all the data directives, and
- # once to process all the text. This lets us resolve all the data symbols so
- # we can plug in absolute offsets into the text.
- do_pass(DataPassHandler(segment), all_lines)
- do_pass(TextPassHandler(), all_lines)
-
- # Write out the import declarations.
- for sym in import_funs:
- if import_environment.has_key(sym):
- name, module, params, returns = import_environment[sym]
- out.write_line('(import $' + sym + ' "' + module + '" "' + name + '"' +
- ((' (param ' + params + ')') if params else '') +
- ((' (result ' + returns + ')') if returns else '') +
- ')')
- else:
- error('import ' + sym + ' not found in import environment')
-
- write_data_segment(segment)
-
- # Close the module.
- out.dedent()
- out.write_line(')')
-
- # Check invariants.
- assert len(out.current_indent) == 0, len(out.current_indent)
-
- text = out.get_output()
-
- if cmd_args.output == None:
- sys.stdout.write(text)
- else:
- with open(cmd_args.output, 'w') as outfile:
- outfile.write(text)
-
-
-if __name__ == '__main__':
- sys.exit(Main())