summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml47
-rw-r--r--CHANGELOG.md3
-rw-r--r--README.md2
-rwxr-xr-xauto_update_tests.py1
-rwxr-xr-xbuild-js.sh1
-rwxr-xr-xcheck.py31
-rwxr-xr-xscripts/test/lld.py1
-rw-r--r--scripts/test/shared.py54
-rw-r--r--src/binaryen-c.cpp17
-rw-r--r--src/binaryen-c.h1
-rw-r--r--src/ir/block-utils.h2
-rw-r--r--src/ir/features.h8
-rw-r--r--src/ir/global-utils.h2
-rw-r--r--src/js/binaryen.js-post.js95
-rw-r--r--src/parsing.h4
-rw-r--r--src/passes/CoalesceLocals.cpp2
-rw-r--r--src/passes/Metrics.cpp3
-rw-r--r--src/passes/Strip.cpp19
-rw-r--r--src/passes/pass.cpp1
-rw-r--r--src/passes/passes.h1
-rw-r--r--src/support/colors.h2
-rw-r--r--src/support/file.cpp12
-rw-r--r--src/support/file.h2
-rw-r--r--src/tools/spec-wrapper.h2
-rw-r--r--src/tools/tool-options.h10
-rw-r--r--src/tools/wasm-emscripten-finalize.cpp13
-rw-r--r--src/wasm-binary.h1
-rw-r--r--src/wasm-emscripten.h8
-rw-r--r--src/wasm-features.h70
-rw-r--r--src/wasm-io.h6
-rw-r--r--src/wasm-s-parser.h1
-rw-r--r--src/wasm-type.h3
-rw-r--r--src/wasm.h57
-rw-r--r--src/wasm/literal.cpp2
-rw-r--r--src/wasm/wasm-emscripten.cpp137
-rw-r--r--src/wasm/wasm-io.cpp46
-rw-r--r--src/wasm/wasm-s-parser.cpp56
-rw-r--r--src/wasm/wasm-type.cpp8
-rw-r--r--src/wasm/wasm-validator.cpp5
-rw-r--r--src/wasm/wasm.cpp1
-rw-r--r--test/binaryen.js/kitchen-sink.js.txt828
-rw-r--r--test/binaryen.js/simd.js5
-rw-r--r--test/binaryen.js/simd.js.txt1
-rw-r--r--test/crash/__init__.py0
-rw-r--r--test/crash/test_features.py18
-rw-r--r--test/example/c-api-kitchen-sink.txt840
-rw-r--r--test/example/c-api-kitchen-sink.txt.txt420
-rw-r--r--test/lld/reserved_func_ptr.wast.jscall.out359
-rw-r--r--test/passes/O3_low-memory-unused_metrics.txt4600
-rw-r--r--test/passes/O3_low-memory-unused_metrics.wast4094
-rw-r--r--test/passes/O4.txt1290
-rw-r--r--test/passes/O4.wast1734
-rw-r--r--test/passes/converge_O3_metrics.bin.txt3
-rw-r--r--test/passes/func-metrics.txt27
-rw-r--r--test/passes/metrics.txt7
-rw-r--r--test/passes/metrics_strip-debug_metrics.bin.txt6
-rw-r--r--test/passes/metrics_strip-producers_metrics.bin.txt6
-rw-r--r--test/passes/safe-heap.txt2
-rw-r--r--test/passes/safe-heap.wast2
-rw-r--r--test/passes/safe-heap_low-memory-unused.txt2
-rw-r--r--test/passes/safe-heap_low-memory-unused.wast2
-rw-r--r--test/passes/strip-target-features.bin.txt3
-rw-r--r--test/passes/strip-target-features.wasmbin0 -> 43 bytes
-rw-r--r--test/passes/translate-to-fuzz.txt14
-rw-r--r--test/passes/translate-to-fuzz_no-fuzz-nans.txt14
-rw-r--r--test/simd.wast19
-rw-r--r--test/simd.wast.from-wast291
-rw-r--r--test/simd.wast.fromBinary291
-rw-r--r--test/simd.wast.fromBinary.noDebugInfo289
-rw-r--r--test/spec/simd.wast620
70 files changed, 8957 insertions, 7567 deletions
diff --git a/.travis.yml b/.travis.yml
index 72feebec7..d7622b3f2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,8 +9,32 @@ stages:
# to save time and resources.
if: type != pull_request AND (branch = master OR tag IS present)
+DEPLOY_TO_GITHUB: &DEPLOY_TO_GITHUB
+ before_deploy:
+ - PKGNAME="binaryen-$TRAVIS_TAG-$ARCH"
+ - mv bin binaryen-$TRAVIS_TAG
+ - tar -czf $PKGNAME.tar.gz binaryen-$TRAVIS_TAG
+ - sha256sum $PKGNAME.tar.gz > $PKGNAME.tar.gz.sha256
+ deploy:
+ provider: releases
+ api_key:
+ secure: "cu6CD5BaycXdCylvcs+Fho5+OVTkh9mZwH8RTnNpXo9hAQzLJDFgcNBHeXHEHtcp4IWf/YZSMu48UKnpU9sP5iF0AS4rtuEBJk5gOKkgB8GWnuIOePFkfANAZMN+EncuUwhAdN56iOAESXqnlHYgmJjyRVCHOxiezuWTOYui4lxoIAdxvOMJc3E9yfzUq4Epm2GDszSDN7ObmRIJpVgDXD9Sze1Xv4IkbIwc0biCmduGGLp3ow2KM+RZ4tOF0c8P0ki49vOFHr6n2Vmqg0QCiVNd4JJBRBCGn6Tzip2jsTQewnUUvpYCZafLeRV//v//voNA6ZUz91yXR23GIhkfdlyuqnz3/7l335Sa749M1lpYfSRWvwg9mJEqP66mxqTrWzj1xSItr9T+p0WhSmRN/4UEJPuItYPSma6kfv+H7qhLa3ZYKECH8hHW79grYmUWtiX0vQVIgnctJGgboPNLfG/1mNtmCI241wK0S3zvL2okdZH8/PqxfllYHMBTUp9lUrop8eoLKPgHZPm6+V20dgTUgOuGTZzTWwQ7Uk/Pg8JMUgkre5y0eo6pP3z0vDW1NNFNhouJ5oGkAeK/HAznr8Q0zWWF1vGFhoyC8ok/IJ7yKxK9scJVPBDe4oox6tr1zlsxzNEYE0/mY3JjuWV0z8RgjrIAbRe8IpGTkYz5VOM="
+ file: binaryen-$TRAVIS_TAG-*.tar.gz*
+ file_glob: true
+ skip_cleanup: true
+ on:
+ tags: true
+
jobs:
include:
+ # OSX Binary
+ - env: JOB=dist-osx MACOSX_DEPLOYMENT_TARGET=10.7 ARCH=x86_64-apple-darwin
+ os: osx
+ stage: build
+ script:
+ - cmake . && make
+ <<: *DEPLOY_TO_GITHUB
+
# Build with clang and run tests on the host system (Ubuntu).
- &test-ubuntu
stage: test
@@ -109,7 +133,7 @@ jobs:
- &build-alpine
<<: *test-alpine
stage: build
- env: ARCH=x86_64
+ env: ARCH=x86_64-linux
# Don't run before_script inherited from *test-alpine.
before_script: skip
script:
@@ -124,20 +148,7 @@ jobs:
- if [ -n "$(find bin/ -type f -perm -u=x -exec file {} + | grep -Fvw 'statically linked')" ]; then
file bin/*; false;
fi
- before_deploy:
- - PKGNAME="binaryen-$TRAVIS_TAG-$ARCH-linux"
- - mv bin binaryen-$TRAVIS_TAG
- - tar -czf $PKGNAME.tar.gz binaryen-$TRAVIS_TAG
- - sha256sum $PKGNAME.tar.gz > $PKGNAME.tar.gz.sha256
- deploy:
- provider: releases
- api_key:
- secure: "cu6CD5BaycXdCylvcs+Fho5+OVTkh9mZwH8RTnNpXo9hAQzLJDFgcNBHeXHEHtcp4IWf/YZSMu48UKnpU9sP5iF0AS4rtuEBJk5gOKkgB8GWnuIOePFkfANAZMN+EncuUwhAdN56iOAESXqnlHYgmJjyRVCHOxiezuWTOYui4lxoIAdxvOMJc3E9yfzUq4Epm2GDszSDN7ObmRIJpVgDXD9Sze1Xv4IkbIwc0biCmduGGLp3ow2KM+RZ4tOF0c8P0ki49vOFHr6n2Vmqg0QCiVNd4JJBRBCGn6Tzip2jsTQewnUUvpYCZafLeRV//v//voNA6ZUz91yXR23GIhkfdlyuqnz3/7l335Sa749M1lpYfSRWvwg9mJEqP66mxqTrWzj1xSItr9T+p0WhSmRN/4UEJPuItYPSma6kfv+H7qhLa3ZYKECH8hHW79grYmUWtiX0vQVIgnctJGgboPNLfG/1mNtmCI241wK0S3zvL2okdZH8/PqxfllYHMBTUp9lUrop8eoLKPgHZPm6+V20dgTUgOuGTZzTWwQ7Uk/Pg8JMUgkre5y0eo6pP3z0vDW1NNFNhouJ5oGkAeK/HAznr8Q0zWWF1vGFhoyC8ok/IJ7yKxK9scJVPBDe4oox6tr1zlsxzNEYE0/mY3JjuWV0z8RgjrIAbRe8IpGTkYz5VOM="
- file: binaryen-$TRAVIS_TAG-*.tar.gz*
- file_glob: true
- skip_cleanup: true
- on:
- tags: true
+ <<: *DEPLOY_TO_GITHUB
# Build binaries for other architectures using QEMU user-mode emulation.
# Note: We don't run tests for these architectures, because some fail under
@@ -145,13 +156,13 @@ jobs:
# Note: We had to remove ppc64le, because it takes more than 50 minutes
# (Travis limit) to build. :(
- <<: *build-alpine
- env: ARCH=x86
+ env: ARCH=x86-linux
- <<: *build-alpine
- env: ARCH=aarch64
+ env: ARCH=aarch64-linux
- <<: *build-alpine
- env: ARCH=armhf
+ env: ARCH=armhf-linux
notifications:
email: false
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 36abe6199..67fa19c82 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,9 @@ full changeset diff at the end of each section.
Current Trunk
-------------
+- Remove jsCall generation from wasm-emscripten-finalize. This is not needed
+ as of https://github.com/emscripten-core/emscripten/pull/8255.
+
### BREAKING CHANGES (old to new)
v.55
diff --git a/README.md b/README.md
index 3de1a28ba..5fb66338a 100644
--- a/README.md
+++ b/README.md
@@ -368,7 +368,7 @@ under **Windows 10 x64** with with **CMake** and **Visual Studio 2015**. Help
would be appreciated on Windows and OS X as most of the core devs are on Linux.
[compiling to WebAssembly]: https://github.com/WebAssembly/binaryen/wiki/Compiling-to-WebAssembly-with-Binaryen
-[win32]: https://github.com/brakmic/brakmic/blob/master/webassembly/COMPILING_WIN32.ms
+[win32]: https://github.com/brakmic/bazaar/blob/master/webassembly/COMPILING_WIN32.md
[C API]: https://github.com/WebAssembly/binaryen/wiki/Compiling-to-WebAssembly-with-Binaryen#c-api-1
[control flow graph]: https://github.com/WebAssembly/binaryen/wiki/Compiling-to-WebAssembly-with-Binaryen#cfg-api
[JS_API]: https://github.com/WebAssembly/binaryen/wiki/binaryen.js-API
diff --git a/auto_update_tests.py b/auto_update_tests.py
index f4b13c737..7157e58be 100755
--- a/auto_update_tests.py
+++ b/auto_update_tests.py
@@ -79,7 +79,6 @@ def update_lld_tests():
mem_file = wast_path + '.mem'
extension_arg_map = {
'.out': [],
- '.jscall.out': ['--emscripten-reserved-function-pointers=3'],
'.mem.out': ['--separate-data-segments', mem_file + '.mem'],
}
for ext, ext_args in extension_arg_map.items():
diff --git a/build-js.sh b/build-js.sh
index 06141dea2..896d1736d 100755
--- a/build-js.sh
+++ b/build-js.sh
@@ -635,6 +635,7 @@ export_function "_BinaryenConstGetValueI64Low"
export_function "_BinaryenConstGetValueI64High"
export_function "_BinaryenConstGetValueF32"
export_function "_BinaryenConstGetValueF64"
+export_function "_BinaryenConstGetValueV128"
# 'Unary' expression operations
export_function "_BinaryenUnaryGetOp"
diff --git a/check.py b/check.py
index 0e1d4a1b0..1fee7d283 100755
--- a/check.py
+++ b/check.py
@@ -18,6 +18,7 @@ import os
import shutil
import subprocess
import sys
+import unittest
from scripts.test.support import run_command, split_wast, node_test_glue, node_has_webassembly
from scripts.test.shared import (
@@ -25,10 +26,14 @@ from scripts.test.shared import (
WASM_AS, WASM_CTOR_EVAL, WASM_OPT, WASM_SHELL, WASM_MERGE, WASM_METADCE,
WASM_DIS, WASM_REDUCE, binary_format_check, delete_from_orbit, fail, fail_with_error,
fail_if_not_identical, fail_if_not_contained, has_vanilla_emcc,
- has_vanilla_llvm, minify_check, num_failures, options, tests,
- requested, warnings, has_shell_timeout, fail_if_not_identical_to_file
+ has_vanilla_llvm, minify_check, options, tests, requested, warnings,
+ has_shell_timeout, fail_if_not_identical_to_file
)
+# For shared.num_failures. Cannot import directly because modifications made in
+# shared.py would not affect the version imported here.
+import scripts.test.shared as shared
+
import scripts.test.asm2wasm as asm2wasm
import scripts.test.lld as lld
import scripts.test.wasm2js as wasm2js
@@ -592,6 +597,17 @@ def run_gcc_tests():
fail_if_not_identical_to_file(actual, expected)
+def run_unittest():
+ print '\n[ checking unit tests...]\n'
+
+ # equivalent to `python -m unittest discover -s ./test -v`
+ suite = unittest.defaultTestLoader.discover(os.path.dirname(options.binaryen_test))
+ result = unittest.TextTestRunner(verbosity=2, failfast=options.abort_on_first_failure).run(suite)
+ shared.num_failures += len(result.errors) + len(result.failures)
+ if options.abort_on_first_failure and shared.num_failures:
+ raise Exception("unittest failed")
+
+
# Run all the tests
def main():
run_help_tests()
@@ -618,17 +634,20 @@ def main():
if options.run_gcc_tests:
run_gcc_tests()
+ run_unittest()
+
# Check/display the results
- if num_failures == 0:
+ if shared.num_failures == 0:
print '\n[ success! ]'
if warnings:
print '\n' + '\n'.join(warnings)
- if num_failures > 0:
- print '\n[ ' + str(num_failures) + ' failures! ]'
+ if shared.num_failures > 0:
+ print '\n[ ' + str(shared.num_failures) + ' failures! ]'
+ return 1
- return num_failures
+ return 0
if __name__ == '__main__':
diff --git a/scripts/test/lld.py b/scripts/test/lld.py
index 03c96d6c3..94736f03f 100755
--- a/scripts/test/lld.py
+++ b/scripts/test/lld.py
@@ -29,7 +29,6 @@ def test_wasm_emscripten_finalize():
mem_file = wast_path + '.mem'
extension_arg_map = {
'.out': [],
- '.jscall.out': ['--emscripten-reserved-function-pointers=3'],
'.mem.out': ['--separate-data-segments', mem_file],
}
for ext, ext_args in extension_arg_map.items():
diff --git a/scripts/test/shared.py b/scripts/test/shared.py
index f8da23851..7c456db8f 100644
--- a/scripts/test/shared.py
+++ b/scripts/test/shared.py
@@ -281,6 +281,60 @@ def delete_from_orbit(filename):
pass
+# This is a workaround for https://bugs.python.org/issue9400
+class Py2CalledProcessError(subprocess.CalledProcessError):
+ def __init__(self, returncode, cmd, output=None, stderr=None):
+ super(Exception, self).__init__(returncode, cmd, output, stderr)
+ self.returncode = returncode
+ self.cmd = cmd
+ self.output = output
+ self.stderr = stderr
+
+
+# https://docs.python.org/3/library/subprocess.html#subprocess.CompletedProcess
+class Py2CompletedProcess:
+ def __init__(self, args, returncode, stdout, stderr):
+ self.args = args
+ self.returncode = returncode
+ self.stdout = stdout
+ self.stderr = stderr
+
+ def __repr__(self):
+ _repr = ['args=%s, returncode=%s' % (self.args, self.returncode)]
+ if self.stdout is not None:
+ _repr += 'stdout=' + repr(self.stdout)
+ if self.stderr is not None:
+ _repr += 'stderr=' + repr(self.stderr)
+ return 'CompletedProcess(%s)' % ', '.join(_repr)
+
+ def check_returncode(self):
+ if self.returncode != 0:
+ raise Py2CalledProcessError(returncode=self.returncode, cmd=self.args,
+ output=self.stdout, stderr=self.stderr)
+
+
+def run_process(cmd, check=True, input=None, universal_newlines=True,
+ capture_output=False, *args, **kw):
+ kw.setdefault('universal_newlines', True)
+
+ if hasattr(subprocess, "run"):
+ ret = subprocess.run(cmd, check=check, input=input, *args, **kw)
+ return ret
+
+ # Python 2 compatibility: Introduce Python 3 subprocess.run-like behavior
+ if input is not None:
+ kw['stdin'] = subprocess.PIPE
+ if capture_output:
+ kw['stdout'] = subprocess.PIPE
+ kw['stderr'] = subprocess.PIPE
+ proc = subprocess.Popen(cmd, *args, **kw)
+ stdout, stderr = proc.communicate(input)
+ result = Py2CompletedProcess(cmd, proc.returncode, stdout, stderr)
+ if check:
+ result.check_returncode()
+ return result
+
+
def fail_with_error(msg):
global num_failures
try:
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index c554b0a23..71cd92da4 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -1616,6 +1616,15 @@ double BinaryenConstGetValueF64(BinaryenExpressionRef expr) {
assert(expression->is<Const>());
return static_cast<Const*>(expression)->value.getf64();
}
+void BinaryenConstGetValueV128(BinaryenExpressionRef expr, uint8_t* out) {
+ if (tracing) {
+ std::cout << " BinaryenConstGetValueV128(expressions[" << expressions[expr] << "], " << out << ");\n";
+ }
+
+ auto* expression = (Expression*)expr;
+ assert(expression->is<Const>());
+ memcpy(out, static_cast<Const*>(expression)->value.getv128().data(), 16);
+}
// Unary
BinaryenOp BinaryenUnaryGetOp(BinaryenExpressionRef expr) {
if (tracing) {
@@ -1945,7 +1954,7 @@ BinaryenExpressionRef BinaryenSIMDShuffleGetRight(BinaryenExpressionRef expr) {
}
void BinaryenSIMDShuffleGetMask(BinaryenExpressionRef expr, uint8_t *mask) {
if (tracing) {
- std::cout << " BinaryenSIMDShuffleGetMask(expressions[" << expressions[expr] << "]);\n";
+ std::cout << " BinaryenSIMDShuffleGetMask(expressions[" << expressions[expr] << "], " << mask << ");\n";
}
auto* expression = (Expression*)expr;
@@ -3067,6 +3076,12 @@ size_t BinaryenSizeofLiteral(void) {
return sizeof(Literal);
}
+// Returns the size of an allocate and write result object.
+EMSCRIPTEN_KEEPALIVE
+size_t BinaryenSizeofAllocateAndWriteResult(void) {
+ return sizeof(BinaryenModuleAllocateAndWriteResult);
+}
+
#endif
} // extern "C"
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index 5355ceeeb..787bfb242 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -618,6 +618,7 @@ int32_t BinaryenConstGetValueI64Low(BinaryenExpressionRef expr);
int32_t BinaryenConstGetValueI64High(BinaryenExpressionRef expr);
float BinaryenConstGetValueF32(BinaryenExpressionRef expr);
double BinaryenConstGetValueF64(BinaryenExpressionRef expr);
+void BinaryenConstGetValueV128(BinaryenExpressionRef expr, uint8_t* out);
BinaryenOp BinaryenUnaryGetOp(BinaryenExpressionRef expr);
BinaryenExpressionRef BinaryenUnaryGetValue(BinaryenExpressionRef expr);
diff --git a/src/ir/block-utils.h b/src/ir/block-utils.h
index e3ad370db..968332212 100644
--- a/src/ir/block-utils.h
+++ b/src/ir/block-utils.h
@@ -59,7 +59,7 @@ namespace BlockUtils {
inline Expression* simplifyToContentsWithPossibleTypeChange(Block* block, T* parent) {
return simplifyToContents(block, parent, true);
}
-};
+}
} // namespace wasm
diff --git a/src/ir/features.h b/src/ir/features.h
index ed7fb6ff5..505e239a5 100644
--- a/src/ir/features.h
+++ b/src/ir/features.h
@@ -76,6 +76,14 @@ inline FeatureSet get(UnaryOp op) {
ret.setSIMD();
break;
}
+ case ExtendS8Int32:
+ case ExtendS16Int32:
+ case ExtendS8Int64:
+ case ExtendS16Int64:
+ case ExtendS32Int64: {
+ ret.setSignExt();
+ break;
+ }
default: {}
}
return ret;
diff --git a/src/ir/global-utils.h b/src/ir/global-utils.h
index 02bbbf2d2..fa4cdc44a 100644
--- a/src/ir/global-utils.h
+++ b/src/ir/global-utils.h
@@ -48,7 +48,7 @@ namespace GlobalUtils {
});
return ret;
}
-};
+}
} // namespace wasm
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index 1eef5757e..aee41255c 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -365,6 +365,13 @@ Module['ConvertUVecI32x4ToVecF32x4'] = Module['_BinaryenConvertUVecI32x4ToVecF32
Module['ConvertSVecI64x2ToVecF64x2'] = Module['_BinaryenConvertSVecI64x2ToVecF64x2']();
Module['ConvertUVecI64x2ToVecF64x2'] = Module['_BinaryenConvertUVecI64x2ToVecF64x2']();
+// The size of a single literal in memory as used in Const creation,
+// which is a little different: we don't want users to need to make
+// their own Literals, as the C API handles them by value, which means
+// we would leak them. Instead, Const creation is fused together with
+// an intermediate stack allocation of this size to pass the value.
+var sizeOfLiteral = _BinaryenSizeofLiteral();
+
// 'Module' interface
Module['Module'] = function(module) {
assert(!module); // guard against incorrect old API usage
@@ -482,13 +489,6 @@ function wrapModule(module, self) {
}
}
- // The Const creation API is a little different: we don't want users to
- // need to make their own Literals, as the C API handles them by value,
- // which means we would leak them. Instead, this is the only API that
- // accepts Literals, so fuse it with Literal creation
- var temp = _malloc(Module['_BinaryenSizeofLiteral']()); // a single literal in memory. the LLVM C ABI
- // makes us pass pointers to this.
-
self['i32'] = {
'load': function(offset, align, ptr) {
return Module['_BinaryenLoad'](module, 4, true, offset, align, Module['i32'], ptr);
@@ -515,8 +515,11 @@ function wrapModule(module, self) {
return Module['_BinaryenStore'](module, 2, offset, align, ptr, value, Module['i32']);
},
'const': function(x) {
- Module['_BinaryenLiteralInt32'](temp, x);
- return Module['_BinaryenConst'](module, temp);
+ return preserveStack(function() {
+ var tempLiteral = stackAlloc(sizeOfLiteral);
+ Module['_BinaryenLiteralInt32'](tempLiteral, x);
+ return Module['_BinaryenConst'](module, tempLiteral);
+ });
},
'clz': function(value) {
return Module['_BinaryenUnary'](module, Module['ClzInt32'], value);
@@ -778,8 +781,11 @@ function wrapModule(module, self) {
return Module['_BinaryenStore'](module, 4, offset, align, ptr, value, Module['i64']);
},
'const': function(x, y) {
- Module['_BinaryenLiteralInt64'](temp, x, y);
- return Module['_BinaryenConst'](module, temp);
+ return preserveStack(function() {
+ var tempLiteral = stackAlloc(sizeOfLiteral);
+ Module['_BinaryenLiteralInt64'](tempLiteral, x, y);
+ return Module['_BinaryenConst'](module, tempLiteral);
+ });
},
'clz': function(value) {
return Module['_BinaryenUnary'](module, Module['ClzInt64'], value);
@@ -1049,12 +1055,18 @@ function wrapModule(module, self) {
return Module['_BinaryenStore'](module, 4, offset, align, ptr, value, Module['f32']);
},
'const': function(x) {
- Module['_BinaryenLiteralFloat32'](temp, x);
- return Module['_BinaryenConst'](module, temp);
+ return preserveStack(function() {
+ var tempLiteral = stackAlloc(sizeOfLiteral);
+ Module['_BinaryenLiteralFloat32'](tempLiteral, x);
+ return Module['_BinaryenConst'](module, tempLiteral);
+ });
},
'const_bits': function(x) {
- Module['_BinaryenLiteralFloat32Bits'](temp, x);
- return Module['_BinaryenConst'](module, temp);
+ return preserveStack(function() {
+ var tempLiteral = stackAlloc(sizeOfLiteral);
+ Module['_BinaryenLiteralFloat32Bits'](tempLiteral, x);
+ return Module['_BinaryenConst'](module, tempLiteral);
+ });
},
'neg': function(value) {
return Module['_BinaryenUnary'](module, Module['NegFloat32'], value);
@@ -1148,12 +1160,18 @@ function wrapModule(module, self) {
return Module['_BinaryenStore'](module, 8, offset, align, ptr, value, Module['f64']);
},
'const': function(x) {
- Module['_BinaryenLiteralFloat64'](temp, x);
- return Module['_BinaryenConst'](module, temp);
+ return preserveStack(function() {
+ var tempLiteral = stackAlloc(sizeOfLiteral);
+ Module['_BinaryenLiteralFloat64'](tempLiteral, x);
+ return Module['_BinaryenConst'](module, tempLiteral);
+ });
},
'const_bits': function(x, y) {
- Module['_BinaryenLiteralFloat64Bits'](temp, x, y);
- return Module['_BinaryenConst'](module, temp);
+ return preserveStack(function() {
+ var tempLiteral = stackAlloc(sizeOfLiteral);
+ Module['_BinaryenLiteralFloat64Bits'](tempLiteral, x, y);
+ return Module['_BinaryenConst'](module, tempLiteral);
+ });
},
'neg': function(value) {
return Module['_BinaryenUnary'](module, Module['NegFloat64'], value);
@@ -1248,8 +1266,9 @@ function wrapModule(module, self) {
},
'const': function(i8s) {
return preserveStack(function() {
- Module['_BinaryenLiteralVec128'](temp, i8sToStack(i8s));
- return Module['_BinaryenConst'](module, temp);
+ var tempLiteral = stackAlloc(sizeOfLiteral);
+ Module['_BinaryenLiteralVec128'](tempLiteral, i8sToStack(i8s));
+ return Module['_BinaryenConst'](module, tempLiteral);
});
},
'not': function(value) {
@@ -1729,7 +1748,7 @@ function wrapModule(module, self) {
});
};
self['removeFunctionType'] = function(name) {
- return preserveStack(function () {
+ return preserveStack(function() {
return Module['_BinaryenRemoveFunctionType'](module, strToStack(name));
});
};
@@ -1754,7 +1773,7 @@ function wrapModule(module, self) {
});
}
self['removeGlobal'] = function(name) {
- return preserveStack(function () {
+ return preserveStack(function() {
return Module['_BinaryenRemoveGlobal'](module, strToStack(name));
});
}
@@ -1900,10 +1919,11 @@ function wrapModule(module, self) {
};
self['emitBinary'] = function(sourceMapUrl) {
return preserveStack(function() {
- Module['_BinaryenModuleAllocateAndWrite'](temp, module, strToStack(sourceMapUrl));
- var binaryPtr = HEAPU32[ temp >>> 2 ];
- var binaryBytes = HEAPU32[(temp >>> 2) + 1];
- var sourceMapPtr = HEAPU32[(temp >>> 2) + 2];
+ var tempBuffer = stackAlloc(_BinaryenSizeofAllocateAndWriteResult());
+ Module['_BinaryenModuleAllocateAndWrite'](tempBuffer, module, strToStack(sourceMapUrl));
+ var binaryPtr = HEAPU32[ tempBuffer >>> 2 ];
+ var binaryBytes = HEAPU32[(tempBuffer >>> 2) + 1];
+ var sourceMapPtr = HEAPU32[(tempBuffer >>> 2) + 2];
try {
var buffer = new Uint8Array(binaryBytes);
buffer.set(HEAPU8.subarray(binaryPtr, binaryPtr + binaryBytes));
@@ -2090,7 +2110,18 @@ Module['getExpressionInfo'] = function(expr) {
case Module['i32']: value = Module['_BinaryenConstGetValueI32'](expr); break;
case Module['i64']: value = { 'low': Module['_BinaryenConstGetValueI64Low'](expr), 'high': Module['_BinaryenConstGetValueI64High'](expr) }; break;
case Module['f32']: value = Module['_BinaryenConstGetValueF32'](expr); break;
- case Module['f64']: value = Module['_BinaryenConstGetValueF64'](expr); break;
+ case Module['f64']: value = Module['_BinaryenConstGetValueF64'](expr); break;
+ case Module['v128']: {
+ preserveStack(function() {
+ var tempBuffer = stackAlloc(16);
+ Module['_BinaryenConstGetValueV128'](expr, tempBuffer);
+ value = new Array(16);
+ for (var i = 0 ; i < 16; i++) {
+ value[i] = HEAPU8[tempBuffer + i];
+ }
+ });
+ break;
+ }
default: throw Error('unexpected type: ' + type);
}
return {
@@ -2203,11 +2234,11 @@ Module['getExpressionInfo'] = function(expr) {
};
case Module['SIMDShuffleId']:
return preserveStack(function() {
- var ret = stackAlloc(16);
- Module['_BinaryenSIMDShuffleGetMask'](expr, ret);
- var mask = [];
+ var tempBuffer = stackAlloc(16);
+ Module['_BinaryenSIMDShuffleGetMask'](expr, tempBuffer);
+ var mask = new Array(16);
for (var i = 0 ; i < 16; i++) {
- mask[i] = HEAP8[ret + i];
+ mask[i] = HEAPU8[tempBuffer + i];
}
return {
'id': id,
diff --git a/src/parsing.h b/src/parsing.h
index 6eecb38f2..97fc88432 100644
--- a/src/parsing.h
+++ b/src/parsing.h
@@ -40,7 +40,7 @@ struct ParseException {
ParseException(std::string text) : text(text), line(-1), col(-1) {}
ParseException(std::string text, size_t line, size_t col) : text(text), line(line), col(col) {}
- void dump(std::ostream& o) {
+ void dump(std::ostream& o) const {
Colors::magenta(o);
o << "[";
Colors::red(o);
@@ -63,7 +63,7 @@ struct MapParseException {
MapParseException() : text("unknown parse error") {}
MapParseException(std::string text) : text(text) {}
- void dump(std::ostream& o) {
+ void dump(std::ostream& o) const {
Colors::magenta(o);
o << "[";
Colors::red(o);
diff --git a/src/passes/CoalesceLocals.cpp b/src/passes/CoalesceLocals.cpp
index 2835744d3..621383ca4 100644
--- a/src/passes/CoalesceLocals.cpp
+++ b/src/passes/CoalesceLocals.cpp
@@ -275,7 +275,7 @@ std::vector<Index> adjustOrderByPriorities(std::vector<Index>& baseline, std::ve
return priorities[x] > priorities[y] || (priorities[x] == priorities[y] && reversed[x] < reversed[y]);
});
return ret;
-};
+}
void CoalesceLocals::pickIndices(std::vector<Index>& indices) {
if (numLocals == 0) return;
diff --git a/src/passes/Metrics.cpp b/src/passes/Metrics.cpp
index b794ea32d..8717a86b7 100644
--- a/src/passes/Metrics.cpp
+++ b/src/passes/Metrics.cpp
@@ -66,6 +66,7 @@ struct Metrics : public WalkerPass<PostWalker<Metrics, UnifiedExpressionVisitor<
counts["[imports]"] = imports.getNumImports();
// add functions
counts["[funcs]"] = imports.getNumDefinedFunctions();
+ counts["[exports]"] = module->exports.size();
// add memory and table
if (module->memory.exists) {
Index size = 0;
@@ -172,7 +173,7 @@ struct Metrics : public WalkerPass<PostWalker<Metrics, UnifiedExpressionVisitor<
o << title << "\n";
for (auto* key : keys) {
auto value = counts[key];
- if (value == 0) continue;
+ if (value == 0 && key[0] != '[') continue;
o << " " << left << setw(15) << key << ": " << setw(8)
<< value;
if (lastCounts.count(key)) {
diff --git a/src/passes/Strip.cpp b/src/passes/Strip.cpp
index 8ab712cb1..40e5a9e9d 100644
--- a/src/passes/Strip.cpp
+++ b/src/passes/Strip.cpp
@@ -47,11 +47,15 @@ struct Strip : public Pass {
),
sections.end()
);
- // Clean up internal data structures.
- module->clearDebugInfo();
- for (auto& func : module->functions) {
- func->clearNames();
- func->clearDebugInfo();
+ // If we're cleaning up debug info, clear on the function and module too.
+ UserSection temp;
+ temp.name = BinaryConsts::UserSections::Name;
+ if (decider(temp)) {
+ module->clearDebugInfo();
+ for (auto& func : module->functions) {
+ func->clearNames();
+ func->clearDebugInfo();
+ }
}
}
};
@@ -71,4 +75,9 @@ Pass *createStripProducersPass() {
});
}
+Pass *createStripTargetFeaturesPass() {
+ return new Strip([&](const UserSection& curr) {
+ return curr.name == BinaryConsts::UserSections::TargetFeatures;
+ });
+}
} // namespace wasm
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp
index 3712bf19e..5d8b8d2c8 100644
--- a/src/passes/pass.cpp
+++ b/src/passes/pass.cpp
@@ -138,6 +138,7 @@ void PassRegistry::registerPasses() {
registerPass("strip", "deprecated; same as strip-debug", createStripDebugPass);
registerPass("strip-debug", "strip debug info (including the names section)", createStripDebugPass);
registerPass("strip-producers", "strip the wasm producers section", createStripProducersPass);
+ registerPass("strip-target-features", "strip the wasm target features section", createStripTargetFeaturesPass);
registerPass("trap-mode-clamp", "replace trapping operations with clamping semantics", createTrapModeClamp);
registerPass("trap-mode-js", "replace trapping operations with js semantics", createTrapModeJS);
registerPass("untee", "removes local.tees, replacing them with sets and gets", createUnteePass);
diff --git a/src/passes/passes.h b/src/passes/passes.h
index ab11721fb..ac7126bd4 100644
--- a/src/passes/passes.h
+++ b/src/passes/passes.h
@@ -88,6 +88,7 @@ Pass* createSimplifyLocalsNoStructurePass();
Pass* createSimplifyLocalsNoTeeNoStructurePass();
Pass* createStripDebugPass();
Pass* createStripProducersPass();
+Pass* createStripTargetFeaturesPass();
Pass* createSouperifyPass();
Pass* createSouperifySingleUsePass();
Pass* createSpillPointersPass();
diff --git a/src/support/colors.h b/src/support/colors.h
index fb5267ce1..6761639d9 100644
--- a/src/support/colors.h
+++ b/src/support/colors.h
@@ -52,6 +52,6 @@ inline void green(std::ostream& stream) {}
inline void blue(std::ostream& stream) {}
inline void bold(std::ostream& stream) {}
#endif
-};
+}
#endif // wasm_support_color_h
diff --git a/src/support/file.cpp b/src/support/file.cpp
index 19401b21d..2fe636cfd 100644
--- a/src/support/file.cpp
+++ b/src/support/file.cpp
@@ -21,6 +21,17 @@
#include <cstdint>
#include <limits>
+std::vector<char> wasm::read_stdin(Flags::DebugOption debug) {
+ if (debug == Flags::Debug) std::cerr << "Loading stdin..." << std::endl;
+ std::vector<char> input;
+ char c;
+ while (std::cin.get(c) && !std::cin.eof()) {
+ input.push_back(c);
+ }
+ return input;
+}
+
+
template<typename T>
T wasm::read_file(const std::string& filename, Flags::BinaryOption binary, Flags::DebugOption debug) {
if (debug == Flags::Debug) std::cerr << "Loading '" << filename << "'..." << std::endl;
@@ -84,4 +95,3 @@ size_t wasm::file_size(std::string filename) {
std::ifstream infile(filename, std::ifstream::ate | std::ifstream::binary);
return infile.tellg();
}
-
diff --git a/src/support/file.h b/src/support/file.h
index e94d23fad..cb9c82ca9 100644
--- a/src/support/file.h
+++ b/src/support/file.h
@@ -39,6 +39,8 @@ namespace Flags {
};
}
+std::vector<char> read_stdin(Flags::DebugOption);
+
template<typename T>
T read_file(const std::string& filename, Flags::BinaryOption binary, Flags::DebugOption debug);
// Declare the valid explicit specializations.
diff --git a/src/tools/spec-wrapper.h b/src/tools/spec-wrapper.h
index a42230fc1..77db8a0f4 100644
--- a/src/tools/spec-wrapper.h
+++ b/src/tools/spec-wrapper.h
@@ -34,7 +34,7 @@ static std::string generateSpecWrapper(Module& wasm) {
case i64: ret += "(i64.const 0)"; break;
case f32: ret += "(f32.const 0)"; break;
case f64: ret += "(f64.const 0)"; break;
- case v128: ret += "(v128.const i32 0 0 0 0)"; break;
+ case v128: ret += "(v128.const i32x4 0 0 0 0)"; break;
case none:
case unreachable: WASM_UNREACHABLE();
}
diff --git a/src/tools/tool-options.h b/src/tools/tool-options.h
index 5620883ec..671085a4e 100644
--- a/src/tools/tool-options.h
+++ b/src/tools/tool-options.h
@@ -39,6 +39,16 @@ struct ToolOptions : public Options {
[this](Options *o, const std::string& arguments) {
passOptions.features = FeatureSet::All;
})
+ .add("--enable-sign-ext", "", "Enable sign extension operations",
+ Options::Arguments::Zero,
+ [this](Options *o, const std::string& arguments) {
+ passOptions.features.setSignExt();
+ })
+ .add("--disable-sign-ext", "", "Disable sign extension operations",
+ Options::Arguments::Zero,
+ [this](Options *o, const std::string& arguments) {
+ passOptions.features.setSignExt(false);
+ })
.add("--enable-threads", "", "Enable atomic operations",
Options::Arguments::Zero,
[this](Options *o, const std::string& arguments) {
diff --git a/src/tools/wasm-emscripten-finalize.cpp b/src/tools/wasm-emscripten-finalize.cpp
index 42fc1e4db..2aa5de46f 100644
--- a/src/tools/wasm-emscripten-finalize.cpp
+++ b/src/tools/wasm-emscripten-finalize.cpp
@@ -47,7 +47,6 @@ int main(int argc, const char *argv[]) {
bool emitBinary = true;
bool debugInfo = false;
bool legalizeJavaScriptFFI = true;
- unsigned numReservedFunctionPointers = 0;
uint64_t globalBase = INVALID_BASE;
uint64_t initialStackPointer = INVALID_BASE;
Options options("wasm-emscripten-finalize",
@@ -70,14 +69,6 @@ int main(int argc, const char *argv[]) {
[&emitBinary](Options*, const std::string& ) {
emitBinary = false;
})
- .add("--emscripten-reserved-function-pointers", "",
- "Number of reserved function pointers for emscripten addFunction "
- "support",
- Options::Arguments::One,
- [&numReservedFunctionPointers](Options *,
- const std::string &argument) {
- numReservedFunctionPointers = std::stoi(argument);
- })
.add("--global-base", "", "The address at which static globals were placed",
Options::Arguments::One,
[&globalBase](Options*, const std::string&argument ) {
@@ -203,7 +194,6 @@ int main(int argc, const char *argv[]) {
}
generator.generateDynCallThunks();
- generator.generateJSCallThunks(numReservedFunctionPointers);
// Legalize the wasm.
{
@@ -214,11 +204,12 @@ int main(int argc, const char *argv[]) {
legalizeJavaScriptFFI ? ABI::LegalizationLevel::Full
: ABI::LegalizationLevel::Minimal
));
+ passRunner.add("strip-target-features");
passRunner.run();
}
// Substantial changes to the wasm are done, enough to create the metadata.
- std::string metadata = generator.generateEmscriptenMetadata(dataSize, initializerFunctions, numReservedFunctionPointers);
+ std::string metadata = generator.generateEmscriptenMetadata(dataSize, initializerFunctions);
// Finally, separate out data segments if relevant (they may have been needed
// for metadata).
diff --git a/src/wasm-binary.h b/src/wasm-binary.h
index a875db791..32166af00 100644
--- a/src/wasm-binary.h
+++ b/src/wasm-binary.h
@@ -345,6 +345,7 @@ extern const char* SourceMapUrl;
extern const char* Dylink;
extern const char* Linking;
extern const char* Producers;
+extern const char* TargetFeatures;
enum Subsection {
NameFunction = 1,
diff --git a/src/wasm-emscripten.h b/src/wasm-emscripten.h
index 275c809fd..acb2994ad 100644
--- a/src/wasm-emscripten.h
+++ b/src/wasm-emscripten.h
@@ -46,14 +46,8 @@ public:
// and restore functions.
void replaceStackPointerGlobal();
- // Create thunks to support emscripten's addFunction functionality. Creates (#
- // of reserved function pointers) thunks for each indirectly called function
- // signature.
- void generateJSCallThunks(unsigned numReservedFunctionPointers);
-
std::string generateEmscriptenMetadata(
- Address staticBump, std::vector<Name> const& initializerFunctions,
- unsigned numReservedFunctionPointers);
+ Address staticBump, std::vector<Name> const& initializerFunctions);
void fixInvokeFunctionNames();
diff --git a/src/wasm-features.h b/src/wasm-features.h
new file mode 100644
index 000000000..4dd806e28
--- /dev/null
+++ b/src/wasm-features.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2019 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.
+ */
+
+#ifndef wasm_features_h
+#define wasm_features_h
+
+#include <stdint.h>
+
+struct FeatureSet {
+ enum Feature : uint32_t {
+ MVP = 0,
+ Atomics = 1 << 0,
+ MutableGlobals = 1 << 1,
+ TruncSat = 1 << 2,
+ SIMD = 1 << 3,
+ BulkMemory = 1 << 4,
+ SignExt = 1 << 5,
+ All = Atomics | MutableGlobals | TruncSat | SIMD | BulkMemory | SignExt
+ };
+
+ FeatureSet() : features(MVP) {}
+ FeatureSet(uint32_t features) : features(features) {}
+
+ bool isMVP() const { return features == MVP; }
+ bool has(Feature f) { return (features & f) == f; }
+ bool hasAtomics() const { return features & Atomics; }
+ bool hasMutableGlobals() const { return features & MutableGlobals; }
+ bool hasTruncSat() const { return features & TruncSat; }
+ bool hasSIMD() const { return features & SIMD; }
+ bool hasBulkMemory() const { return features & BulkMemory; }
+ bool hasSignExt() const { return features & SignExt; }
+ bool hasAll() const { return features & All; }
+
+ void makeMVP() { features = MVP; }
+ void set(Feature f, bool v = true) { features = v ? (features | f) : (features & ~f); }
+ void setAtomics(bool v = true) { set(Atomics, v); }
+ void setMutableGlobals(bool v = true) { set(MutableGlobals, v); }
+ void setTruncSat(bool v = true) { set(TruncSat, v); }
+ void setSIMD(bool v = true) { set(SIMD, v); }
+ void setBulkMemory(bool v = true) { set(BulkMemory, v); }
+ void setSignExt(bool v = true) { set(SignExt, v); }
+ void setAll(bool v = true) { features = v ? All : MVP; }
+
+ bool operator<=(const FeatureSet& other) {
+ return !(features & ~other.features);
+ }
+
+ FeatureSet& operator|=(const FeatureSet& other) {
+ features |= other.features;
+ return *this;
+ }
+
+private:
+ uint32_t features;
+};
+
+#endif // wasm_features_h
diff --git a/src/wasm-io.h b/src/wasm-io.h
index 2dfdbae6c..6d8dcc6e5 100644
--- a/src/wasm-io.h
+++ b/src/wasm-io.h
@@ -42,11 +42,15 @@ public:
// read binary
void readBinary(std::string filename, Module& wasm,
std::string sourceMapFilename="");
- // read text or binary, checking the contents for what it is
+ // read text or binary, checking the contents for what it is. If `filename` is
+ // empty, read from stdin.
void read(std::string filename, Module& wasm,
std::string sourceMapFilename="");
// check whether a file is a wasm binary
bool isBinaryFile(std::string filename);
+
+private:
+ void readStdin(Module& wasm, std::string sourceMapFilename);
};
class ModuleWriter : public ModuleIO {
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h
index f0ed79409..07de235a2 100644
--- a/src/wasm-s-parser.h
+++ b/src/wasm-s-parser.h
@@ -152,6 +152,7 @@ private:
return stringToType(str.str, allowError, prefix);
}
Type stringToType(const char* str, bool allowError=false, bool prefix=false);
+ Type stringToLaneType(const char* str);
bool isType(cashew::IString str) {
return stringToType(str, true) != none;
}
diff --git a/src/wasm-type.h b/src/wasm-type.h
index 0b99fa53a..60253f6ab 100644
--- a/src/wasm-type.h
+++ b/src/wasm-type.h
@@ -17,6 +17,8 @@
#ifndef wasm_wasm_type_h
#define wasm_wasm_type_h
+#include "wasm-features.h"
+
namespace wasm {
enum Type {
@@ -33,6 +35,7 @@ enum Type {
const char* printType(Type type);
unsigned getTypeSize(Type type);
+FeatureSet getFeatures(Type type);
Type getType(unsigned size, bool float_);
Type getReachableType(Type a, Type b);
bool isConcreteType(Type type);
diff --git a/src/wasm.h b/src/wasm.h
index a16dab478..ab9d7c816 100644
--- a/src/wasm.h
+++ b/src/wasm.h
@@ -35,49 +35,10 @@
#include "mixed_arena.h"
#include "support/name.h"
#include "wasm-type.h"
+#include "wasm-features.h"
namespace wasm {
-struct FeatureSet {
- enum Feature : uint32_t {
- MVP = 0,
- Atomics = 1 << 0,
- MutableGlobals = 1 << 1,
- TruncSat = 1 << 2,
- SIMD = 1 << 3,
- BulkMemory = 1 << 4,
- All = Atomics | MutableGlobals | TruncSat | SIMD | BulkMemory
- };
-
- FeatureSet() : features(MVP) {}
- FeatureSet(uint32_t features) : features(features) {}
-
- bool isMVP() const { return features == MVP; }
- bool has(Feature f) { return (features & f) == f; }
- bool hasAtomics() const { return features & Atomics; }
- bool hasMutableGlobals() const { return features & MutableGlobals; }
- bool hasTruncSat() const { return features & TruncSat; }
- bool hasSIMD() const { return features & SIMD; }
- bool hasBulkMemory() const { return features & BulkMemory; }
- bool hasAll() const { return features & All; }
-
- void makeMVP() { features = MVP; }
- void set(Feature f, bool v = true) { features = v ? (features | f) : (features & ~f); }
- void setAtomics(bool v = true) { set(Atomics, v); }
- void setMutableGlobals(bool v = true) { set(MutableGlobals, v); }
- void setTruncSat(bool v = true) { set(TruncSat, v); }
- void setSIMD(bool v = true) { set(SIMD, v); }
- void setBulkMemory(bool v = true) { set(BulkMemory, v); }
- void setAll(bool v = true) { features = v ? All : MVP; }
-
- bool operator<=(const FeatureSet& other) {
- return !(features & ~other.features);
- }
-
-private:
- uint32_t features;
-};
-
// An index in a wasm module
typedef uint32_t Index;
@@ -114,7 +75,6 @@ enum UnaryOp {
PromoteFloat32, // f32 to f64
DemoteFloat64, // f64 to f32
ReinterpretInt32, ReinterpretInt64, // reinterpret bits to float
- // The following sign-extention operators go along with wasm atomics support.
// Extend signed subword-sized integer. This differs from e.g. ExtendSInt32
// because the input integer is in an i64 value insetad of an i32 value.
ExtendS8Int32, ExtendS16Int32, ExtendS8Int64, ExtendS16Int64, ExtendS32Int64,
@@ -268,7 +228,7 @@ public:
void finalize() {}
template<class T>
- bool is() {
+ bool is() const {
return int(_id) == int(T::SpecificId);
}
@@ -277,11 +237,22 @@ public:
return int(_id) == int(T::SpecificId) ? (T*)this : nullptr;
}
+ template <class T>
+ const T* dynCast() const {
+ return int(_id) == int(T::SpecificId) ? (const T*)this : nullptr;
+ }
+
template<class T>
T* cast() {
assert(int(_id) == int(T::SpecificId));
return (T*)this;
}
+
+ template<class T>
+ const T* cast() const {
+ assert(int(_id) == int(T::SpecificId));
+ return (const T*)this;
+ }
};
const char* getExpressionName(Expression* curr);
@@ -956,7 +927,7 @@ private:
std::map<Name, Global*> globalsMap;
public:
- Module() = default;;
+ Module() = default;
FunctionType* getFunctionType(Name name);
Export* getExport(Name name);
diff --git a/src/wasm/literal.cpp b/src/wasm/literal.cpp
index bc45f5834..b374566d1 100644
--- a/src/wasm/literal.cpp
+++ b/src/wasm/literal.cpp
@@ -243,7 +243,7 @@ std::ostream& operator<<(std::ostream& o, Literal literal) {
case Type::i64: o << literal.i64; break;
case Type::f32: literal.printFloat(o, literal.getf32()); break;
case Type::f64: literal.printDouble(o, literal.getf64()); break;
- case Type::v128: o << "i32 "; literal.printVec128(o, literal.getv128()); break;
+ case Type::v128: o << "i32x4 "; literal.printVec128(o, literal.getv128()); break;
case Type::unreachable: WASM_UNREACHABLE();
}
restoreNormalColor(o);
diff --git a/src/wasm/wasm-emscripten.cpp b/src/wasm/wasm-emscripten.cpp
index 390266d44..ea24b945d 100644
--- a/src/wasm/wasm-emscripten.cpp
+++ b/src/wasm/wasm-emscripten.cpp
@@ -47,10 +47,15 @@ void addExportedFunction(Module& wasm, Function* function) {
}
Global* EmscriptenGlueGenerator::getStackPointerGlobal() {
- // Assumption: first global is __stack_pointer
- // TODO(sbc): Once mutable globals are a thing we shouldn't need this
- // at all since we can simply export __stack_pointer.
- return wasm.globals[0].get();
+ // Assumption: The first non-imported global is global is __stack_pointer
+ // TODO(sbc): Find a better way to discover the stack pointer. Perhaps the
+ // linker could export it by name?
+ for (auto& g : wasm.globals) {
+ if (!g->imported()) {
+ return g.get();
+ }
+ }
+ Fatal() << "stack pointer global not found";
}
Expression* EmscriptenGlueGenerator::generateLoadStackPointer() {
@@ -157,6 +162,9 @@ Function* EmscriptenGlueGenerator::generateMemoryGrowthFunction() {
void EmscriptenGlueGenerator::generateStackInitialization(Address addr) {
auto* stackPointer = getStackPointerGlobal();
+ assert(!stackPointer->imported());
+ if (!stackPointer->init || !stackPointer->init->is<Const>())
+ Fatal() << "stack pointer global is not assignable";
stackPointer->init->cast<Const>()->value = Literal(int32_t(addr));
}
@@ -270,109 +278,6 @@ void EmscriptenGlueGenerator::replaceStackPointerGlobal() {
wasm.removeGlobal(stackPointer->name);
}
-struct JSCallWalker : public PostWalker<JSCallWalker> {
- Module &wasm;
- JSCallWalker(Module &_wasm) : wasm(_wasm) {
- if (wasm.table.segments.size() == 0) {
- auto emptySegment =
- wasm.allocator.alloc<Const>()->set(Literal(uint32_t(0)));
- wasm.table.segments.emplace_back(emptySegment);
- }
- const auto& tableSegmentData = wasm.table.segments[0].data;
-
- jsCallStartIndex =
- wasm.table.segments[0].offset->cast<Const>()->value.getInteger();
- // Check if jsCalls have already been created
- for (Index i = 0; i < tableSegmentData.size(); ++i) {
- if (tableSegmentData[i].startsWith("jsCall_")) {
- jsCallStartIndex += i;
- return;
- }
- }
- jsCallStartIndex += tableSegmentData.size();
- }
-
- // Gather all function signatures used in call_indirect, because any of them
- // can be used to call function pointers created by emscripten's addFunction.
- void visitCallIndirect(CallIndirect *curr) {
- // dynCall thunks are generated in binaryen and call_indirect instructions
- // within them cannot be used to call function pointers returned by
- // emscripten's addFunction.
- if (!getFunction()->name.startsWith("dynCall_")) {
- indirectlyCallableSigs.insert(
- getSig(wasm.getFunctionType(curr->fullType)));
- }
- }
-
- bool createJSCallThunks;
- Index jsCallStartIndex;
- // Function type signatures used in call_indirect instructions
- std::set<std::string> indirectlyCallableSigs;
-};
-
-JSCallWalker getJSCallWalker(Module& wasm) {
- JSCallWalker walker(wasm);
- walker.walkModule(&wasm);
- return walker;
-}
-
-void EmscriptenGlueGenerator::generateJSCallThunks(
- unsigned numReservedFunctionPointers) {
- if (numReservedFunctionPointers == 0)
- return;
-
- JSCallWalker walker = getJSCallWalker(wasm);
- auto& tableSegmentData = wasm.table.segments[0].data;
- unsigned numEntriesAdded = 0;
- for (std::string sig : walker.indirectlyCallableSigs) {
- // Add imports for jsCall_sig (e.g. jsCall_vi).
- // Imported jsCall_sig functions have their first parameter as an index to
- // the function table, so we should prepend an 'i' to parameters' signature
- // (e.g. If the signature of the callee is 'vi', the imported jsCall_vi
- // function would have signature 'vii'.)
- std::string importSig = std::string(1, sig[0]) + 'i' + sig.substr(1);
- FunctionType *importType = ensureFunctionType(importSig, &wasm);
- auto import = new Function;
- import->name = import->base = "jsCall_" + sig;
- import->module = ENV;
- import->type = importType->name;
- FunctionTypeUtils::fillFunction(import, importType);
- wasm.addFunction(import);
- FunctionType *funcType = ensureFunctionType(sig, &wasm);
-
- // Create jsCall_sig_index thunks (e.g. jsCall_vi_0, jsCall_vi_1, ...)
- // e.g. If # of reserved function pointers (given by a command line
- // argument) is 3 and there are two possible signature 'vi' and 'ii', the
- // genereated thunks will be jsCall_vi_0, jsCall_vi_1, jsCall_vi_2,
- // jsCall_ii_0, jsCall_ii_1, and jsCall_ii_2.
- for (unsigned fp = 0; fp < numReservedFunctionPointers; ++fp) {
- std::vector<NameType> params;
- int p = 0;
- for (const auto& ty : funcType->params) {
- params.emplace_back(std::to_string(p++), ty);
- }
- Function* f = builder.makeFunction(
- std::string("jsCall_") + sig + "_" + std::to_string(fp),
- std::move(params), funcType->result, {});
- std::vector<Expression*> args;
- args.push_back(builder.makeConst(Literal(fp)));
- for (unsigned i = 0; i < funcType->params.size(); ++i) {
- args.push_back(builder.makeGetLocal(i, funcType->params[i]));
- }
- Expression* call =
- builder.makeCall(import->name, args, funcType->result);
- f->body = call;
- wasm.addFunction(f);
- tableSegmentData.push_back(f->name);
- numEntriesAdded++;
- }
- }
- wasm.table.initial.addr += numEntriesAdded;
- if (wasm.table.max != Table::kUnlimitedSize) {
- wasm.table.max.addr += numEntriesAdded;
- }
-}
-
std::vector<Address> getSegmentOffsets(Module& wasm) {
std::vector<Address> segmentOffsets;
for (unsigned i = 0; i < wasm.memory.segments.size(); ++i) {
@@ -780,8 +685,7 @@ void printSet(std::ostream& o, C& c) {
}
std::string EmscriptenGlueGenerator::generateEmscriptenMetadata(
- Address staticBump, std::vector<Name> const& initializerFunctions,
- unsigned numReservedFunctionPointers) {
+ Address staticBump, std::vector<Name> const& initializerFunctions) {
bool commaFirst;
auto nextElement = [&commaFirst]() {
if (commaFirst) {
@@ -844,18 +748,6 @@ std::string EmscriptenGlueGenerator::generateEmscriptenMetadata(
meta << "\n ],\n";
}
- if (numReservedFunctionPointers) {
- JSCallWalker jsCallWalker = getJSCallWalker(wasm);
- meta << " \"jsCallStartIndex\": " << jsCallWalker.jsCallStartIndex << ",\n";
- meta << " \"jsCallFuncType\": [";
- commaFirst = true;
- for (std::string sig : jsCallWalker.indirectlyCallableSigs) {
- meta << nextElement();
- meta << "\"" << sig << "\"";
- }
- meta << "\n ],\n";
- }
-
// Avoid adding duplicate imports to `declares' or `invokeFuncs`. Even
// though we might import the same function multiple times (i.e. with
// different sigs) we only need to list is in the metadata once.
@@ -870,8 +762,7 @@ std::string EmscriptenGlueGenerator::generateEmscriptenMetadata(
ModuleUtils::iterImportedFunctions(wasm, [&](Function* import) {
if (emJsWalker.codeByName.count(import->base.str) == 0 &&
!import->base.startsWith(EMSCRIPTEN_ASM_CONST.str) &&
- !import->base.startsWith("invoke_") &&
- !import->base.startsWith("jsCall_")) {
+ !import->base.startsWith("invoke_")) {
if (declares.insert(import->base.str).second) {
meta << nextElement() << '"' << import->base.str << '"';
}
diff --git a/src/wasm/wasm-io.cpp b/src/wasm/wasm-io.cpp
index 95ffe6e89..057798d2e 100644
--- a/src/wasm/wasm-io.cpp
+++ b/src/wasm/wasm-io.cpp
@@ -30,18 +30,21 @@
namespace wasm {
-void ModuleReader::readText(std::string filename, Module& wasm) {
- if (debug) std::cerr << "reading text from " << filename << "\n";
- auto input(read_file<std::string>(filename, Flags::Text, debug ? Flags::Debug : Flags::Release));
+static void readTextData(std::string& input, Module& wasm) {
SExpressionParser parser(const_cast<char*>(input.c_str()));
Element& root = *parser.root;
SExpressionWasmBuilder builder(wasm, *root[0]);
+
}
-void ModuleReader::readBinary(std::string filename, Module& wasm,
- std::string sourceMapFilename) {
- if (debug) std::cerr << "reading binary from " << filename << "\n";
- auto input(read_file<std::vector<char>>(filename, Flags::Binary, debug ? Flags::Debug : Flags::Release));
+void ModuleReader::readText(std::string filename, Module& wasm) {
+ if (debug) std::cerr << "reading text from " << filename << "\n";
+ auto input(read_file<std::string>(filename, Flags::Text, debug ? Flags::Debug : Flags::Release));
+ readTextData(input, wasm);
+}
+
+static void readBinaryData(std::vector<char>& input, Module& wasm,
+ std::string sourceMapFilename, bool debug) {
std::unique_ptr<std::ifstream> sourceMapStream;
WasmBinaryBuilder parser(wasm, input, debug);
if (sourceMapFilename.size()) {
@@ -55,6 +58,13 @@ void ModuleReader::readBinary(std::string filename, Module& wasm,
}
}
+void ModuleReader::readBinary(std::string filename, Module& wasm,
+ std::string sourceMapFilename) {
+ if (debug) std::cerr << "reading binary from " << filename << "\n";
+ auto input(read_file<std::vector<char>>(filename, Flags::Binary, debug ? Flags::Debug : Flags::Release));
+ readBinaryData(input, wasm, sourceMapFilename, debug);
+}
+
bool ModuleReader::isBinaryFile(std::string filename) {
std::ifstream infile;
std::ios_base::openmode flags = std::ifstream::in | std::ifstream::binary;
@@ -67,6 +77,11 @@ bool ModuleReader::isBinaryFile(std::string filename) {
void ModuleReader::read(std::string filename, Module& wasm,
std::string sourceMapFilename) {
+ // empty filename means read from stdin
+ if (!filename.size()) {
+ readStdin(wasm, sourceMapFilename);
+ return;
+ }
if (isBinaryFile(filename)) {
readBinary(filename, wasm, sourceMapFilename);
} else {
@@ -78,6 +93,23 @@ void ModuleReader::read(std::string filename, Module& wasm,
}
}
+// TODO: reading into a vector<char> then copying into a string is unnecessarily
+// inefficient. It would be better to read just once into a stringstream.
+void ModuleReader::readStdin(Module& wasm, std::string sourceMapFilename) {
+ std::vector<char> input = read_stdin(debug ? Flags::Debug : Flags::Release);
+ if (input.size() >= 4 && input[0] == '\0' && input[1] == 'a' &&
+ input[2] == 's' && input[3] == 'm') {
+ readBinaryData(input, wasm, sourceMapFilename, debug);
+ } else {
+ std::ostringstream s;
+ s.write(input.data(), input.size());
+ s << '\0';
+ std::string input_str = s.str();
+ readTextData(input_str, wasm);
+ }
+}
+
+
void ModuleWriter::writeText(Module& wasm, Output& output) {
WasmPrinter::printModule(&wasm, output.getStream());
}
diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp
index 7fd4679b1..1067264f7 100644
--- a/src/wasm/wasm-s-parser.cpp
+++ b/src/wasm/wasm-s-parser.cpp
@@ -641,6 +641,16 @@ Type SExpressionWasmBuilder::stringToType(const char* str, bool allowError, bool
throw ParseException("invalid wasm type");
}
+Type SExpressionWasmBuilder::stringToLaneType(const char* str) {
+ if (strcmp(str, "i8x16") == 0) return i32;
+ if (strcmp(str, "i16x8") == 0) return i32;
+ if (strcmp(str, "i32x4") == 0) return i32;
+ if (strcmp(str, "i64x2") == 0) return i64;
+ if (strcmp(str, "f32x4") == 0) return f32;
+ if (strcmp(str, "f64x2") == 0) return f64;
+ return none;
+}
+
Function::DebugLocation SExpressionWasmBuilder::getDebugLocation(const SourceLocation& loc) {
IString file = loc.filename;
auto& debugInfoFileNames = wasm.debugInfoFileNames;
@@ -864,6 +874,20 @@ Expression* SExpressionWasmBuilder::makeThenOrElse(Element& s) {
return ret;
}
+template<int Lanes>
+static Literal makeLanes(Element& s, MixedArena& allocator, Type lane_t) {
+ std::array<Literal, Lanes> lanes;
+ for (size_t i = 0; i < Lanes; ++i) {
+ Expression* lane = parseConst(s[i+2]->str(), lane_t, allocator);
+ if (lane) {
+ lanes[i] = lane->cast<Const>()->value;
+ } else {
+ throw ParseException("Could not parse v128 lane");
+ }
+ }
+ return Literal(lanes);
+}
+
Expression* SExpressionWasmBuilder::makeConst(Element& s, Type type) {
if (type != v128) {
auto ret = parseConst(s[1]->str(), type, allocator);
@@ -872,57 +896,35 @@ Expression* SExpressionWasmBuilder::makeConst(Element& s, Type type) {
}
auto ret = allocator.alloc<Const>();
- auto getLiteral = [](Expression* expr) {
- if (expr == nullptr) {
- throw ParseException("Could not parse v128 lane");
- }
- return expr->cast<Const>()->value;
- };
- Type lane_t = stringToType(s[1]->str());
+ Type lane_t = stringToLaneType(s[1]->str().str);
size_t lanes = s.size() - 2;
switch (lanes) {
case 2: {
if (lane_t != i64 && lane_t != f64) {
throw ParseException("Unexpected v128 literal lane type");
}
- std::array<Literal, 2> lanes;
- for (size_t i = 0; i < 2; ++i) {
- lanes[i] = getLiteral(parseConst(s[i+2]->str(), lane_t, allocator));
- }
- ret->value = Literal(lanes);
+ ret->value = makeLanes<2>(s, allocator, lane_t);
break;
}
case 4: {
if (lane_t != i32 && lane_t != f32) {
throw ParseException("Unexpected v128 literal lane type");
}
- std::array<Literal, 4> lanes;
- for (size_t i = 0; i < 4; ++i) {
- lanes[i] = getLiteral(parseConst(s[i+2]->str(), lane_t, allocator));
- }
- ret->value = Literal(lanes);
+ ret->value = makeLanes<4>(s, allocator, lane_t);
break;
}
case 8: {
if (lane_t != i32) {
throw ParseException("Unexpected v128 literal lane type");
}
- std::array<Literal, 8> lanes;
- for (size_t i = 0; i < 8; ++i) {
- lanes[i] = getLiteral(parseConst(s[i+2]->str(), lane_t, allocator));
- }
- ret->value = Literal(lanes);
+ ret->value = makeLanes<8>(s, allocator, lane_t);
break;
}
case 16: {
if (lane_t != i32) {
throw ParseException("Unexpected v128 literal lane type");
}
- std::array<Literal, 16> lanes;
- for (size_t i = 0; i < 16; ++i) {
- lanes[i] = getLiteral(parseConst(s[i+2]->str(), lane_t, allocator));
- }
- ret->value = Literal(lanes);
+ ret->value = makeLanes<16>(s, allocator, lane_t);
break;
}
default: throw ParseException("Unexpected number of lanes in v128 literal");
diff --git a/src/wasm/wasm-type.cpp b/src/wasm/wasm-type.cpp
index f9371ffab..fc393ed98 100644
--- a/src/wasm/wasm-type.cpp
+++ b/src/wasm/wasm-type.cpp
@@ -15,6 +15,7 @@
*/
#include "wasm-type.h"
+#include "wasm-features.h"
#include <cstdlib>
#include "compiler-support.h"
@@ -47,6 +48,13 @@ unsigned getTypeSize(Type type) {
WASM_UNREACHABLE();
}
+FeatureSet getFeatures(Type type) {
+ if (type == v128) {
+ return FeatureSet::SIMD;
+ }
+ return FeatureSet();
+}
+
Type getType(unsigned size, bool float_) {
if (size < 4) return Type::i32;
if (size == 4) return float_ ? Type::f32 : Type::i32;
diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp
index 84a0efbff..91e7e7398 100644
--- a/src/wasm/wasm-validator.cpp
+++ b/src/wasm/wasm-validator.cpp
@@ -1081,12 +1081,17 @@ void FunctionValidator::visitHost(Host* curr) {
}
void FunctionValidator::visitFunction(Function* curr) {
+ FeatureSet typeFeatures = getFeatures(curr->result);
for (auto type : curr->params) {
+ typeFeatures |= getFeatures(type);
shouldBeTrue(isConcreteType(type), curr, "params must be concretely typed");
}
for (auto type : curr->vars) {
+ typeFeatures |= getFeatures(type);
shouldBeTrue(isConcreteType(type), curr, "vars must be concretely typed");
}
+ shouldBeTrue(typeFeatures <= info.features, curr,
+ "all used types should be allowed");
// if function has no result, it is ignored
// if body is unreachable, it might be e.g. a return
if (curr->body->type != unreachable) {
diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp
index c12481760..c99bb0994 100644
--- a/src/wasm/wasm.cpp
+++ b/src/wasm/wasm.cpp
@@ -32,6 +32,7 @@ const char* SourceMapUrl = "sourceMappingURL";
const char* Dylink = "dylink";
const char* Linking = "linking";
const char* Producers = "producers";
+const char* TargetFeatures = "target_features";
}
}
diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt
index ae9e90509..83e3eee20 100644
--- a/test/binaryen.js/kitchen-sink.js.txt
+++ b/test/binaryen.js/kitchen-sink.js.txt
@@ -322,137 +322,137 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
)
(drop
(v128.not
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.abs
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.sqrt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.abs
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.sqrt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.trunc_sat_f32x4_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.trunc_sat_f32x4_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.trunc_sat_f64x2_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.trunc_sat_f64x2_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.convert_i32x4_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.convert_i32x4_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.convert_i64x2_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.convert_i64x2_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
@@ -649,610 +649,610 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
)
(drop
(i8x16.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.lt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.gt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.le
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.ge
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.ge
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.lt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.gt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.le
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.ge
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
(
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
(
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
(drop
(i8x16.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.div
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.min
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.max
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.div
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.min
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.max
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.extract_lane_s 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.extract_lane_u 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.extract_lane_s 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.extract_lane_u 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.extract_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.extract_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.extract_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.extract_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.replace_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i8x16.replace_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i32x4.replace_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i64x2.replace_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i64.const 184683593770)
)
)
(drop
(f32x4.replace_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(f32.const 42)
)
)
(drop
(f64x2.replace_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(f64.const 42)
)
)
(drop
(i8x16.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i8x16.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i8x16.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(v8x16.shuffle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.bitselect
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(memory.init 0
@@ -3644,137 +3644,137 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
)
(drop
(v128.not
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.abs
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.sqrt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.abs
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.sqrt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.trunc_sat_f32x4_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.trunc_sat_f32x4_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.trunc_sat_f64x2_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.trunc_sat_f64x2_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.convert_i32x4_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.convert_i32x4_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.convert_i64x2_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.convert_i64x2_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
@@ -3971,610 +3971,610 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
)
(drop
(i8x16.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.lt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.gt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.le
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.ge
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.ge
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.lt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.gt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.le
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.ge
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
(
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
(
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
(drop
(i8x16.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.div
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.min
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.max
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.div
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.min
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.max
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.extract_lane_s 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.extract_lane_u 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.extract_lane_s 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.extract_lane_u 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.extract_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.extract_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.extract_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.extract_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.replace_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i8x16.replace_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i32x4.replace_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i64x2.replace_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i64.const 184683593770)
)
)
(drop
(f32x4.replace_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(f32.const 42)
)
)
(drop
(f64x2.replace_lane 1
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(f64.const 42)
)
)
(drop
(i8x16.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i8x16.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i8x16.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(v8x16.shuffle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.bitselect
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(memory.init 0
diff --git a/test/binaryen.js/simd.js b/test/binaryen.js/simd.js
new file mode 100644
index 000000000..a6055a267
--- /dev/null
+++ b/test/binaryen.js/simd.js
@@ -0,0 +1,5 @@
+var module = new Binaryen.Module();
+
+var expr = module.v128.const([1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0]);
+var info = Binaryen.getExpressionInfo(expr);
+console.log("v128.const i8x16 0x" + info.value.map(b => b.toString(16)).join(" 0x"));
diff --git a/test/binaryen.js/simd.js.txt b/test/binaryen.js/simd.js.txt
new file mode 100644
index 000000000..d4facdde5
--- /dev/null
+++ b/test/binaryen.js/simd.js.txt
@@ -0,0 +1 @@
+v128.const i8x16 0x1 0x0 0x0 0x0 0x2 0x0 0x0 0x0 0x3 0x0 0x0 0x0 0x4 0x0 0x0 0x0
diff --git a/test/crash/__init__.py b/test/crash/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/crash/__init__.py
diff --git a/test/crash/test_features.py b/test/crash/test_features.py
new file mode 100644
index 000000000..87521d4c0
--- /dev/null
+++ b/test/crash/test_features.py
@@ -0,0 +1,18 @@
+import unittest
+from scripts.test.shared import WASM_OPT, run_process
+
+
+class FeatureValidationTest(unittest.TestCase):
+ def test_simd_type(self):
+ module = """
+ (module
+ (func $foo (param $0 v128) (result v128)
+ (local.get $0)
+ )
+ )
+ """
+ p = run_process(WASM_OPT + ['--mvp-features', '--print'],
+ input=module, check=False, capture_output=True)
+ self.assertIn("all used types should be allowed", p.stderr)
+ self.assertIn("Fatal: error in validating input", p.stderr)
+ self.assertNotEqual(p.returncode, 0)
diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt
index 7faee9cd6..0f8775092 100644
--- a/test/example/c-api-kitchen-sink.txt
+++ b/test/example/c-api-kitchen-sink.txt
@@ -282,137 +282,137 @@ BinaryenTypeAuto: -1
)
(drop
(v128.not
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.abs
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.sqrt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.abs
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.sqrt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.trunc_sat_f32x4_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.trunc_sat_f32x4_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.trunc_sat_f64x2_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.trunc_sat_f64x2_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.convert_i32x4_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.convert_i32x4_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.convert_i64x2_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.convert_i64x2_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
@@ -609,619 +609,619 @@ BinaryenTypeAuto: -1
)
(drop
(i8x16.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.lt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.gt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.le
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.ge
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.lt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.gt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.le
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.ge
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.and
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.or
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.xor
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.div
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.min
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.max
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.div
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.min
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.max
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.extract_lane_s 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.extract_lane_u 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.extract_lane_s 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.extract_lane_u 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.extract_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.extract_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.extract_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.extract_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i16x8.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i32x4.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i64x2.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i64.const 42)
)
)
(drop
(f32x4.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(f32.const 42)
)
)
(drop
(f64x2.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(f64.const 42)
)
)
(drop
(i8x16.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i8x16.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i8x16.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(v8x16.shuffle 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.bitselect
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(memory.init 0
@@ -3583,137 +3583,137 @@ int main() {
)
(drop
(v128.not
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.abs
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.sqrt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.abs
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.sqrt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.trunc_sat_f32x4_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.trunc_sat_f32x4_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.trunc_sat_f64x2_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.trunc_sat_f64x2_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.convert_i32x4_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.convert_i32x4_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.convert_i64x2_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.convert_i64x2_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
@@ -3910,619 +3910,619 @@ int main() {
)
(drop
(i8x16.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.lt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.gt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.le
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.ge
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.lt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.gt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.le
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.ge
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.and
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.or
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.xor
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.div
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.min
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.max
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.div
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.min
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.max
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.extract_lane_s 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.extract_lane_u 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.extract_lane_s 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.extract_lane_u 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.extract_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.extract_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.extract_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.extract_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i16x8.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i32x4.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i64x2.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i64.const 42)
)
)
(drop
(f32x4.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(f32.const 42)
)
)
(drop
(f64x2.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(f64.const 42)
)
)
(drop
(i8x16.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i8x16.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i8x16.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(v8x16.shuffle 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.bitselect
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(memory.init 0
diff --git a/test/example/c-api-kitchen-sink.txt.txt b/test/example/c-api-kitchen-sink.txt.txt
index 443aa4d88..b7caa1bad 100644
--- a/test/example/c-api-kitchen-sink.txt.txt
+++ b/test/example/c-api-kitchen-sink.txt.txt
@@ -274,137 +274,137 @@
)
(drop
(v128.not
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.any_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.all_true
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.abs
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.sqrt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.abs
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.neg
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.sqrt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.trunc_sat_f32x4_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.trunc_sat_f32x4_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.trunc_sat_f64x2_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.trunc_sat_f64x2_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.convert_i32x4_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.convert_i32x4_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.convert_i64x2_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.convert_i64x2_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
@@ -601,619 +601,619 @@
)
(drop
(i8x16.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.lt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.lt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.gt_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.gt_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.le_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.le_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ge_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.ge_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.lt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.gt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.le
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.ge
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.eq
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.ne
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.lt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.gt
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.le
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.ge
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.and
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.or
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.xor
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.add_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.sub_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.add_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub_saturate_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.sub_saturate_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.div
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.min
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.max
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.add
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.sub
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.mul
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.div
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.min
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.max
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.extract_lane_s 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.extract_lane_u 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.extract_lane_s 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i16x8.extract_lane_u 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i32x4.extract_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i64x2.extract_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f32x4.extract_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(f64x2.extract_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(i8x16.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i16x8.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i32x4.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 42)
)
)
(drop
(i64x2.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i64.const 42)
)
)
(drop
(f32x4.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(f32.const 42)
)
)
(drop
(f64x2.replace_lane 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(f64.const 42)
)
)
(drop
(i8x16.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i8x16.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i8x16.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i16x8.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i32x4.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shl
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shr_s
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(i64x2.shr_u
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
(i32.const 1)
)
)
(drop
(v8x16.shuffle 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(drop
(v128.bitselect
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
- (v128.const i32 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
(memory.init 0
diff --git a/test/lld/reserved_func_ptr.wast.jscall.out b/test/lld/reserved_func_ptr.wast.jscall.out
deleted file mode 100644
index e176ba231..000000000
--- a/test/lld/reserved_func_ptr.wast.jscall.out
+++ /dev/null
@@ -1,359 +0,0 @@
-(module
- (type $0 (func))
- (type $1 (func (param i32)))
- (type $2 (func (param i32 i32) (result i32)))
- (type $3 (func (param f32 f32 i32) (result f32)))
- (type $4 (func (param f64 i32) (result f64)))
- (type $5 (func (param i32 i32 i32)))
- (type $6 (func (param i32) (result i32)))
- (type $FUNCSIG$ii (func (param i32) (result i32)))
- (type $FUNCSIG$viii (func (param i32 i32 i32)))
- (type $FUNCSIG$didi (func (param i32 f64 i32) (result f64)))
- (type $FUNCSIG$ddi (func (param f64 i32) (result f64)))
- (type $FUNCSIG$fiffi (func (param i32 f32 f32 i32) (result f32)))
- (type $FUNCSIG$fffi (func (param f32 f32 i32) (result f32)))
- (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
- (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
- (type $FUNCSIG$vi (func (param i32)))
- (type $FUNCSIG$v (func))
- (type $FUNCSIG$vii (func (param i32 i32)))
- (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
- (type $legaltype$jsCall_fffi (func (param i32 f64 f64 i32) (result f64)))
- (import "env" "_Z4atoiPKc" (func $_Z4atoiPKc (param i32) (result i32)))
- (import "env" "jsCall_ddi" (func $jsCall_ddi (param i32 f64 i32) (result f64)))
- (import "env" "jsCall_iii" (func $jsCall_iii (param i32 i32 i32) (result i32)))
- (import "env" "jsCall_v" (func $jsCall_v (param i32)))
- (import "env" "jsCall_vi" (func $jsCall_vi (param i32 i32)))
- (import "env" "jsCall_viii" (func $jsCall_viii (param i32 i32 i32 i32)))
- (import "env" "jsCall_fffi" (func $legalimport$jsCall_fffi (param i32 f64 f64 i32) (result f64)))
- (memory $0 2)
- (table $0 21 21 funcref)
- (elem (i32.const 1) $_Z18address_taken_funciii $_Z19address_taken_func2iii $jsCall_ddi_0 $jsCall_ddi_1 $jsCall_ddi_2 $jsCall_fffi_0 $jsCall_fffi_1 $jsCall_fffi_2 $jsCall_iii_0 $jsCall_iii_1 $jsCall_iii_2 $jsCall_v_0 $jsCall_v_1 $jsCall_v_2 $jsCall_vi_0 $jsCall_vi_1 $jsCall_vi_2 $jsCall_viii_0 $jsCall_viii_1 $jsCall_viii_2)
- (global $global$0 (mut i32) (i32.const 16384))
- (global $global$1 i32 (i32.const 66112))
- (global $global$2 i32 (i32.const 568))
- (export "memory" (memory $0))
- (export "__post_instantiate" (func $__wasm_call_ctors))
- (export "main" (func $main))
- (export "__heap_base" (global $global$1))
- (export "__data_end" (global $global$2))
- (export "stackSave" (func $stackSave))
- (export "stackAlloc" (func $stackAlloc))
- (export "stackRestore" (func $stackRestore))
- (export "__growWasmMemory" (func $__growWasmMemory))
- (export "dynCall_viii" (func $dynCall_viii))
- (func $_Z18address_taken_funciii (; 7 ;) (type $5) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32)
- (nop)
- )
- (func $_Z19address_taken_func2iii (; 8 ;) (type $5) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32)
- (nop)
- )
- (func $main (; 9 ;) (type $2) (param $var$0 i32) (param $var$1 i32) (result i32)
- (local $var$2 i32)
- (local $var$3 i32)
- (local $var$4 i32)
- (local $var$5 i32)
- (local.set $var$2
- (call $_Z4atoiPKc
- (i32.load offset=4
- (local.get $var$1)
- )
- )
- )
- (local.set $var$3
- (call $_Z4atoiPKc
- (i32.load offset=8
- (local.get $var$1)
- )
- )
- )
- (local.set $var$4
- (call $_Z4atoiPKc
- (i32.load offset=12
- (local.get $var$1)
- )
- )
- )
- (local.set $var$5
- (call $_Z4atoiPKc
- (i32.load offset=16
- (local.get $var$1)
- )
- )
- )
- (local.set $var$1
- (call $_Z4atoiPKc
- (i32.load offset=20
- (local.get $var$1)
- )
- )
- )
- (call_indirect (type $0)
- (local.get $var$2)
- )
- (call_indirect (type $1)
- (i32.const 3)
- (local.get $var$3)
- )
- (drop
- (call_indirect (type $2)
- (i32.const 4)
- (i32.const 5)
- (local.get $var$4)
- )
- )
- (drop
- (call_indirect (type $3)
- (f32.const 3.0999999046325684)
- (f32.const 4.199999809265137)
- (i32.const 5)
- (local.get $var$5)
- )
- )
- (drop
- (call_indirect (type $4)
- (f64.const 4.2)
- (i32.const 5)
- (local.get $var$1)
- )
- )
- (call_indirect (type $5)
- (i32.const 1)
- (i32.const 2)
- (i32.const 3)
- (select
- (i32.const 1)
- (i32.const 2)
- (i32.gt_s
- (local.get $var$0)
- (i32.const 3)
- )
- )
- )
- (i32.const 0)
- )
- (func $__wasm_call_ctors (; 10 ;) (type $0)
- (nop)
- )
- (func $stackSave (; 11 ;) (result i32)
- (global.get $global$0)
- )
- (func $stackAlloc (; 12 ;) (param $0 i32) (result i32)
- (local $1 i32)
- (global.set $global$0
- (local.tee $1
- (i32.and
- (i32.sub
- (global.get $global$0)
- (local.get $0)
- )
- (i32.const -16)
- )
- )
- )
- (local.get $1)
- )
- (func $stackRestore (; 13 ;) (param $0 i32)
- (global.set $global$0
- (local.get $0)
- )
- )
- (func $__growWasmMemory (; 14 ;) (param $newSize i32) (result i32)
- (grow_memory
- (local.get $newSize)
- )
- )
- (func $dynCall_viii (; 15 ;) (param $fptr i32) (param $0 i32) (param $1 i32) (param $2 i32)
- (call_indirect (type $FUNCSIG$viii)
- (local.get $0)
- (local.get $1)
- (local.get $2)
- (local.get $fptr)
- )
- )
- (func $jsCall_ddi_0 (; 16 ;) (param $0 f64) (param $1 i32) (result f64)
- (call $jsCall_ddi
- (i32.const 0)
- (local.get $0)
- (local.get $1)
- )
- )
- (func $jsCall_ddi_1 (; 17 ;) (param $0 f64) (param $1 i32) (result f64)
- (call $jsCall_ddi
- (i32.const 1)
- (local.get $0)
- (local.get $1)
- )
- )
- (func $jsCall_ddi_2 (; 18 ;) (param $0 f64) (param $1 i32) (result f64)
- (call $jsCall_ddi
- (i32.const 2)
- (local.get $0)
- (local.get $1)
- )
- )
- (func $jsCall_fffi_0 (; 19 ;) (param $0 f32) (param $1 f32) (param $2 i32) (result f32)
- (call $legalfunc$jsCall_fffi
- (i32.const 0)
- (local.get $0)
- (local.get $1)
- (local.get $2)
- )
- )
- (func $jsCall_fffi_1 (; 20 ;) (param $0 f32) (param $1 f32) (param $2 i32) (result f32)
- (call $legalfunc$jsCall_fffi
- (i32.const 1)
- (local.get $0)
- (local.get $1)
- (local.get $2)
- )
- )
- (func $jsCall_fffi_2 (; 21 ;) (param $0 f32) (param $1 f32) (param $2 i32) (result f32)
- (call $legalfunc$jsCall_fffi
- (i32.const 2)
- (local.get $0)
- (local.get $1)
- (local.get $2)
- )
- )
- (func $jsCall_iii_0 (; 22 ;) (param $0 i32) (param $1 i32) (result i32)
- (call $jsCall_iii
- (i32.const 0)
- (local.get $0)
- (local.get $1)
- )
- )
- (func $jsCall_iii_1 (; 23 ;) (param $0 i32) (param $1 i32) (result i32)
- (call $jsCall_iii
- (i32.const 1)
- (local.get $0)
- (local.get $1)
- )
- )
- (func $jsCall_iii_2 (; 24 ;) (param $0 i32) (param $1 i32) (result i32)
- (call $jsCall_iii
- (i32.const 2)
- (local.get $0)
- (local.get $1)
- )
- )
- (func $jsCall_v_0 (; 25 ;)
- (call $jsCall_v
- (i32.const 0)
- )
- )
- (func $jsCall_v_1 (; 26 ;)
- (call $jsCall_v
- (i32.const 1)
- )
- )
- (func $jsCall_v_2 (; 27 ;)
- (call $jsCall_v
- (i32.const 2)
- )
- )
- (func $jsCall_vi_0 (; 28 ;) (param $0 i32)
- (call $jsCall_vi
- (i32.const 0)
- (local.get $0)
- )
- )
- (func $jsCall_vi_1 (; 29 ;) (param $0 i32)
- (call $jsCall_vi
- (i32.const 1)
- (local.get $0)
- )
- )
- (func $jsCall_vi_2 (; 30 ;) (param $0 i32)
- (call $jsCall_vi
- (i32.const 2)
- (local.get $0)
- )
- )
- (func $jsCall_viii_0 (; 31 ;) (param $0 i32) (param $1 i32) (param $2 i32)
- (call $jsCall_viii
- (i32.const 0)
- (local.get $0)
- (local.get $1)
- (local.get $2)
- )
- )
- (func $jsCall_viii_1 (; 32 ;) (param $0 i32) (param $1 i32) (param $2 i32)
- (call $jsCall_viii
- (i32.const 1)
- (local.get $0)
- (local.get $1)
- (local.get $2)
- )
- )
- (func $jsCall_viii_2 (; 33 ;) (param $0 i32) (param $1 i32) (param $2 i32)
- (call $jsCall_viii
- (i32.const 2)
- (local.get $0)
- (local.get $1)
- (local.get $2)
- )
- )
- (func $legalfunc$jsCall_fffi (; 34 ;) (param $0 i32) (param $1 f32) (param $2 f32) (param $3 i32) (result f32)
- (f32.demote_f64
- (call $legalimport$jsCall_fffi
- (local.get $0)
- (f64.promote_f32
- (local.get $1)
- )
- (f64.promote_f32
- (local.get $2)
- )
- (local.get $3)
- )
- )
- )
-)
-(;
---BEGIN METADATA --
-{
- "staticBump": 0,
- "tableSize": 21,
- "initializers": [
- "__post_instantiate"
- ],
- "jsCallStartIndex": 3,
- "jsCallFuncType": [
- "ddi",
- "fffi",
- "iii",
- "v",
- "vi",
- "viii"
- ],
- "declares": [
- "_Z4atoiPKc"
- ],
- "externs": [
- ],
- "implementedFunctions": [
- "___post_instantiate",
- "_main",
- "_stackSave",
- "_stackAlloc",
- "_stackRestore",
- "___growWasmMemory",
- "_dynCall_viii"
- ],
- "exports": [
- "memory",
- "__post_instantiate",
- "main",
- "__heap_base",
- "__data_end",
- "stackSave",
- "stackAlloc",
- "stackRestore",
- "__growWasmMemory",
- "dynCall_viii"
- ],
- "invokeFuncs": [
- ]
-}
--- END METADATA --
-;)
diff --git a/test/passes/O3_low-memory-unused_metrics.txt b/test/passes/O3_low-memory-unused_metrics.txt
index 0978d3715..86a686570 100644
--- a/test/passes/O3_low-memory-unused_metrics.txt
+++ b/test/passes/O3_low-memory-unused_metrics.txt
@@ -1,30 +1,44 @@
total
+ [exports] : 1
[funcs] : 1
- [imports] : 2
- [total] : 1601
- [vars] : 13
- binary : 213
- block : 77
- break : 100
+ [imports] : 10
+ [memory-data] : 0
+ [table-data] : 0
+ [total] : 1965
+ [vars] : 9
+ binary : 241
+ block : 68
+ break : 90
+ call : 22
call_indirect : 1
- const : 162
- drop : 16
- if : 35
- load : 230
- local.get : 449
- local.set : 173
- loop : 6
- return : 4
- select : 10
- store : 86
- unary : 23
- unreachable : 16
+ const : 176
+ drop : 8
+ if : 27
+ load : 313
+ local.get : 633
+ local.set : 181
+ loop : 3
+ return : 3
+ select : 11
+ store : 160
+ unary : 28
(module
- (type $2 (func (param i32 i32) (result i32)))
- (import "env" "memory" (memory $0 256 256))
- (import "env" "__indirect_function_table" (table $0 10 funcref))
- (export "deflate" (func $deflate))
- (func $deflate (; 0 ;) (; has Stack IR ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
+ (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
+ (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
+ (type $FUNCSIG$vi (func (param i32)))
+ (import "env" "memory" (memory $0 4096 4096))
+ (import "env" "table" (table $0 10 funcref))
+ (import "env" "crc32" (func $fimport$14 (param i32 i32 i32) (result i32)))
+ (import "env" "adler32" (func $fimport$15 (param i32 i32 i32) (result i32)))
+ (import "env" "deflate_huff" (func $fimport$20 (param i32 i32) (result i32)))
+ (import "env" "deflate_rle" (func $fimport$21 (param i32 i32) (result i32)))
+ (import "env" "_tr_stored_block" (func $fimport$29 (param i32 i32 i32 i32)))
+ (import "env" "_tr_align" (func $fimport$30 (param i32)))
+ (import "env" "memset" (func $fimport$97 (param i32 i32 i32) (result i32)))
+ (import "env" "memcpy" (func $fimport$98 (param i32 i32 i32) (result i32)))
+ (export "deflate" (func $0))
+ (func $0 (; 8 ;) (; has Stack IR ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@@ -34,867 +48,1366 @@ total
(local $8 i32)
(local $9 i32)
(local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
(local.set $3
(i32.const -2)
)
- (block $folding-inner5
- (block $folding-inner4
- (block $folding-inner3
- (block $folding-inner2
- (block $folding-inner1
- (block $folding-inner0
- (block $label$1
- (br_if $label$1
- (i32.eqz
- (local.get $0)
- )
- )
- (br_if $label$1
- (i32.gt_u
- (local.get $1)
- (i32.const 5)
- )
- )
- (br_if $label$1
- (i32.eqz
- (local.tee $2
- (i32.load offset=28
- (local.get $0)
- )
- )
- )
- )
- (block $label$2
- (block $label$3
- (br_if $label$3
- (i32.eqz
- (i32.load offset=12
- (local.get $0)
- )
- )
- )
- (if
- (i32.eqz
- (i32.load
- (local.get $0)
- )
- )
- (br_if $label$3
- (i32.load offset=4
- (local.get $0)
- )
- )
- )
- (local.set $3
- (i32.load offset=4
- (local.get $2)
- )
- )
- (br_if $label$2
- (i32.eq
- (local.get $1)
- (i32.const 4)
- )
- )
- (br_if $label$2
- (i32.ne
- (local.get $3)
- (i32.const 666)
- )
- )
- )
- (i32.store offset=24
- (local.get $0)
- (i32.load
- (i32.const 15792)
- )
- )
- (return
- (i32.const -2)
- )
- )
- (br_if $folding-inner0
- (i32.eqz
- (i32.load offset=16
- (local.get $0)
- )
- )
- )
- (i32.store
- (local.get $2)
+ (block $folding-inner1
+ (block $folding-inner0
+ (block $label$1
+ (br_if $label$1
+ (i32.eqz
+ (local.get $0)
+ )
+ )
+ (br_if $label$1
+ (i32.gt_u
+ (local.get $1)
+ (i32.const 5)
+ )
+ )
+ (br_if $label$1
+ (i32.eqz
+ (local.tee $2
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (block $label$2
+ (block $label$3
+ (br_if $label$3
+ (i32.eqz
+ (i32.load offset=12
(local.get $0)
)
- (local.set $14
- (i32.load offset=40
- (local.get $2)
- )
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.load
+ (local.get $0)
)
- (i32.store offset=40
- (local.get $2)
- (local.get $1)
+ )
+ (br_if $label$3
+ (i32.load offset=4
+ (local.get $0)
)
- (if
- (i32.eq
- (local.get $3)
- (i32.const 42)
- )
- (block
- (if
- (i32.eq
- (i32.load offset=24
- (local.get $2)
- )
- (i32.const 2)
- )
- (unreachable)
- )
- (local.set $4
- (i32.add
- (i32.shl
- (i32.load offset=48
- (local.get $2)
- )
- (i32.const 12)
- )
- (i32.const -30720)
- )
- )
- (local.set $3
- (i32.const 0)
- )
- (block $label$24
- (br_if $label$24
- (i32.gt_s
- (i32.load offset=136
- (local.get $2)
- )
- (i32.const 1)
- )
- )
- (br_if $label$24
- (i32.lt_s
- (local.tee $6
- (i32.load offset=132
- (local.get $2)
- )
- )
- (i32.const 2)
- )
- )
- (local.set $3
- (i32.const 64)
- )
- (br_if $label$24
- (i32.lt_s
- (local.get $6)
- (i32.const 6)
- )
- )
- (local.set $3
- (select
- (i32.const 128)
- (i32.const 192)
- (i32.eq
- (local.get $6)
- (i32.const 6)
- )
- )
- )
- )
- (i32.store offset=4
- (local.get $2)
- (i32.const 113)
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $9
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $9)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (i32.shr_u
- (local.tee $3
- (select
- (i32.or
- (local.tee $3
- (i32.or
+ )
+ )
+ (local.set $3
+ (i32.load offset=4
+ (local.get $2)
+ )
+ )
+ (br_if $label$2
+ (i32.eq
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (br_if $label$2
+ (i32.ne
+ (local.get $3)
+ (i32.const 666)
+ )
+ )
+ )
+ (i32.store offset=24
+ (local.get $0)
+ (i32.load
+ (i32.const 16992)
+ )
+ )
+ (return
+ (i32.const -2)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (br $folding-inner0)
+ )
+ (i32.store
+ (local.get $2)
+ (local.get $0)
+ )
+ (local.set $7
+ (i32.load offset=40
+ (local.get $2)
+ )
+ )
+ (i32.store offset=40
+ (local.get $2)
+ (local.get $1)
+ )
+ (block $label$6
+ (block $label$7
+ (block $label$8
+ (block $label$9
+ (block $label$10
+ (block $label$11
+ (block $label$12
+ (block $label$13
+ (block $label$14
+ (block $label$15
+ (block $label$16
+ (if
+ (i32.eq
(local.get $3)
- (local.get $4)
+ (i32.const 42)
)
- )
- (i32.const 32)
- )
- (local.get $3)
- (i32.load offset=108
- (local.get $2)
- )
- )
- )
- (i32.const 8)
- )
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $4
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $4)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (i32.xor
- (i32.or
- (i32.rem_u
- (local.get $3)
- (i32.const 31)
- )
- (local.get $3)
- )
- (i32.const 31)
- )
- )
- (if
- (i32.load offset=108
- (local.get $2)
- )
- (block
- (local.set $9
- (i32.load offset=48
- (local.get $0)
- )
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $7
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $7)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (i32.shr_u
- (local.get $9)
- (i32.const 24)
- )
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $7
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $7)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (i32.shr_u
- (local.get $9)
- (i32.const 16)
- )
- )
- (local.set $9
- (i32.load offset=48
- (local.get $0)
- )
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $7
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $7)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (i32.shr_u
- (local.get $9)
- (i32.const 8)
- )
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $7
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $7)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (local.get $9)
- )
- )
- )
- (unreachable)
- )
- )
- (block $label$6
- (block $label$7
- (block $label$8
- (block $label$9
- (block $label$10
- (block $label$11
- (block $label$12
- (block $label$13
- (block $label$14
+ (block
(if
(i32.eq
- (local.get $3)
- (i32.const 69)
+ (i32.load offset=24
+ (local.get $2)
+ )
+ (i32.const 2)
)
(block
- (block $label$26
- (if
- (i32.load offset=16
- (local.tee $4
- (i32.load offset=28
- (local.get $2)
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $3)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.const 31)
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $3)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.const 139)
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $3)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.const 8)
+ )
+ (if
+ (i32.eqz
+ (local.tee $3
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ (block
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
+ )
)
+ (i32.const 1)
)
)
- (block
- (local.set $3
- (i32.load offset=20
+ (i32.store8
+ (i32.add
+ (local.get $3)
+ (i32.load offset=8
(local.get $2)
)
)
- (br_if $label$26
- (i32.ge_u
- (local.tee $6
- (i32.load offset=32
- (local.get $2)
- )
+ (i32.const 0)
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
)
- (i32.load16_u offset=20
- (local.get $4)
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $3)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
)
)
+ (i32.const 1)
)
- (local.set $9
- (local.get $0)
+ )
+ (i32.store8
+ (i32.add
+ (local.get $3)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
)
- (local.set $13
- (local.tee $10
+ )
+ (i32.store8
+ (i32.add
+ (local.get $3)
+ (i32.load offset=8
(local.get $2)
)
)
- (local.set $5
+ (i32.const 0)
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
(local.get $3)
+ (i32.load offset=8
+ (local.get $2)
+ )
)
- (loop $label$28
- (if
- (i32.eq
- (i32.load offset=12
- (local.get $10)
- )
- (local.get $3)
+ (i32.const 0)
+ )
+ (local.set $3
+ (i32.const 2)
+ )
+ (if
+ (i32.ne
+ (local.tee $4
+ (i32.load offset=132
+ (local.get $2)
)
- (block
- (block $label$30
- (br_if $label$30
- (i32.le_u
- (local.get $3)
- (local.get $5)
- )
- )
- (br_if $label$30
- (i32.eqz
- (i32.load offset=44
- (local.get $4)
- )
- )
- )
- (drop
- (i32.load offset=48
- (local.get $9)
- )
- )
- (drop
- (i32.load offset=8
- (local.get $13)
- )
- )
- (unreachable)
- )
- (if
- (select
- (local.tee $3
- (i32.load offset=16
- (local.get $0)
- )
- )
- (local.tee $4
- (i32.load offset=20
- (local.tee $6
- (i32.load offset=28
- (local.get $0)
- )
- )
- )
- )
- (i32.gt_u
- (local.get $4)
- (local.get $3)
- )
- )
- (block
- (drop
- (i32.load offset=12
- (local.get $0)
- )
- )
- (drop
- (i32.load offset=16
- (local.get $6)
- )
- )
- (unreachable)
- )
- )
- (local.set $4
- (i32.load offset=28
- (local.get $2)
- )
- )
- (br_if $label$26
- (i32.eq
- (local.tee $3
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.load offset=12
- (local.get $10)
- )
- )
- )
- (local.set $6
- (i32.load offset=32
+ )
+ (i32.const 9)
+ )
+ (local.set $3
+ (select
+ (i32.const 4)
+ (i32.shl
+ (i32.gt_s
+ (i32.load offset=136
(local.get $2)
)
+ (i32.const 1)
)
- (local.set $5
- (local.get $3)
- )
+ (i32.const 2)
+ )
+ (i32.lt_s
+ (local.get $4)
+ (i32.const 2)
)
)
- (local.set $4
- (i32.load8_u
- (i32.add
- (i32.load offset=16
- (local.get $4)
- )
- (local.get $6)
- )
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
)
)
- (i32.store offset=20
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
(local.get $2)
- (i32.add
- (local.get $3)
- (i32.const 1)
+ )
+ )
+ (local.get $3)
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
)
)
- (i32.store8
- (i32.add
- (i32.load offset=8
- (local.get $13)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $3)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.const 3)
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 113)
+ )
+ (br $label$6)
+ )
+ )
+ (local.set $4
+ (i32.load offset=36
+ (local.get $3)
+ )
+ )
+ (local.set $5
+ (i32.load offset=28
+ (local.get $3)
+ )
+ )
+ (local.set $6
+ (i32.load offset=16
+ (local.get $3)
+ )
+ )
+ (local.set $8
+ (i32.load offset=44
+ (local.get $3)
+ )
+ )
+ (local.set $9
+ (i32.load
+ (local.get $3)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $10
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $3
+ (i32.const 2)
+ )
+ (i32.store8
+ (i32.add
+ (local.get $10)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.or
+ (i32.or
+ (i32.or
+ (i32.or
+ (i32.shl
+ (i32.ne
+ (local.get $8)
+ (i32.const 0)
)
+ (i32.const 1)
+ )
+ (i32.ne
+ (local.get $9)
+ (i32.const 0)
+ )
+ )
+ (i32.shl
+ (i32.ne
+ (local.get $6)
+ (i32.const 0)
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.shl
+ (i32.ne
+ (local.get $5)
+ (i32.const 0)
+ )
+ (i32.const 3)
+ )
+ )
+ (i32.shl
+ (i32.ne
+ (local.get $4)
+ (i32.const 0)
+ )
+ (i32.const 4)
+ )
+ )
+ )
+ (local.set $4
+ (i32.load offset=4
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (local.get $4)
+ )
+ (local.set $4
+ (i32.load offset=4
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $4)
+ (i32.const 8)
+ )
+ )
+ (local.set $4
+ (i32.load16_u offset=6
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (local.get $4)
+ )
+ (local.set $4
+ (i32.load8_u offset=7
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (local.get $4)
+ )
+ (if
+ (i32.ne
+ (local.tee $4
+ (i32.load offset=132
+ (local.get $2)
+ )
+ )
+ (i32.const 9)
+ )
+ (local.set $3
+ (select
+ (i32.const 4)
+ (i32.shl
+ (i32.gt_s
+ (i32.load offset=136
+ (local.get $2)
+ )
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ (i32.lt_s
+ (local.get $4)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (local.get $3)
+ )
+ (local.set $3
+ (i32.load offset=12
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (local.get $3)
+ )
+ (if
+ (i32.load offset=44
+ (if (result i32)
+ (i32.load offset=16
+ (local.tee $3
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ (block (result i32)
+ (local.set $3
+ (i32.load offset=20
(local.get $3)
)
- (local.get $4)
)
- (i32.store offset=32
+ (i32.store offset=20
(local.get $2)
- (local.tee $6
- (i32.add
- (i32.load offset=32
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
(local.get $2)
)
- (i32.const 1)
)
+ (i32.const 1)
)
)
- (if
- (i32.ge_u
- (local.get $6)
- (i32.load16_u offset=20
- (local.tee $4
- (i32.load offset=28
- (local.get $2)
- )
- )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
)
)
- (block
- (local.set $3
- (local.get $5)
+ (local.get $3)
+ )
+ (local.set $3
+ (i32.load offset=20
+ (i32.load offset=28
+ (local.get $2)
)
- (br $label$26)
)
- (block
- (local.set $3
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
(i32.load offset=20
(local.get $2)
)
)
- (br $label$28)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 8)
)
)
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
+ (local.get $0)
+ )
+ (i32.load offset=8
+ (local.get $2)
+ )
+ (i32.load offset=20
+ (local.get $2)
)
)
)
- (i32.store offset=4
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 69)
+ )
+ (i32.store offset=32
+ (local.get $2)
+ (i32.const 0)
+ )
+ (br $label$16)
+ )
+ )
+ (local.set $4
+ (i32.add
+ (i32.shl
+ (i32.load offset=48
(local.get $2)
- (i32.const 73)
)
- (br $label$14)
+ (i32.const 12)
)
- (block $label$33
- (br_if $label$33
- (i32.eqz
- (i32.load offset=44
- (local.get $4)
+ (i32.const -30720)
+ )
+ )
+ (local.set $3
+ (i32.const 0)
+ )
+ (block $label$24
+ (br_if $label$24
+ (i32.gt_s
+ (i32.load offset=136
+ (local.get $2)
+ )
+ (i32.const 1)
+ )
+ )
+ (br_if $label$24
+ (i32.lt_s
+ (local.tee $5
+ (i32.load offset=132
+ (local.get $2)
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ (local.set $3
+ (i32.const 64)
+ )
+ (br_if $label$24
+ (i32.lt_s
+ (local.get $5)
+ (i32.const 6)
+ )
+ )
+ (local.set $3
+ (select
+ (i32.const 128)
+ (i32.const 192)
+ (i32.eq
+ (local.get $5)
+ (i32.const 6)
+ )
+ )
+ )
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 113)
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.tee $3
+ (select
+ (i32.or
+ (local.tee $3
+ (i32.or
+ (local.get $3)
+ (local.get $4)
+ )
)
+ (i32.const 32)
+ )
+ (local.get $3)
+ (i32.load offset=108
+ (local.get $2)
)
)
- (br_if $label$33
- (i32.le_u
+ )
+ (i32.const 8)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.xor
+ (i32.or
+ (i32.rem_u
+ (local.get $3)
+ (i32.const 31)
+ )
+ (local.get $3)
+ )
+ (i32.const 31)
+ )
+ )
+ (if
+ (i32.load offset=108
+ (local.get $2)
+ )
+ (block
+ (local.set $3
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
(i32.load offset=20
(local.get $2)
)
- (local.get $3)
)
+ (i32.const 1)
)
- (br $folding-inner2)
)
- (if
- (i32.eq
- (i32.load offset=32
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
(local.get $2)
)
- (i32.load offset=20
- (local.get $4)
+ )
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 24)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
)
+ (i32.const 1)
)
- (block
- (i32.store offset=4
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
(local.get $2)
- (i32.const 73)
)
- (i32.store offset=32
+ )
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 16)
+ )
+ )
+ (local.set $3
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
(local.get $2)
- (i32.const 0)
)
- (br $label$14)
+ )
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 8)
)
)
- (local.set $3
- (i32.load offset=4
- (local.get $2)
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
)
+ (local.get $3)
)
)
)
- (br_if $label$13
- (i32.ne
- (local.get $3)
- (i32.const 73)
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$15
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
)
)
- (local.set $4
- (i32.load offset=28
+ (local.set $3
+ (i32.load offset=4
(local.get $2)
)
)
)
- (br_if $label$11
- (i32.eqz
- (i32.load offset=28
- (local.get $4)
- )
- )
- )
- (local.set $13
- (local.get $0)
+ )
+ (br_if $label$15
+ (i32.ne
+ (local.get $3)
+ (i32.const 69)
)
- (local.set $10
- (local.tee $12
- (local.tee $11
+ )
+ )
+ (block $label$26
+ (if
+ (i32.load offset=16
+ (local.tee $4
+ (i32.load offset=28
(local.get $2)
)
)
)
- (local.set $5
- (local.tee $3
+ (block
+ (local.set $3
(i32.load offset=20
(local.get $2)
)
)
- )
- (local.set $4
- (block $label$35 (result i32)
- (loop $label$37
- (block $label$36
- (if
- (i32.eq
- (i32.load offset=12
- (local.get $11)
+ (br_if $label$26
+ (i32.ge_u
+ (local.tee $5
+ (i32.load offset=32
+ (local.get $2)
+ )
+ )
+ (i32.load16_u offset=20
+ (local.get $4)
+ )
+ )
+ )
+ (local.set $6
+ (local.get $3)
+ )
+ (loop $label$28
+ (if
+ (i32.eq
+ (i32.load offset=12
+ (local.get $2)
+ )
+ (local.get $3)
+ )
+ (block
+ (block $label$30
+ (br_if $label$30
+ (i32.le_u
+ (local.get $3)
+ (local.get $6)
)
- (local.get $3)
)
- (block
- (block $label$39
- (br_if $label$39
- (i32.le_u
- (local.get $3)
- (local.get $5)
- )
+ (br_if $label$30
+ (i32.eqz
+ (i32.load offset=44
+ (local.get $4)
)
- (br_if $label$39
- (i32.eqz
- (i32.load offset=44
- (i32.load offset=28
- (local.get $12)
- )
- )
+ )
+ )
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
+ (local.get $0)
+ )
+ (i32.add
+ (i32.load offset=8
+ (local.get $2)
)
+ (local.get $6)
+ )
+ (i32.sub
+ (local.get $3)
+ (local.get $6)
)
- (br $folding-inner3)
)
- (if
- (select
- (local.tee $3
- (i32.load offset=16
- (local.get $0)
+ )
+ )
+ (block $label$31
+ (br_if $label$31
+ (i32.eqz
+ (local.tee $3
+ (select
+ (local.tee $3
+ (i32.load offset=16
+ (local.get $0)
+ )
)
- )
- (local.tee $4
- (i32.load offset=20
- (local.tee $5
- (i32.load offset=28
- (local.get $0)
+ (local.tee $4
+ (i32.load offset=20
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
+ )
)
)
)
- )
- (i32.gt_u
- (local.get $4)
- (local.get $3)
- )
- )
- (br $folding-inner4)
- )
- (br_if $label$36
- (i32.eq
- (local.tee $3
- (i32.load offset=20
- (local.get $2)
+ (i32.gt_u
+ (local.get $4)
+ (local.get $3)
)
)
- (i32.load offset=12
- (local.get $11)
- )
)
)
- (local.set $5
+ )
+ (drop
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
+ )
+ (i32.load offset=16
+ (local.get $5)
+ )
(local.get $3)
)
)
- )
- (local.set $4
- (i32.load offset=28
- (i32.load offset=28
- (local.get $12)
+ (i32.store offset=12
+ (local.get $0)
+ (i32.add
+ (i32.load offset=12
+ (local.get $0)
+ )
+ (local.get $3)
)
)
- )
- (i32.store offset=32
- (local.get $2)
- (i32.add
- (local.tee $7
- (i32.load offset=32
- (local.get $2)
+ (i32.store offset=16
+ (local.tee $4
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $4)
)
+ (local.get $3)
)
- (i32.const 1)
)
- )
- (local.set $4
- (i32.load8_u
+ (i32.store offset=20
+ (local.get $0)
(i32.add
- (local.get $4)
- (local.get $7)
+ (i32.load offset=20
+ (local.get $0)
+ )
+ (local.get $3)
)
)
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
+ (i32.store offset=16
+ (local.get $0)
+ (i32.sub
+ (i32.load offset=16
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=20
+ (local.get $4)
+ (local.tee $3
+ (i32.sub
+ (i32.load offset=20
+ (local.get $4)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (br_if $label$31
(local.get $3)
- (i32.const 1)
)
- )
- (i32.store8
- (i32.add
+ (i32.store offset=16
+ (local.get $4)
(i32.load offset=8
- (local.get $10)
+ (local.get $4)
)
- (local.get $3)
)
- (local.get $4)
)
- (if
- (local.get $4)
- (block
- (local.set $3
+ (local.set $4
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ (br_if $label$26
+ (i32.eq
+ (local.tee $3
(i32.load offset=20
(local.get $2)
)
)
- (br $label$37)
- )
- (block
- (local.set $3
- (local.get $5)
- )
- (br $label$35
- (i32.const 0)
+ (i32.load offset=12
+ (local.get $2)
)
)
)
+ (local.set $5
+ (i32.load offset=32
+ (local.get $2)
+ )
+ )
+ (local.set $6
+ (local.get $3)
+ )
)
)
- (i32.const 1)
- )
- )
- (block $label$42
- (br_if $label$42
- (i32.eqz
- (i32.load offset=44
- (i32.load offset=28
+ (local.set $4
+ (i32.load8_u
+ (i32.add
+ (i32.load offset=16
+ (local.get $4)
+ )
+ (local.get $5)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (i32.load offset=8
(local.get $2)
)
+ (local.get $3)
)
+ (local.get $4)
)
- )
- (br_if $label$42
- (i32.le_u
- (i32.load offset=20
- (local.get $2)
+ (i32.store offset=32
+ (local.get $2)
+ (local.tee $5
+ (i32.add
+ (i32.load offset=32
+ (local.get $2)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ (if
+ (i32.ge_u
+ (local.get $5)
+ (i32.load16_u offset=20
+ (local.tee $4
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (block
+ (local.set $3
+ (local.get $6)
+ )
+ (br $label$26)
+ )
+ (block
+ (local.set $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (br $label$28)
)
- (local.get $3)
)
)
- (br $folding-inner2)
)
- (br_if $label$12
- (i32.eqz
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 73)
+ )
+ (br $label$14)
+ )
+ (block $label$33
+ (br_if $label$33
+ (i32.eqz
+ (i32.load offset=44
(local.get $4)
)
)
- (local.set $3
- (i32.load offset=4
- (local.get $2)
+ )
+ (br_if $label$33
+ (i32.le_u
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $2)
+ )
)
+ (local.get $3)
)
)
- (br_if $label$10
- (i32.eq
- (local.get $3)
- (i32.const 91)
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
+ (local.get $0)
+ )
+ (i32.add
+ (i32.load offset=8
+ (local.get $2)
+ )
+ (local.get $3)
+ )
+ (i32.sub
+ (local.get $5)
+ (local.get $3)
+ )
+ )
+ )
+ (local.set $4
+ (i32.load offset=28
+ (local.get $2)
)
)
- (br $label$9)
)
- (i32.store offset=32
- (local.get $2)
- (i32.const 0)
+ (if
+ (i32.eq
+ (i32.load offset=32
+ (local.get $2)
+ )
+ (i32.load offset=20
+ (local.get $4)
+ )
+ )
+ (block
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 73)
+ )
+ (i32.store offset=32
+ (local.get $2)
+ (i32.const 0)
+ )
+ (br $label$14)
+ )
)
- )
- (i32.store offset=4
- (local.get $2)
- (i32.const 91)
- )
- )
- (br_if $label$8
- (i32.eqz
- (i32.load offset=36
- (i32.load offset=28
+ (local.set $3
+ (i32.load offset=4
(local.get $2)
)
)
)
- )
- (local.set $13
- (local.get $0)
- )
- (local.set $10
- (local.tee $12
- (local.tee $11
+ (br_if $label$13
+ (i32.ne
+ (local.get $3)
+ (i32.const 73)
+ )
+ )
+ (local.set $4
+ (i32.load offset=28
(local.get $2)
)
)
)
- (local.set $5
+ (br_if $label$11
+ (i32.eqz
+ (i32.load offset=28
+ (local.get $4)
+ )
+ )
+ )
+ (local.set $6
(local.tee $3
(i32.load offset=20
(local.get $2)
@@ -902,59 +1415,152 @@ total
)
)
(local.set $4
- (block $label$43 (result i32)
- (loop $label$45
- (block $label$44
+ (block $label$35 (result i32)
+ (loop $label$37
+ (block $label$36
(if
(i32.eq
(i32.load offset=12
- (local.get $11)
+ (local.get $2)
)
(local.get $3)
)
(block
- (block $label$47
- (br_if $label$47
+ (block $label$39
+ (br_if $label$39
(i32.le_u
(local.get $3)
- (local.get $5)
+ (local.get $6)
)
)
- (br_if $label$47
+ (br_if $label$39
(i32.eqz
(i32.load offset=44
(i32.load offset=28
- (local.get $12)
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
+ (local.get $0)
+ )
+ (i32.add
+ (i32.load offset=8
+ (local.get $2)
)
+ (local.get $6)
+ )
+ (i32.sub
+ (local.get $3)
+ (local.get $6)
)
)
)
- (br $folding-inner3)
)
- (if
- (select
- (local.tee $3
+ (block $label$40
+ (br_if $label$40
+ (i32.eqz
+ (local.tee $3
+ (select
+ (local.tee $3
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (local.tee $4
+ (i32.load offset=20
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $4)
+ (local.get $3)
+ )
+ )
+ )
+ )
+ )
+ (drop
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
+ )
(i32.load offset=16
+ (local.get $5)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=12
+ (local.get $0)
+ (i32.add
+ (i32.load offset=12
(local.get $0)
)
+ (local.get $3)
)
+ )
+ (i32.store offset=16
(local.tee $4
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $4)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=20
+ (local.get $0)
+ (i32.add
(i32.load offset=20
- (local.tee $5
- (i32.load offset=28
- (local.get $0)
- )
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=16
+ (local.get $0)
+ (i32.sub
+ (i32.load offset=16
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=20
+ (local.get $4)
+ (local.tee $3
+ (i32.sub
+ (i32.load offset=20
+ (local.get $4)
)
+ (local.get $3)
)
)
- (i32.gt_u
+ )
+ (br_if $label$40
+ (local.get $3)
+ )
+ (i32.store offset=16
+ (local.get $4)
+ (i32.load offset=8
(local.get $4)
- (local.get $3)
)
)
- (br $folding-inner4)
)
- (br_if $label$44
+ (br_if $label$36
(i32.eq
(local.tee $3
(i32.load offset=20
@@ -962,26 +1568,26 @@ total
)
)
(i32.load offset=12
- (local.get $11)
+ (local.get $2)
)
)
)
- (local.set $5
+ (local.set $6
(local.get $3)
)
)
)
(local.set $4
- (i32.load offset=36
+ (i32.load offset=28
(i32.load offset=28
- (local.get $12)
+ (local.get $2)
)
)
)
(i32.store offset=32
(local.get $2)
(i32.add
- (local.tee $7
+ (local.tee $5
(i32.load offset=32
(local.get $2)
)
@@ -993,7 +1599,7 @@ total
(i32.load8_u
(i32.add
(local.get $4)
- (local.get $7)
+ (local.get $5)
)
)
)
@@ -1007,7 +1613,7 @@ total
(i32.store8
(i32.add
(i32.load offset=8
- (local.get $10)
+ (local.get $2)
)
(local.get $3)
)
@@ -1021,13 +1627,13 @@ total
(local.get $2)
)
)
- (br $label$45)
+ (br $label$37)
)
(block
(local.set $3
- (local.get $5)
+ (local.get $6)
)
- (br $label$43
+ (br $label$35
(i32.const 0)
)
)
@@ -1037,8 +1643,8 @@ total
(i32.const 1)
)
)
- (block $label$50
- (br_if $label$50
+ (block $label$42
+ (br_if $label$42
(i32.eqz
(i32.load offset=44
(i32.load offset=28
@@ -1047,17 +1653,36 @@ total
)
)
)
- (br_if $label$50
+ (br_if $label$42
(i32.le_u
- (i32.load offset=20
- (local.get $2)
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $2)
+ )
)
(local.get $3)
)
)
- (br $folding-inner2)
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
+ (local.get $0)
+ )
+ (i32.add
+ (i32.load offset=8
+ (local.get $2)
+ )
+ (local.get $3)
+ )
+ (i32.sub
+ (local.get $5)
+ (local.get $3)
+ )
+ )
+ )
)
- (br_if $label$8
+ (br_if $label$12
(i32.eqz
(local.get $4)
)
@@ -1068,1510 +1693,1459 @@ total
)
)
)
- (br_if $label$7
+ (br_if $label$10
(i32.eq
(local.get $3)
- (i32.const 103)
+ (i32.const 91)
)
)
- (br $label$6)
+ (br $label$9)
)
- (i32.store offset=4
+ (i32.store offset=32
(local.get $2)
- (i32.const 103)
+ (i32.const 0)
)
)
- (if
- (i32.load offset=44
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 91)
+ )
+ )
+ (br_if $label$8
+ (i32.eqz
+ (i32.load offset=36
(i32.load offset=28
(local.get $2)
)
)
- (block
- (block $label$52
- (br_if $label$52
- (i32.le_u
- (i32.add
- (i32.load offset=20
- (local.get $2)
- )
- (i32.const 2)
- )
- (i32.load offset=12
- (local.get $2)
- )
- )
- )
- (br_if $label$52
- (i32.eqz
- (select
- (local.tee $3
- (i32.load offset=16
- (local.get $0)
- )
- )
- (local.tee $4
- (i32.load offset=20
- (local.tee $7
- (i32.load offset=28
- (local.get $0)
- )
- )
- )
- )
- (i32.gt_u
- (local.get $4)
- (local.get $3)
- )
- )
- )
- )
- (br $folding-inner5)
- )
- (br_if $label$6
- (i32.gt_u
- (i32.add
- (local.tee $4
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 2)
- )
- (i32.load offset=12
- (local.get $2)
- )
- )
- )
- (local.set $6
- (i32.load offset=48
- (local.get $0)
- )
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.get $4)
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (i32.load offset=8
- (local.get $2)
- )
- (local.get $4)
- )
- (local.get $6)
- )
- (local.set $4
- (i32.load offset=48
- (local.get $0)
- )
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $6
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $6)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (i32.shr_u
- (local.get $4)
- (i32.const 8)
- )
- )
- (unreachable)
- )
- )
- (i32.store offset=4
- (local.get $2)
- (i32.const 113)
)
)
- (block $label$53
- (if
+ (local.set $6
+ (local.tee $3
(i32.load offset=20
(local.get $2)
)
- (block
- (if
- (select
- (local.tee $4
- (i32.load offset=16
- (local.get $0)
- )
- )
- (local.tee $3
- (i32.load offset=20
- (local.tee $7
- (i32.load offset=28
- (local.get $0)
- )
- )
- )
- )
- (i32.gt_u
- (local.get $3)
- (local.get $4)
- )
- )
- (br $folding-inner5)
- )
- (br_if $label$53
- (local.get $4)
- )
- (br $folding-inner1)
- )
- )
- (br_if $label$53
- (i32.eq
- (local.get $1)
- (i32.const 4)
- )
- )
- (br_if $label$53
- (i32.lt_s
- (local.get $14)
- (local.get $1)
- )
- )
- (br_if $label$53
- (i32.load offset=4
- (local.get $0)
- )
- )
- (br $folding-inner0)
- )
- (local.set $3
- (i32.load offset=4
- (local.get $0)
)
)
- (block $label$56
- (block $label$57
- (block $label$58
- (if
- (i32.eq
- (local.tee $4
- (i32.load offset=4
- (local.get $2)
- )
- )
- (i32.const 666)
- )
- (block
- (br_if $label$58
- (i32.eqz
- (local.get $3)
- )
- )
- (br $folding-inner0)
- )
- )
- (br_if $label$57
- (local.get $3)
- )
- )
- (br_if $label$57
- (i32.ne
- (i32.or
- (i32.eqz
- (local.get $1)
- )
- (i32.eq
- (local.get $4)
- (i32.const 666)
- )
- )
- (i32.const 1)
- )
- )
- (br_if $label$56
- (i32.eqz
- (i32.load offset=116
- (local.get $2)
- )
- )
- )
- )
- (if
- (block (result i32)
- (block $label$63
+ (local.set $4
+ (block $label$43 (result i32)
+ (loop $label$45
+ (block $label$44
(if
- (i32.ne
- (local.tee $3
- (i32.load offset=136
- (local.get $2)
- )
+ (i32.eq
+ (i32.load offset=12
+ (local.get $2)
)
- (i32.const 3)
+ (local.get $3)
)
(block
- (br_if $label$63
- (i32.ne
- (local.get $3)
- (i32.const 2)
- )
- )
- (local.set $9
- (i32.add
- (local.tee $12
- (local.tee $11
- (local.tee $10
- (local.tee $3
- (local.get $2)
- )
- )
- )
+ (block $label$47
+ (br_if $label$47
+ (i32.le_u
+ (local.get $3)
+ (local.get $6)
)
- (i32.const 5792)
- )
- )
- (local.set $8
- (i32.add
- (local.get $2)
- (i32.const 5796)
- )
- )
- (local.set $13
- (i32.add
- (local.get $2)
- (i32.const 5784)
- )
- )
- (local.set $4
- (i32.add
- (local.get $2)
- (i32.const 5788)
)
- )
- (loop $label$66
- (if
+ (br_if $label$47
(i32.eqz
- (i32.load offset=116
- (local.get $3)
- )
- )
- (unreachable)
- )
- (i32.store offset=96
- (local.get $10)
- (i32.const 0)
- )
- (local.set $6
- (i32.load8_u
- (i32.add
- (i32.load offset=56
- (local.get $12)
- )
- (i32.load offset=108
- (local.get $11)
- )
- )
- )
- )
- (i32.store16
- (i32.add
- (i32.load
- (local.get $8)
- )
- (i32.shl
- (local.tee $7
- (i32.load
- (local.get $9)
- )
+ (i32.load offset=44
+ (i32.load offset=28
+ (local.get $2)
)
- (i32.const 1)
)
)
- (i32.const 0)
)
- (i32.store
- (local.get $9)
- (i32.add
- (local.get $7)
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $7)
- (i32.load
- (local.get $13)
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
+ (local.get $0)
)
- )
- (local.get $6)
- )
- (i32.store16 offset=148
- (local.tee $5
(i32.add
- (local.get $12)
- (i32.shl
- (local.get $6)
- (i32.const 2)
+ (i32.load offset=8
+ (local.get $2)
)
+ (local.get $6)
)
- )
- (i32.add
- (i32.load16_u offset=148
- (local.get $5)
- )
- (i32.const 1)
- )
- )
- (i32.store offset=116
- (local.get $3)
- (i32.add
- (i32.load offset=116
+ (i32.sub
(local.get $3)
- )
- (i32.const -1)
- )
- )
- (i32.store offset=108
- (local.get $11)
- (i32.add
- (i32.load offset=108
- (local.get $11)
- )
- (i32.const 1)
- )
- )
- (br_if $label$66
- (i32.ne
- (i32.load
- (local.get $9)
- )
- (i32.add
- (i32.load
- (local.get $4)
- )
- (i32.const -1)
- )
- )
- )
- )
- (drop
- (if (result i32)
- (i32.ge_s
- (local.tee $5
- (i32.load offset=92
- (local.get $12)
- )
- )
- (i32.const 0)
- )
- (i32.add
- (i32.load offset=56
- (local.get $12)
- )
- (local.get $5)
- )
- (i32.const 0)
- )
- )
- (unreachable)
- )
- )
- (local.set $9
- (i32.add
- (local.tee $3
- (local.tee $12
- (local.tee $11
- (local.get $2)
- )
- )
- )
- (i32.const 5792)
- )
- )
- (local.set $4
- (i32.add
- (local.get $2)
- (i32.const 5796)
- )
- )
- (local.set $14
- (i32.add
- (local.get $2)
- (i32.const 5784)
- )
- )
- (local.set $1
- (i32.add
- (local.get $2)
- (i32.const 5788)
- )
- )
- (loop $label$72
- (block $label$75
- (if
- (i32.ge_u
- (local.tee $6
- (i32.load offset=116
- (local.get $11)
+ (local.get $6)
)
)
- (i32.const 258)
- )
- (block
- (i32.store offset=96
- (local.get $12)
- (i32.const 0)
- )
- (br $label$75)
)
)
- (unreachable)
- )
- (block $label$73
- (block $label$74
- (if
+ (block $label$48
+ (br_if $label$48
(i32.eqz
- (local.tee $7
- (i32.load offset=108
- (local.get $3)
- )
- )
- )
- (block
- (local.set $7
- (i32.const 0)
- )
- (br $label$74)
- )
- )
- (br_if $label$74
- (i32.ne
- (local.tee $5
- (i32.load8_u
- (i32.add
- (local.tee $2
- (i32.add
- (i32.load offset=56
- (local.get $3)
- )
- (local.get $7)
- )
+ (local.tee $3
+ (select
+ (local.tee $3
+ (i32.load offset=16
+ (local.get $0)
)
- (i32.const -1)
)
- )
- )
- (i32.load8_u
- (local.get $2)
- )
- )
- )
- (br_if $label$74
- (i32.ne
- (local.get $5)
- (i32.load8_u offset=1
- (local.get $2)
- )
- )
- )
- (br_if $label$74
- (i32.ne
- (local.get $5)
- (i32.load8_u offset=2
- (local.get $2)
- )
- )
- )
- (local.set $0
- (i32.add
- (local.get $2)
- (i32.const 258)
- )
- )
- (local.set $10
- (i32.const 1)
- )
- (block $label$83
- (block $label$84
- (block $label$85
- (block $label$86
- (block $label$87
- (block $label$88
- (loop $label$90
- (if
- (i32.eq
- (i32.load8_u offset=2
- (local.tee $8
- (i32.add
- (local.get $2)
- (local.get $10)
- )
- )
- )
- (local.get $5)
- )
- (block
- (br_if $label$88
- (i32.ne
- (local.get $5)
- (i32.load8_u offset=3
- (local.get $8)
- )
- )
- )
- (br_if $label$87
- (i32.ne
- (local.get $5)
- (i32.load8_u offset=4
- (local.get $8)
- )
- )
- )
- (br_if $label$86
- (i32.ne
- (local.get $5)
- (i32.load8_u offset=5
- (local.get $8)
- )
- )
- )
- (br_if $label$85
- (i32.ne
- (local.get $5)
- (i32.load8_u offset=6
- (local.get $8)
- )
- )
- )
- (br_if $label$84
- (i32.ne
- (local.get $5)
- (i32.load8_u offset=7
- (local.get $8)
- )
- )
- )
- (br_if $label$83
- (i32.ne
- (local.get $5)
- (i32.load8_u
- (local.tee $8
- (i32.add
- (local.get $2)
- (local.tee $13
- (i32.add
- (local.get $10)
- (i32.const 8)
- )
- )
- )
- )
- )
- )
- )
- (local.set $8
- (i32.add
- (local.get $2)
- (local.tee $10
- (i32.add
- (local.get $10)
- (i32.const 9)
- )
- )
- )
- )
- (br_if $label$83
- (i32.gt_u
- (local.get $10)
- (i32.const 257)
- )
- )
- (local.set $10
- (local.get $13)
- )
- (br_if $label$90
- (i32.eq
- (local.get $5)
- (i32.load8_u
- (local.get $8)
- )
- )
- )
- (br $label$83)
- )
- )
- )
- (local.set $8
- (i32.add
- (local.get $8)
- (i32.const 2)
+ (local.tee $4
+ (i32.load offset=20
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
)
)
- (br $label$83)
- )
- (local.set $8
- (i32.add
- (local.get $8)
- (i32.const 3)
- )
- )
- (br $label$83)
- )
- (local.set $8
- (i32.add
- (local.get $8)
- (i32.const 4)
)
)
- (br $label$83)
- )
- (local.set $8
- (i32.add
- (local.get $8)
- (i32.const 5)
- )
- )
- (br $label$83)
- )
- (local.set $8
- (i32.add
- (local.get $8)
- (i32.const 6)
- )
- )
- (br $label$83)
- )
- (local.set $8
- (i32.add
- (local.get $8)
- (i32.const 7)
- )
- )
- )
- (i32.store offset=96
- (local.get $12)
- (local.tee $6
- (select
- (local.get $6)
- (local.tee $5
- (i32.add
- (i32.sub
- (local.get $8)
- (local.get $0)
- )
- (i32.const 258)
+ (i32.gt_u
+ (local.get $4)
+ (local.get $3)
)
)
- (i32.gt_u
- (local.get $5)
- (local.get $6)
- )
)
)
)
- (br_if $label$74
- (i32.lt_u
- (local.get $6)
- (i32.const 3)
- )
- )
- (i32.store16
- (i32.add
- (i32.load
- (local.get $4)
+ (drop
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
)
- (i32.shl
- (local.tee $7
- (i32.load
- (local.get $9)
- )
- )
- (i32.const 1)
+ (i32.load offset=16
+ (local.get $5)
)
- )
- (i32.const 1)
- )
- (i32.store
- (local.get $9)
- (i32.add
- (local.get $7)
- (i32.const 1)
+ (local.get $3)
)
)
- (i32.store8
+ (i32.store offset=12
+ (local.get $0)
(i32.add
- (local.get $7)
- (i32.load
- (local.get $14)
- )
- )
- (local.tee $6
- (i32.add
- (local.get $6)
- (i32.const -3)
+ (i32.load offset=12
+ (local.get $0)
)
+ (local.get $3)
)
)
- (i32.store16 offset=152
- (local.tee $5
- (i32.add
- (local.get $3)
- (i32.or
- (i32.shl
- (i32.load8_u
- (i32.add
- (i32.and
- (local.get $6)
- (i32.const 255)
- )
- (i32.const 13488)
- )
- )
- (i32.const 2)
- )
- (i32.const 1024)
- )
+ (i32.store offset=16
+ (local.tee $4
+ (i32.load offset=28
+ (local.get $0)
)
)
(i32.add
- (i32.load16_u offset=152
- (local.get $5)
+ (i32.load offset=16
+ (local.get $4)
)
- (i32.const 1)
+ (local.get $3)
)
)
- (i32.store16
- (local.tee $6
- (i32.add
- (i32.add
- (local.get $3)
- (i32.shl
- (i32.load8_u
- (i32.const 12976)
- )
- (i32.const 2)
- )
- )
- (i32.const 2440)
- )
- )
+ (i32.store offset=20
+ (local.get $0)
(i32.add
- (i32.load16_u
- (local.get $6)
+ (i32.load offset=20
+ (local.get $0)
)
- (i32.const 1)
- )
- )
- (local.set $6
- (i32.load offset=96
- (local.get $12)
+ (local.get $3)
)
)
- (i32.store offset=96
- (local.get $12)
- (i32.const 0)
- )
- (i32.store offset=116
- (local.get $11)
+ (i32.store offset=16
+ (local.get $0)
(i32.sub
- (i32.load offset=116
- (local.get $11)
+ (i32.load offset=16
+ (local.get $0)
)
- (local.get $6)
+ (local.get $3)
)
)
- (i32.store offset=108
- (local.get $3)
- (i32.add
- (local.get $6)
- (i32.load offset=108
+ (i32.store offset=20
+ (local.get $4)
+ (local.tee $3
+ (i32.sub
+ (i32.load offset=20
+ (local.get $4)
+ )
(local.get $3)
)
)
)
- (br $label$73)
- )
- (local.set $6
- (i32.load8_u
- (i32.add
- (i32.load offset=56
- (local.get $3)
- )
- (local.get $7)
- )
+ (br_if $label$48
+ (local.get $3)
)
- )
- (i32.store16
- (i32.add
- (i32.load
+ (i32.store offset=16
+ (local.get $4)
+ (i32.load offset=8
(local.get $4)
)
- (i32.shl
- (local.tee $7
- (i32.load
- (local.get $9)
- )
- )
- (i32.const 1)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (local.get $9)
- (i32.add
- (local.get $7)
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $7)
- (i32.load
- (local.get $14)
- )
)
- (local.get $6)
)
- (i32.store16 offset=148
- (local.tee $5
- (i32.add
- (local.get $3)
- (i32.shl
- (local.get $6)
- (i32.const 2)
+ (br_if $label$44
+ (i32.eq
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
)
)
- )
- (i32.add
- (i32.load16_u offset=148
- (local.get $5)
- )
- (i32.const 1)
- )
- )
- (i32.store offset=116
- (local.get $11)
- (i32.add
- (i32.load offset=116
- (local.get $11)
+ (i32.load offset=12
+ (local.get $2)
)
- (i32.const -1)
)
)
- (i32.store offset=108
+ (local.set $6
(local.get $3)
- (i32.add
- (i32.load offset=108
- (local.get $3)
- )
- (i32.const 1)
- )
)
)
- (br_if $label$72
- (i32.ne
- (i32.load
- (local.get $9)
- )
- (i32.add
- (i32.load
- (local.get $1)
- )
- (i32.const -1)
- )
+ )
+ (local.set $4
+ (i32.load offset=36
+ (i32.load offset=28
+ (local.get $2)
)
)
)
- (drop
- (if (result i32)
- (i32.ge_s
- (local.tee $5
- (i32.load offset=92
- (local.get $3)
- )
+ (i32.store offset=32
+ (local.get $2)
+ (i32.add
+ (local.tee $5
+ (i32.load offset=32
+ (local.get $2)
)
- (i32.const 0)
)
+ (i32.const 1)
+ )
+ )
+ (local.set $4
+ (i32.load8_u
(i32.add
- (i32.load offset=56
- (local.get $3)
- )
+ (local.get $4)
(local.get $5)
)
- (i32.const 0)
)
)
- (unreachable)
- )
- (i32.eq
- (i32.or
- (local.tee $3
- (call_indirect (type $2)
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (i32.load offset=8
(local.get $2)
- (local.get $1)
- (i32.load
- (i32.add
- (i32.mul
- (i32.load offset=132
- (local.get $2)
- )
- (i32.const 12)
- )
- (i32.const 9832)
- )
+ )
+ (local.get $3)
+ )
+ (local.get $4)
+ )
+ (if
+ (local.get $4)
+ (block
+ (local.set $3
+ (i32.load offset=20
+ (local.get $2)
)
)
+ (br $label$45)
+ )
+ (block
+ (local.set $3
+ (local.get $6)
+ )
+ (br $label$43
+ (i32.const 0)
+ )
)
- (i32.const 1)
)
- (i32.const 3)
)
)
- (i32.store offset=4
- (local.get $2)
- (i32.const 666)
- )
+ (i32.const 1)
)
- (if
+ )
+ (block $label$50
+ (br_if $label$50
(i32.eqz
- (i32.and
- (local.get $3)
- (i32.const -3)
- )
- )
- (block
- (local.set $3
- (i32.const 0)
- )
- (br_if $label$1
- (i32.load offset=16
- (local.get $0)
+ (i32.load offset=44
+ (i32.load offset=28
+ (local.get $2)
)
)
- (br $folding-inner1)
- )
- )
- (br_if $label$56
- (i32.ne
- (local.get $3)
- (i32.const 1)
)
)
- (if
- (i32.ne
- (local.get $1)
- (i32.const 5)
- )
- (block
- (if
- (i32.eq
- (local.get $1)
- (i32.const 1)
+ (br_if $label$50
+ (i32.le_u
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $2)
)
- (unreachable)
)
- (unreachable)
+ (local.get $3)
)
)
- (if
- (select
- (local.tee $4
- (i32.load offset=16
- (local.get $0)
- )
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
+ (local.get $0)
)
- (local.tee $3
- (i32.load offset=20
- (local.tee $7
- (i32.load offset=28
- (local.get $0)
- )
- )
+ (i32.add
+ (i32.load offset=8
+ (local.get $2)
)
+ (local.get $3)
)
- (i32.gt_u
+ (i32.sub
+ (local.get $5)
(local.get $3)
- (local.get $4)
)
)
- (br $folding-inner5)
)
- (br_if $label$56
+ )
+ (br_if $label$8
+ (i32.eqz
(local.get $4)
)
- (br $folding-inner1)
)
(local.set $3
- (i32.const 0)
- )
- (br_if $label$1
- (i32.ne
- (local.get $1)
- (i32.const 4)
+ (i32.load offset=4
+ (local.get $2)
)
)
- (local.set $3
- (i32.const 1)
+ )
+ (br_if $label$7
+ (i32.eq
+ (local.get $3)
+ (i32.const 103)
)
- (br_if $label$1
- (i32.lt_s
- (local.tee $1
- (i32.load offset=24
+ )
+ (br $label$6)
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 103)
+ )
+ )
+ (if
+ (i32.load offset=44
+ (i32.load offset=28
+ (local.get $2)
+ )
+ )
+ (block
+ (block $label$52
+ (br_if $label$52
+ (i32.le_u
+ (i32.add
+ (i32.load offset=20
(local.get $2)
)
+ (i32.const 2)
+ )
+ (i32.load offset=12
+ (local.get $2)
)
- (i32.const 1)
- )
- )
- (local.set $4
- (i32.load offset=48
- (local.get $0)
)
)
- (i32.store8
- (block $label$97 (result i32)
- (if
- (i32.eq
- (local.get $1)
- (i32.const 2)
- )
- (block
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $1
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $1)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (local.get $4)
- )
- (local.set $1
- (i32.load offset=48
- (local.get $0)
- )
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $4
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $4)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (i32.shr_u
- (local.get $1)
- (i32.const 8)
- )
- )
- (local.set $1
- (i32.load16_u offset=50
+ (br_if $label$52
+ (i32.eqz
+ (local.tee $3
+ (select
+ (local.tee $3
+ (i32.load offset=16
(local.get $0)
)
)
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $4
- (i32.load offset=20
- (local.get $2)
+ (local.tee $4
+ (i32.load offset=20
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
)
)
- (i32.const 1)
)
)
- (i32.store8
- (i32.add
- (local.get $4)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (local.get $1)
+ (i32.gt_u
+ (local.get $4)
+ (local.get $3)
)
- (local.set $1
- (i32.load8_u offset=51
+ )
+ )
+ )
+ )
+ (drop
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
+ )
+ (i32.load offset=16
+ (local.get $5)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=12
+ (local.get $0)
+ (i32.add
+ (i32.load offset=12
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $4
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $4)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=20
+ (local.get $0)
+ (i32.add
+ (i32.load offset=20
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=16
+ (local.get $0)
+ (i32.sub
+ (i32.load offset=16
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=20
+ (local.get $4)
+ (local.tee $3
+ (i32.sub
+ (i32.load offset=20
+ (local.get $4)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (br_if $label$52
+ (local.get $3)
+ )
+ (i32.store offset=16
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $4)
+ )
+ )
+ )
+ (br_if $label$6
+ (i32.gt_u
+ (i32.add
+ (local.tee $3
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.load offset=12
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $4
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (i32.load offset=8
+ (local.get $2)
+ )
+ (local.get $3)
+ )
+ (local.get $4)
+ )
+ (local.set $3
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $4
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $4)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 113)
+ )
+ (br $label$6)
+ )
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 113)
+ )
+ )
+ (block $label$53
+ (if
+ (i32.load offset=20
+ (local.get $2)
+ )
+ (block
+ (block $label$55
+ (br_if $label$55
+ (i32.eqz
+ (local.tee $3
+ (select
+ (local.tee $4
+ (i32.load offset=16
(local.get $0)
)
)
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $4
- (i32.load offset=20
- (local.get $2)
+ (local.tee $3
+ (i32.load offset=20
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
)
)
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $4)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (local.get $1)
- )
- (local.set $1
- (i32.load offset=8
- (local.get $0)
)
)
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $4
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
+ (i32.gt_u
+ (local.get $3)
+ (local.get $4)
)
- (i32.store8
- (i32.add
- (local.get $4)
- (i32.load offset=8
+ )
+ )
+ )
+ )
+ (drop
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
+ )
+ (i32.load offset=16
+ (local.get $5)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=12
+ (local.get $0)
+ (i32.add
+ (i32.load offset=12
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $5)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=20
+ (local.get $0)
+ (i32.add
+ (i32.load offset=20
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=16
+ (local.get $0)
+ (local.tee $4
+ (i32.sub
+ (i32.load offset=16
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $5)
+ (local.tee $3
+ (i32.sub
+ (i32.load offset=20
+ (local.get $5)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (br_if $label$55
+ (local.get $3)
+ )
+ (i32.store offset=16
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $5)
+ )
+ )
+ )
+ (br_if $label$53
+ (local.get $4)
+ )
+ (br $folding-inner1)
+ )
+ )
+ (br_if $label$53
+ (i32.eq
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (br_if $label$53
+ (i32.lt_s
+ (local.get $7)
+ (local.get $1)
+ )
+ )
+ (br_if $label$53
+ (i32.load offset=4
+ (local.get $0)
+ )
+ )
+ (br $folding-inner0)
+ )
+ (local.set $3
+ (i32.load offset=4
+ (local.get $0)
+ )
+ )
+ (block $label$56
+ (block $label$57
+ (block $label$58
+ (if
+ (i32.eq
+ (local.tee $4
+ (i32.load offset=4
+ (local.get $2)
+ )
+ )
+ (i32.const 666)
+ )
+ (block
+ (br_if $label$58
+ (i32.eqz
+ (local.get $3)
+ )
+ )
+ (br $folding-inner0)
+ )
+ )
+ (br_if $label$57
+ (local.get $3)
+ )
+ )
+ (br_if $label$57
+ (i32.ne
+ (i32.or
+ (i32.eqz
+ (local.get $1)
+ )
+ (i32.eq
+ (local.get $4)
+ (i32.const 666)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (br_if $label$56
+ (i32.eqz
+ (i32.load offset=116
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (i32.or
+ (local.tee $3
+ (block $label$60 (result i32)
+ (block $label$61
+ (if
+ (i32.ne
+ (local.tee $3
+ (i32.load offset=136
(local.get $2)
)
)
- (local.get $1)
- )
- (local.set $1
- (i32.load offset=8
- (local.get $0)
- )
+ (i32.const 3)
)
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $4
- (i32.load offset=20
- (local.get $2)
- )
+ (block
+ (br_if $label$61
+ (i32.ne
+ (local.get $3)
+ (i32.const 2)
)
- (i32.const 1)
)
- )
- (i32.store8
- (i32.add
- (local.get $4)
- (i32.load offset=8
+ (br $label$60
+ (call $fimport$20
(local.get $2)
+ (local.get $1)
)
)
- (i32.shr_u
- (local.get $1)
- (i32.const 8)
- )
- )
- (local.set $1
- (i32.load16_u offset=10
- (local.get $0)
- )
)
- (i32.store offset=20
+ )
+ (br $label$60
+ (call $fimport$21
(local.get $2)
- (i32.add
- (local.tee $4
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $4)
- (i32.load offset=8
- (local.get $2)
- )
- )
(local.get $1)
)
- (local.set $1
- (i32.load8_u offset=11
- (local.get $0)
- )
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $4
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
- )
- (br $label$97
- (i32.add
- (local.get $4)
- (i32.load offset=8
- (local.get $2)
- )
- )
- )
)
)
- (i32.store offset=20
+ (call_indirect (type $FUNCSIG$iii)
(local.get $2)
- (i32.add
- (local.tee $1
- (i32.load offset=20
- (local.get $2)
+ (local.get $1)
+ (i32.load
+ (i32.add
+ (i32.mul
+ (i32.load offset=132
+ (local.get $2)
+ )
+ (i32.const 12)
)
+ (i32.const 11032)
)
- (i32.const 1)
)
)
- (i32.store8
- (i32.add
- (local.get $1)
- (i32.load offset=8
- (local.get $2)
- )
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 3)
+ )
+ (i32.store offset=4
+ (local.get $2)
+ (i32.const 666)
+ )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (local.get $3)
+ (i32.const -3)
+ )
+ )
+ (block
+ (local.set $3
+ (i32.const 0)
+ )
+ (br_if $label$1
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (br $folding-inner1)
+ )
+ )
+ (br_if $label$56
+ (i32.ne
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (block $label$65
+ (br_if $label$65
+ (i32.eq
+ (local.get $1)
+ (i32.const 5)
+ )
+ )
+ (if
+ (i32.eq
+ (local.get $1)
+ (i32.const 1)
+ )
+ (block
+ (call $fimport$30
+ (local.get $2)
+ )
+ (br $label$65)
+ )
+ )
+ (call $fimport$29
+ (local.get $2)
+ (i32.const 0)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ (br_if $label$65
+ (i32.ne
+ (local.get $1)
+ (i32.const 3)
+ )
+ )
+ (i32.store16
+ (i32.add
+ (local.tee $3
+ (i32.load offset=68
+ (local.get $2)
+ )
+ )
+ (local.tee $4
+ (i32.add
+ (i32.shl
+ (i32.load offset=76
+ (local.get $2)
)
- (i32.shr_u
- (local.get $4)
- (i32.const 24)
+ (i32.const 1)
+ )
+ (i32.const -2)
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ (drop
+ (call $fimport$97
+ (local.get $3)
+ (i32.const 0)
+ (local.get $4)
+ )
+ )
+ (br_if $label$65
+ (i32.load offset=116
+ (local.get $2)
+ )
+ )
+ (i32.store offset=92
+ (local.get $2)
+ (i32.const 0)
+ )
+ (i32.store offset=108
+ (local.get $2)
+ (i32.const 0)
+ )
+ )
+ (block $label$67
+ (br_if $label$67
+ (i32.eqz
+ (local.tee $3
+ (select
+ (local.tee $4
+ (i32.load offset=16
+ (local.get $0)
)
)
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (local.tee $1
- (i32.load offset=20
- (local.get $2)
+ (local.tee $3
+ (i32.load offset=20
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
)
)
- (i32.const 1)
)
)
- (i32.store8
- (i32.add
- (local.get $1)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (i32.shr_u
- (local.get $4)
- (i32.const 16)
- )
+ (i32.gt_u
+ (local.get $3)
+ (local.get $4)
)
- (local.set $1
- (i32.load offset=48
- (local.get $0)
+ )
+ )
+ )
+ )
+ (drop
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
+ )
+ (i32.load offset=16
+ (local.get $5)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=12
+ (local.get $0)
+ (i32.add
+ (i32.load offset=12
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $5)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=20
+ (local.get $0)
+ (i32.add
+ (i32.load offset=20
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=16
+ (local.get $0)
+ (local.tee $4
+ (i32.sub
+ (i32.load offset=16
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (i32.store offset=20
+ (local.get $5)
+ (local.tee $3
+ (i32.sub
+ (i32.load offset=20
+ (local.get $5)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (br_if $label$67
+ (local.get $3)
+ )
+ (i32.store offset=16
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $5)
+ )
+ )
+ )
+ (br_if $label$56
+ (local.get $4)
+ )
+ (br $folding-inner1)
+ )
+ (local.set $3
+ (i32.const 0)
+ )
+ (br_if $label$1
+ (i32.ne
+ (local.get $1)
+ (i32.const 4)
+ )
+ )
+ (local.set $3
+ (i32.const 1)
+ )
+ (br_if $label$1
+ (i32.lt_s
+ (local.tee $1
+ (i32.load offset=24
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (local.set $3
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store8
+ (block $label$68 (result i32)
+ (if
+ (i32.eq
+ (local.get $1)
+ (i32.const 2)
+ )
+ (block
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $2)
)
)
- (i32.store offset=20
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
(local.get $2)
- (i32.add
- (local.tee $4
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
)
- (i32.store8
- (i32.add
- (local.get $4)
- (i32.load offset=8
- (local.get $2)
- )
- )
- (i32.shr_u
- (local.get $1)
- (i32.const 8)
+ )
+ (local.get $3)
+ )
+ (local.set $3
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $2)
)
)
- (i32.store offset=20
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
(local.get $2)
- (i32.add
- (local.tee $4
- (i32.load offset=20
- (local.get $2)
- )
- )
- (i32.const 1)
- )
)
- (i32.add
- (local.get $4)
- (i32.load offset=8
+ )
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (local.set $3
+ (i32.load16_u offset=50
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
(local.get $2)
)
)
+ (i32.const 1)
)
- (local.get $1)
)
- (if
- (select
- (local.tee $3
- (i32.load offset=16
- (local.get $0)
- )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $2)
)
+ )
+ (local.get $3)
+ )
+ (local.set $3
+ (i32.load8_u offset=51
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
(local.tee $1
(i32.load offset=20
- (local.tee $9
- (i32.load offset=28
- (local.tee $5
- (local.get $0)
- )
- )
- )
+ (local.get $2)
)
)
- (i32.gt_u
- (local.get $1)
- (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $2)
)
)
- (block
- (drop
- (i32.load offset=12
- (local.get $5)
+ (local.get $3)
+ )
+ (local.set $3
+ (i32.load offset=8
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $2)
)
)
- (drop
- (i32.load offset=16
- (local.get $9)
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (local.get $3)
+ )
+ (local.set $3
+ (i32.load offset=8
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $2)
)
)
- (unreachable)
+ (i32.const 1)
)
)
- (if
- (i32.ge_s
- (local.tee $3
- (i32.load offset=24
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (local.set $3
+ (i32.load16_u offset=10
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
(local.get $2)
)
)
(i32.const 1)
)
- (i32.store offset=24
- (local.get $2)
- (i32.sub
- (i32.const 0)
- (local.get $3)
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $2)
)
)
+ (local.get $3)
)
(local.set $3
- (i32.eqz
- (i32.load offset=20
+ (i32.load8_u offset=11
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (br $label$68
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
(local.get $2)
)
)
)
)
- (return
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
(local.get $3)
+ (i32.const 24)
)
)
- (i32.store offset=24
- (local.get $0)
- (i32.load
- (i32.const 15804)
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 16)
+ )
+ )
+ (local.set $3
+ (i32.load offset=48
+ (local.get $0)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ )
+ (i32.store8
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $2)
+ )
+ )
+ (i32.shr_u
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (i32.store offset=20
+ (local.get $2)
+ (i32.add
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
)
)
- (return
- (i32.const -5)
+ (i32.add
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $2)
+ )
)
)
- (i32.store offset=40
- (local.get $2)
- (i32.const -1)
+ (local.get $3)
+ )
+ (block $label$70
+ (br_if $label$70
+ (i32.eqz
+ (local.tee $3
+ (select
+ (local.tee $3
+ (i32.load offset=16
+ (local.get $0)
+ )
+ )
+ (local.tee $1
+ (i32.load offset=20
+ (local.tee $4
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (i32.gt_u
+ (local.get $1)
+ (local.get $3)
+ )
+ )
+ )
+ )
)
- (return
- (i32.const 0)
+ (drop
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
+ )
+ (i32.load offset=16
+ (local.get $4)
+ )
+ (local.get $3)
+ )
)
- )
- (drop
- (i32.load offset=48
+ (i32.store offset=12
(local.get $0)
+ (i32.add
+ (i32.load offset=12
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=16
+ (local.tee $1
+ (i32.load offset=28
+ (local.get $0)
+ )
+ )
+ (i32.add
+ (i32.load offset=16
+ (local.get $1)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=20
+ (local.get $0)
+ (i32.add
+ (i32.load offset=20
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=16
+ (local.get $0)
+ (i32.sub
+ (i32.load offset=16
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ )
+ (i32.store offset=20
+ (local.get $1)
+ (local.tee $0
+ (i32.sub
+ (i32.load offset=20
+ (local.get $1)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (br_if $label$70
+ (local.get $0)
+ )
+ (i32.store offset=16
+ (local.get $1)
+ (i32.load offset=8
+ (local.get $1)
+ )
)
)
- (drop
- (i32.load offset=8
+ (if
+ (i32.ge_s
+ (local.tee $0
+ (i32.load offset=24
+ (local.get $2)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.store offset=24
(local.get $2)
+ (i32.sub
+ (i32.const 0)
+ (local.get $0)
+ )
)
)
- (unreachable)
- )
- (drop
- (i32.load offset=48
- (local.get $13)
- )
- )
- (drop
- (i32.load offset=8
- (local.get $10)
+ (local.set $3
+ (i32.eqz
+ (i32.load offset=20
+ (local.get $2)
+ )
+ )
)
)
- (unreachable)
- )
- (drop
- (i32.load offset=12
- (local.get $0)
+ (return
+ (local.get $3)
)
)
- (drop
- (i32.load offset=16
- (local.get $5)
+ (i32.store offset=24
+ (local.get $0)
+ (i32.load
+ (i32.const 17004)
)
)
- (unreachable)
- )
- (drop
- (i32.load offset=12
- (local.get $0)
+ (return
+ (i32.const -5)
)
)
- (drop
- (i32.load offset=16
- (local.get $7)
- )
+ (i32.store offset=40
+ (local.get $2)
+ (i32.const -1)
)
- (unreachable)
+ (i32.const 0)
)
)
diff --git a/test/passes/O3_low-memory-unused_metrics.wast b/test/passes/O3_low-memory-unused_metrics.wast
index e7d2d1ef6..8604b894d 100644
--- a/test/passes/O3_low-memory-unused_metrics.wast
+++ b/test/passes/O3_low-memory-unused_metrics.wast
@@ -1,101 +1,150 @@
-;; deflate from zlib using wasm backend, before any byn opts
+;; zlib key deflate() function, with deflate_rle/deflate_huff inlining disabled
(module
(type $0 (func (param i32 i32 i32) (result i32)))
(type $1 (func (param i32 i32)))
(type $2 (func (param i32 i32) (result i32)))
- (type $3 (func (param i32)))
+ (type $3 (func (param i32 i32 i32 i32)))
(type $4 (func (param i32) (result i32)))
(type $5 (func))
- (type $6 (func (param i32 i32 i32 i32)))
- (type $7 (func (param i32 i32 i32 i32) (result i32)))
- (type $8 (func (param i32 i32 i32 i32 i32 i32 i32 i32) (result i32)))
- (type $9 (func (param i32 i32 i32 i32 i32 i32) (result i32)))
- (type $10 (func (param i32 i32 i32)))
- (type $11 (func (result i32)))
+ (type $6 (func (param i32 i32 i32)))
+ (type $7 (func (result i32)))
+ (type $8 (func (param i32 i32 i32 i32) (result i32)))
+ (type $9 (func (param i32 i32 i32 i32 i32 i32 i32 i32) (result i32)))
+ (type $10 (func (param i32)))
+ (type $11 (func (param i32 i32 i32 i32 i32 i32) (result i32)))
(type $12 (func (param i64 i64) (result i32)))
(type $13 (func (param i32 i64 i64 i32)))
(type $14 (func (param i32 i32 i32 i32 i32) (result i32)))
- (type $15 (func (param i32 i64 i64 i32 i32 i32 i32) (result i32)))
+ (type $15 (func (param i64 i32 i32) (result i32)))
(type $16 (func (param i64 i32) (result i32)))
- (type $17 (func (param i64 i32 i32) (result i32)))
- (type $18 (func (param i32 i32 i32 i32 i32)))
+ (type $17 (func (param i32 i32 i32 i32 i32)))
+ (type $18 (func (param i32 i64 i64 i32 i32 i32 i32) (result i32)))
(type $19 (func (param i32 i64 i64 i64 i64)))
(type $20 (func (param i64 i64 i64 i64) (result i32)))
(type $21 (func (param i32 f64)))
- (import "env" "memory" (memory $7 256 256))
- (import "env" "__indirect_function_table" (table $timport$8 10 funcref))
- (import "env" "exit" (func $exit (param i32)))
- (import "env" "__syscall140" (func $__syscall140 (param i32 i32) (result i32)))
- (import "env" "__syscall6" (func $__syscall6 (param i32 i32) (result i32)))
- (import "env" "__syscall54" (func $__syscall54 (param i32 i32) (result i32)))
- (import "env" "__syscall146" (func $__syscall146 (param i32 i32) (result i32)))
- (import "env" "sbrk" (func $sbrk (param i32) (result i32)))
- (import "env" "emscripten_memcpy_big" (func $emscripten_memcpy_big (param i32 i32 i32) (result i32)))
- (global $global$0 (mut i32) (i32.const 5261440))
- (global $global$1 i32 (i32.const 5261440))
- (global $global$2 i32 (i32.const 18560))
- (export "deflate" (func $deflate))
- (func $__wasm_call_ctors (; 7 ;) (type $5)
- (unreachable)
- )
- (func $test_compress (; 8 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
- (unreachable)
- )
- (func $test_deflate (; 9 ;) (type $1) (param $0 i32) (param $1 i32)
- (unreachable)
- )
- (func $test_inflate (; 10 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
- (unreachable)
- )
- (func $test_large_deflate (; 11 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
- (unreachable)
- )
- (func $test_large_inflate (; 12 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
- (unreachable)
- )
- (func $test_flush (; 13 ;) (type $1) (param $0 i32) (param $1 i32)
- (unreachable)
- )
- (func $test_sync (; 14 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
- (unreachable)
- )
- (func $test_dict_deflate (; 15 ;) (type $1) (param $0 i32) (param $1 i32)
- (unreachable)
- )
- (func $test_dict_inflate (; 16 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
- (unreachable)
- )
- (func $main (; 17 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $compress (; 18 ;) (type $7) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (unreachable)
- )
- (func $crc32 (; 19 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $adler32 (; 20 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $deflateInit_ (; 21 ;) (type $7) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (unreachable)
- )
- (func $deflateInit2_ (; 22 ;) (type $8) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (result i32)
- (unreachable)
- )
- (func $deflateEnd (; 23 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $deflateReset (; 24 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $deflateSetDictionary (; 25 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $deflateParams (; 26 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $deflate (; 27 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
+ (type $22 (func (param i32 i32 i32) (result i32)))
+ (type $23 (func (param i32 i32)))
+ (type $24 (func (param i32 i32) (result i32)))
+ (type $25 (func (param i32) (result i32)))
+ (type $26 (func (result i32)))
+ (type $27 (func (param i32)))
+ (type $28 (func (param i32 i32 i32 i32) (result i32)))
+ (type $29 (func (param i32 i32 i32)))
+ (import "env" "memory" (memory $108 4096 4096))
+ (import "env" "table" (table $timport$109 10 funcref))
+ (import "env" "__assert_fail" (func $fimport$0 (param i32 i32 i32 i32)))
+ (import "env" "__syscall54" (func $fimport$1 (param i32 i32) (result i32)))
+ (import "env" "__syscall6" (func $fimport$2 (param i32 i32) (result i32)))
+ (import "env" "__syscall140" (func $fimport$3 (param i32 i32) (result i32)))
+ (import "env" "__syscall146" (func $fimport$4 (param i32 i32) (result i32)))
+ (import "env" "sbrk" (func $fimport$5 (param i32) (result i32)))
+ (import "env" "emscripten_memcpy_big" (func $fimport$6 (param i32 i32 i32) (result i32)))
+ (import "env" "__wasm_call_ctors" (func $fimport$7))
+ (import "env" "doit" (func $fimport$8 (param i32 i32 i32)))
+ (import "env" "benchmark_main" (func $fimport$9 (param i32 i32) (result i32)))
+ (import "env" "__original_main" (func $fimport$10 (result i32)))
+ (import "env" "main" (func $fimport$11 (param i32 i32) (result i32)))
+ (import "env" "compress" (func $fimport$12 (param i32 i32 i32 i32) (result i32)))
+ (import "env" "compressBound" (func $fimport$13 (param i32) (result i32)))
+ (import "env" "crc32" (func $fimport$14 (param i32 i32 i32) (result i32)))
+ (import "env" "adler32" (func $fimport$15 (param i32 i32 i32) (result i32)))
+ (import "env" "deflateInit_" (func $fimport$16 (param i32 i32 i32 i32) (result i32)))
+ (import "env" "deflateInit2_" (func $fimport$17 (param i32 i32 i32 i32 i32 i32 i32 i32) (result i32)))
+ (import "env" "deflateEnd" (func $fimport$18 (param i32) (result i32)))
+ (import "env" "deflateReset" (func $fimport$19 (param i32) (result i32)))
+ (import "env" "deflate_huff" (func $fimport$20 (param i32 i32) (result i32)))
+ (import "env" "deflate_rle" (func $fimport$21 (param i32 i32) (result i32)))
+ (import "env" "fill_window" (func $fimport$22 (param i32)))
+ (import "env" "deflate_stored" (func $fimport$23 (param i32 i32) (result i32)))
+ (import "env" "deflate_fast" (func $fimport$24 (param i32 i32) (result i32)))
+ (import "env" "longest_match" (func $fimport$25 (param i32 i32) (result i32)))
+ (import "env" "deflate_slow" (func $fimport$26 (param i32 i32) (result i32)))
+ (import "env" "_tr_init" (func $fimport$27 (param i32)))
+ (import "env" "init_block" (func $fimport$28 (param i32)))
+ (import "env" "_tr_stored_block" (func $fimport$29 (param i32 i32 i32 i32)))
+ (import "env" "_tr_align" (func $fimport$30 (param i32)))
+ (import "env" "_tr_flush_block" (func $fimport$31 (param i32 i32 i32 i32)))
+ (import "env" "build_tree" (func $fimport$32 (param i32 i32)))
+ (import "env" "compress_block" (func $fimport$33 (param i32 i32 i32)))
+ (import "env" "send_tree" (func $fimport$34 (param i32 i32 i32)))
+ (import "env" "inflate_table" (func $fimport$35 (param i32 i32 i32 i32 i32 i32) (result i32)))
+ (import "env" "inflate_fast" (func $fimport$36 (param i32 i32)))
+ (import "env" "inflateInit2_" (func $fimport$37 (param i32 i32 i32 i32) (result i32)))
+ (import "env" "inflateInit_" (func $fimport$38 (param i32 i32 i32) (result i32)))
+ (import "env" "inflate" (func $fimport$39 (param i32 i32) (result i32)))
+ (import "env" "updatewindow" (func $fimport$40 (param i32 i32) (result i32)))
+ (import "env" "inflateEnd" (func $fimport$41 (param i32) (result i32)))
+ (import "env" "uncompress" (func $fimport$42 (param i32 i32 i32 i32) (result i32)))
+ (import "env" "zcalloc" (func $fimport$43 (param i32 i32 i32) (result i32)))
+ (import "env" "zcfree" (func $fimport$44 (param i32 i32)))
+ (import "env" "strcmp" (func $fimport$45 (param i32 i32) (result i32)))
+ (import "env" "puts" (func $fimport$46 (param i32) (result i32)))
+ (import "env" "strlen" (func $fimport$47 (param i32) (result i32)))
+ (import "env" "fputs" (func $fimport$48 (param i32 i32) (result i32)))
+ (import "env" "__towrite" (func $fimport$49 (param i32) (result i32)))
+ (import "env" "__fwritex" (func $fimport$50 (param i32 i32 i32) (result i32)))
+ (import "env" "fwrite" (func $fimport$51 (param i32 i32 i32 i32) (result i32)))
+ (import "env" "__lockfile" (func $fimport$52 (param i32) (result i32)))
+ (import "env" "__unlockfile" (func $fimport$53 (param i32)))
+ (import "env" "__stdout_write" (func $fimport$54 (param i32 i32 i32) (result i32)))
+ (import "env" "__errno_location" (func $fimport$55 (result i32)))
+ (import "env" "__syscall_ret" (func $fimport$56 (param i32) (result i32)))
+ (import "env" "dummy" (func $fimport$57 (param i32) (result i32)))
+ (import "env" "__stdio_close" (func $fimport$58 (param i32) (result i32)))
+ (import "env" "printf" (func $fimport$59 (param i32 i32) (result i32)))
+ (import "env" "__overflow" (func $fimport$60 (param i32 i32) (result i32)))
+ (import "env" "isdigit" (func $fimport$61 (param i32) (result i32)))
+ (import "env" "memchr" (func $fimport$62 (param i32 i32 i32) (result i32)))
+ (import "env" "pthread_self" (func $fimport$63 (result i32)))
+ (import "env" "wcrtomb" (func $fimport$64 (param i32 i32 i32) (result i32)))
+ (import "env" "__pthread_self" (func $fimport$65 (result i32)))
+ (import "env" "wctomb" (func $fimport$66 (param i32 i32) (result i32)))
+ (import "env" "__signbitl" (func $fimport$67 (param i64 i64) (result i32)))
+ (import "env" "frexpl" (func $fimport$68 (param i32 i64 i64 i32)))
+ (import "env" "vfprintf" (func $fimport$69 (param i32 i32 i32) (result i32)))
+ (import "env" "printf_core" (func $fimport$70 (param i32 i32 i32 i32 i32) (result i32)))
+ (import "env" "out" (func $fimport$71 (param i32 i32 i32)))
+ (import "env" "getint" (func $fimport$72 (param i32) (result i32)))
+ (import "env" "pop_arg" (func $fimport$73 (param i32 i32 i32)))
+ (import "env" "fmt_x" (func $fimport$74 (param i64 i32 i32) (result i32)))
+ (import "env" "fmt_o" (func $fimport$75 (param i64 i32) (result i32)))
+ (import "env" "fmt_u" (func $fimport$76 (param i64 i32) (result i32)))
+ (import "env" "pad" (func $fimport$77 (param i32 i32 i32 i32 i32)))
+ (import "env" "fmt_fp" (func $fimport$78 (param i32 i64 i64 i32 i32 i32 i32) (result i32)))
+ (import "env" "__stdio_seek" (func $fimport$79 (param i32 i32 i32) (result i32)))
+ (import "env" "__stdio_write" (func $fimport$80 (param i32 i32 i32) (result i32)))
+ (import "env" "malloc" (func $fimport$81 (param i32) (result i32)))
+ (import "env" "free" (func $fimport$82 (param i32)))
+ (import "env" "__addtf3" (func $fimport$83 (param i32 i64 i64 i64 i64)))
+ (import "env" "__ashlti3" (func $fimport$84 (param i32 i64 i64 i32)))
+ (import "env" "__unordtf2" (func $fimport$85 (param i64 i64 i64 i64) (result i32)))
+ (import "env" "__eqtf2" (func $fimport$86 (param i64 i64 i64 i64) (result i32)))
+ (import "env" "__netf2" (func $fimport$87 (param i64 i64 i64 i64) (result i32)))
+ (import "env" "__extenddftf2" (func $fimport$88 (param i32 f64)))
+ (import "env" "__fixtfsi" (func $fimport$89 (param i64 i64) (result i32)))
+ (import "env" "__fixunstfsi" (func $fimport$90 (param i64 i64) (result i32)))
+ (import "env" "__floatsitf" (func $fimport$91 (param i32 i32)))
+ (import "env" "__floatunsitf" (func $fimport$92 (param i32 i32)))
+ (import "env" "__lshrti3" (func $fimport$93 (param i32 i64 i64 i32)))
+ (import "env" "__multf3" (func $fimport$94 (param i32 i64 i64 i64 i64)))
+ (import "env" "__subtf3" (func $fimport$95 (param i32 i64 i64 i64 i64)))
+ (import "env" "__fpclassifyl" (func $fimport$96 (param i64 i64) (result i32)))
+ (import "env" "memset" (func $fimport$97 (param i32 i32 i32) (result i32)))
+ (import "env" "memcpy" (func $fimport$98 (param i32 i32 i32) (result i32)))
+ (import "env" "setThrew" (func $fimport$99 (param i32 i32)))
+ (import "env" "stackSave" (func $fimport$100 (result i32)))
+ (import "env" "stackAlloc" (func $fimport$101 (param i32) (result i32)))
+ (import "env" "stackRestore" (func $fimport$102 (param i32)))
+ (import "env" "__growWasmMemory" (func $fimport$103 (param i32) (result i32)))
+ (import "env" "dynCall_iiii" (func $fimport$104 (param i32 i32 i32 i32) (result i32)))
+ (import "env" "dynCall_vii" (func $fimport$105 (param i32 i32 i32)))
+ (import "env" "dynCall_iii" (func $fimport$106 (param i32 i32 i32) (result i32)))
+ (import "env" "dynCall_ii" (func $fimport$107 (param i32 i32) (result i32)))
+ (global $global$0 (mut i32) (i32.const 5243904))
+ (global $global$1 i32 (i32.const 5260880))
+ (global $global$2 i32 (i32.const 17988))
+ (export "deflate" (func $0))
+ (func $0 (; 108 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@@ -105,15 +154,6 @@
(local $8 i32)
(local $9 i32)
(local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 i32)
- (local $16 i32)
- (local $17 i32)
- (local $18 i32)
- (local $19 i32)
(local.set $2
(i32.const -2)
)
@@ -179,7 +219,7 @@
)
(i32.store offset=24
(local.get $0)
- (i32.load offset=15792
+ (i32.load offset=16992
(i32.const 0)
)
)
@@ -195,7 +235,7 @@
)
(i32.store offset=24
(local.get $0)
- (i32.load offset=15804
+ (i32.load offset=17004
(i32.const 0)
)
)
@@ -245,7 +285,7 @@
)
(i32.store offset=48
(local.get $0)
- (call $crc32
+ (call $fimport$14
(i32.const 0)
(i32.const 0)
(i32.const 0)
@@ -319,17 +359,12 @@
)
)
)
- (i32.store
- (local.tee $2
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
- )
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $5
- (i32.load
- (local.get $2)
+ (local.tee $2
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -337,24 +372,19 @@
)
(i32.store8
(i32.add
- (local.get $5)
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
+ (local.get $2)
+ (i32.load offset=8
+ (local.get $3)
)
)
(i32.const 0)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $5
- (i32.load
- (local.get $2)
+ (local.tee $2
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -362,19 +392,19 @@
)
(i32.store8
(i32.add
- (local.get $5)
- (i32.load
- (local.get $6)
+ (local.get $2)
+ (i32.load offset=8
+ (local.get $3)
)
)
(i32.const 0)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $5
- (i32.load
- (local.get $2)
+ (local.tee $2
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -382,19 +412,19 @@
)
(i32.store8
(i32.add
- (local.get $5)
- (i32.load
- (local.get $6)
+ (local.get $2)
+ (i32.load offset=8
+ (local.get $3)
)
)
(i32.const 0)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $5
- (i32.load
- (local.get $2)
+ (local.tee $2
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -402,19 +432,19 @@
)
(i32.store8
(i32.add
- (local.get $5)
- (i32.load
- (local.get $6)
+ (local.get $2)
+ (i32.load offset=8
+ (local.get $3)
)
)
(i32.const 0)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $5
- (i32.load
- (local.get $2)
+ (local.tee $2
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -422,14 +452,14 @@
)
(i32.store8
(i32.add
- (local.get $5)
- (i32.load
- (local.get $6)
+ (local.get $2)
+ (i32.load offset=8
+ (local.get $3)
)
)
(i32.const 0)
)
- (local.set $6
+ (local.set $2
(i32.const 2)
)
(block $label$20
@@ -443,7 +473,7 @@
(i32.const 9)
)
)
- (local.set $6
+ (local.set $2
(select
(i32.const 4)
(i32.shl
@@ -462,12 +492,12 @@
)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
(local.tee $5
- (i32.load
- (local.get $2)
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -476,23 +506,18 @@
(i32.store8
(i32.add
(local.get $5)
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
+ (i32.load offset=8
+ (local.get $3)
)
)
- (local.get $6)
- )
- (i32.store
(local.get $2)
+ )
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $6
- (i32.load
- (local.get $2)
+ (local.tee $2
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -500,76 +525,63 @@
)
(i32.store8
(i32.add
- (local.get $6)
- (i32.load
- (local.get $7)
+ (local.get $2)
+ (i32.load offset=8
+ (local.get $3)
)
)
(i32.const 3)
)
- (i32.store
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
+ (i32.store offset=4
+ (local.get $3)
(i32.const 113)
)
(br $label$6)
)
- (local.set $6
+ (local.set $5
(i32.load offset=36
(local.get $2)
)
)
- (local.set $8
+ (local.set $6
(i32.load offset=28
(local.get $2)
)
)
- (local.set $9
+ (local.set $7
(i32.load offset=16
(local.get $2)
)
)
- (local.set $10
+ (local.set $8
(i32.load offset=44
(local.get $2)
)
)
- (local.set $11
+ (local.set $9
(i32.load
(local.get $2)
)
)
- (i32.store
- (local.tee $2
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
- )
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $12
- (i32.load
- (local.get $2)
+ (local.tee $10
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
)
)
- (local.set $7
+ (local.set $2
(i32.const 2)
)
(i32.store8
(i32.add
- (local.get $12)
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
+ (local.get $10)
+ (i32.load offset=8
+ (local.get $3)
)
)
(i32.or
@@ -578,19 +590,19 @@
(i32.or
(i32.shl
(i32.ne
- (local.get $10)
+ (local.get $8)
(i32.const 0)
)
(i32.const 1)
)
(i32.ne
- (local.get $11)
+ (local.get $9)
(i32.const 0)
)
)
(i32.shl
(i32.ne
- (local.get $9)
+ (local.get $7)
(i32.const 0)
)
(i32.const 2)
@@ -598,7 +610,7 @@
)
(i32.shl
(i32.ne
- (local.get $8)
+ (local.get $6)
(i32.const 0)
)
(i32.const 3)
@@ -606,31 +618,26 @@
)
(i32.shl
(i32.ne
- (local.get $6)
+ (local.get $5)
(i32.const 0)
)
(i32.const 4)
)
)
)
- (local.set $8
+ (local.set $5
(i32.load offset=4
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $3)
- (i32.const 28)
- )
- )
+ (i32.load offset=28
+ (local.get $3)
)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $9
- (i32.load
- (local.get $2)
+ (local.tee $6
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -638,26 +645,26 @@
)
(i32.store8
(i32.add
- (local.get $9)
- (i32.load
- (local.get $5)
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
)
)
- (local.get $8)
+ (local.get $5)
)
- (local.set $8
+ (local.set $5
(i32.load offset=4
- (i32.load
- (local.get $6)
+ (i32.load offset=28
+ (local.get $3)
)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $9
- (i32.load
- (local.get $2)
+ (local.tee $6
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -665,32 +672,32 @@
)
(i32.store8
(i32.add
- (local.get $9)
- (i32.load
- (local.get $5)
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
)
)
(i32.shr_u
- (local.get $8)
+ (local.get $5)
(i32.const 8)
)
)
- (local.set $8
+ (local.set $5
(i32.load16_u
(i32.add
- (i32.load
- (local.get $6)
+ (i32.load offset=28
+ (local.get $3)
)
(i32.const 6)
)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $9
- (i32.load
- (local.get $2)
+ (local.tee $6
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -698,29 +705,29 @@
)
(i32.store8
(i32.add
- (local.get $9)
- (i32.load
- (local.get $5)
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
)
)
- (local.get $8)
+ (local.get $5)
)
- (local.set $8
+ (local.set $5
(i32.load8_u
(i32.add
- (i32.load
- (local.get $6)
+ (i32.load offset=28
+ (local.get $3)
)
(i32.const 7)
)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $9
- (i32.load
- (local.get $2)
+ (local.tee $6
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -728,12 +735,12 @@
)
(i32.store8
(i32.add
- (local.get $9)
- (i32.load
- (local.get $5)
+ (local.get $6)
+ (i32.load offset=8
+ (local.get $3)
)
)
- (local.get $8)
+ (local.get $5)
)
(block $label$21
(br_if $label$21
@@ -746,7 +753,7 @@
(i32.const 9)
)
)
- (local.set $7
+ (local.set $2
(select
(i32.const 4)
(i32.shl
@@ -765,12 +772,12 @@
)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $8
- (i32.load
- (local.get $2)
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -778,31 +785,26 @@
)
(i32.store8
(i32.add
- (local.get $8)
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $3)
)
)
- (local.get $7)
+ (local.get $2)
)
- (local.set $7
+ (local.set $2
(i32.load offset=12
- (i32.load
- (local.get $6)
+ (i32.load offset=28
+ (local.get $3)
)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $8
- (i32.load
- (local.get $2)
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -810,41 +812,36 @@
)
(i32.store8
(i32.add
- (local.get $8)
- (i32.load
- (local.get $5)
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $3)
)
)
- (local.get $7)
+ (local.get $2)
)
(block $label$22
(br_if $label$22
(i32.eqz
(i32.load offset=16
(local.tee $2
- (i32.load
- (local.get $6)
+ (i32.load offset=28
+ (local.get $3)
)
)
)
)
)
- (local.set $6
+ (local.set $2
(i32.load offset=20
(local.get $2)
)
)
- (i32.store
- (local.tee $2
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
- )
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $7
- (i32.load
- (local.get $2)
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -852,31 +849,26 @@
)
(i32.store8
(i32.add
- (local.get $7)
- (i32.load
- (local.get $5)
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $3)
)
)
- (local.get $6)
+ (local.get $2)
)
- (local.set $7
+ (local.set $2
(i32.load offset=20
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $3)
- (i32.const 28)
- )
- )
+ (i32.load offset=28
+ (local.get $3)
)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $8
- (i32.load
- (local.get $2)
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -884,19 +876,19 @@
)
(i32.store8
(i32.add
- (local.get $8)
- (i32.load
- (local.get $5)
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $3)
)
)
(i32.shr_u
- (local.get $7)
+ (local.get $2)
(i32.const 8)
)
)
(local.set $2
- (i32.load
- (local.get $6)
+ (i32.load offset=28
+ (local.get $3)
)
)
)
@@ -908,46 +900,32 @@
)
)
)
- (i32.store
- (local.tee $2
- (i32.add
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
(local.get $0)
- (i32.const 48)
)
- )
- (call $crc32
- (i32.load
- (local.get $2)
- )
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
+ (i32.load offset=8
+ (local.get $3)
)
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
+ (i32.load offset=20
+ (local.get $3)
)
)
)
)
+ (i32.store offset=4
+ (local.get $3)
+ (i32.const 69)
+ )
(i32.store offset=32
(local.get $3)
(i32.const 0)
)
- (i32.store
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
- (i32.const 69)
- )
(br $label$16)
)
- (local.set $6
+ (local.set $5
(i32.add
(i32.shl
(i32.load offset=48
@@ -972,7 +950,7 @@
)
(br_if $label$24
(i32.lt_s
- (local.tee $5
+ (local.tee $6
(i32.load offset=132
(local.get $3)
)
@@ -985,7 +963,7 @@
)
(br_if $label$24
(i32.lt_s
- (local.get $5)
+ (local.get $6)
(i32.const 6)
)
)
@@ -994,25 +972,20 @@
(i32.const 128)
(i32.const 192)
(i32.eq
- (local.get $5)
+ (local.get $6)
(i32.const 6)
)
)
)
)
- (i32.store
- (local.tee $5
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
- )
+ (i32.store offset=4
+ (local.get $3)
(i32.const 113)
)
(i32.store offset=20
(local.get $3)
(i32.add
- (local.tee $7
+ (local.tee $6
(i32.load offset=20
(local.get $3)
)
@@ -1022,7 +995,7 @@
)
(i32.store8
(i32.add
- (local.get $7)
+ (local.get $6)
(i32.load offset=8
(local.get $3)
)
@@ -1034,7 +1007,7 @@
(local.tee $2
(i32.or
(local.get $2)
- (local.get $6)
+ (local.get $5)
)
)
(i32.const 32)
@@ -1051,7 +1024,7 @@
(i32.store offset=20
(local.get $3)
(i32.add
- (local.tee $6
+ (local.tee $5
(i32.load offset=20
(local.get $3)
)
@@ -1061,7 +1034,7 @@
)
(i32.store8
(i32.add
- (local.get $6)
+ (local.get $5)
(i32.load offset=8
(local.get $3)
)
@@ -1085,22 +1058,17 @@
)
)
)
- (local.set $7
+ (local.set $2
(i32.load offset=48
(local.get $0)
)
)
- (i32.store
- (local.tee $2
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
- )
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $8
- (i32.load
- (local.get $2)
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -1108,27 +1076,22 @@
)
(i32.store8
(i32.add
- (local.get $8)
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $3)
)
)
(i32.shr_u
- (local.get $7)
+ (local.get $2)
(i32.const 24)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $8
- (i32.load
- (local.get $2)
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -1136,27 +1099,27 @@
)
(i32.store8
(i32.add
- (local.get $8)
- (i32.load
- (local.get $6)
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $3)
)
)
(i32.shr_u
- (local.get $7)
+ (local.get $2)
(i32.const 16)
)
)
- (local.set $7
+ (local.set $2
(i32.load offset=48
(local.get $0)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $8
- (i32.load
- (local.get $2)
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -1164,22 +1127,22 @@
)
(i32.store8
(i32.add
- (local.get $8)
- (i32.load
- (local.get $6)
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $3)
)
)
(i32.shr_u
- (local.get $7)
+ (local.get $2)
(i32.const 8)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $8
- (i32.load
- (local.get $2)
+ (local.tee $5
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -1187,25 +1150,25 @@
)
(i32.store8
(i32.add
- (local.get $8)
- (i32.load
- (local.get $6)
+ (local.get $5)
+ (i32.load offset=8
+ (local.get $3)
)
)
- (local.get $7)
+ (local.get $2)
)
)
(i32.store offset=48
(local.get $0)
- (call $adler32
+ (call $fimport$15
(i32.const 0)
(i32.const 0)
(i32.const 0)
)
)
(local.set $2
- (i32.load
- (local.get $5)
+ (i32.load offset=4
+ (local.get $3)
)
)
)
@@ -1221,7 +1184,7 @@
(br_if $label$27
(i32.eqz
(i32.load offset=16
- (local.tee $6
+ (local.tee $5
(i32.load offset=28
(local.get $3)
)
@@ -1236,59 +1199,17 @@
)
(br_if $label$26
(i32.ge_u
- (local.tee $5
+ (local.tee $6
(i32.load offset=32
(local.get $3)
)
)
(i32.load16_u offset=20
- (local.get $6)
+ (local.get $5)
)
)
)
- (local.set $10
- (i32.add
- (local.get $3)
- (i32.const 12)
- )
- )
- (local.set $11
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
- (local.set $13
- (i32.add
- (local.get $0)
- (i32.const 48)
- )
- )
- (local.set $12
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- )
- (local.set $14
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
- (local.set $8
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
- )
(local.set $7
- (i32.add
- (local.get $3)
- (i32.const 32)
- )
- )
- (local.set $9
(local.get $2)
)
(loop $label$28
@@ -1296,8 +1217,8 @@
(br_if $label$29
(i32.ne
(local.get $2)
- (i32.load
- (local.get $10)
+ (i32.load offset=12
+ (local.get $3)
)
)
)
@@ -1305,31 +1226,31 @@
(br_if $label$30
(i32.le_u
(local.get $2)
- (local.get $9)
+ (local.get $7)
)
)
(br_if $label$30
(i32.eqz
(i32.load offset=44
- (local.get $6)
+ (local.get $5)
)
)
)
- (i32.store
- (local.get $13)
- (call $crc32
- (i32.load
- (local.get $13)
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
+ (local.get $0)
)
(i32.add
- (i32.load
- (local.get $11)
+ (i32.load offset=8
+ (local.get $3)
)
- (local.get $9)
+ (local.get $7)
)
(i32.sub
(local.get $2)
- (local.get $9)
+ (local.get $7)
)
)
)
@@ -1340,21 +1261,21 @@
(local.tee $2
(select
(local.tee $2
- (i32.load
- (local.get $12)
+ (i32.load offset=16
+ (local.get $0)
)
)
- (local.tee $6
+ (local.tee $5
(i32.load offset=20
- (local.tee $5
- (i32.load
- (local.get $14)
+ (local.tee $6
+ (i32.load offset=28
+ (local.get $0)
)
)
)
)
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(local.get $2)
)
)
@@ -1362,72 +1283,62 @@
)
)
(drop
- (call $memcpy
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $0)
- (i32.const 12)
- )
- )
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
)
(i32.load offset=16
- (local.get $5)
+ (local.get $6)
)
(local.get $2)
)
)
- (i32.store
- (local.get $6)
+ (i32.store offset=12
+ (local.get $0)
(i32.add
- (i32.load
- (local.get $6)
+ (i32.load offset=12
+ (local.get $0)
)
(local.get $2)
)
)
(i32.store offset=16
- (local.tee $6
- (i32.load
- (local.get $14)
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
)
)
(i32.add
(i32.load offset=16
- (local.get $6)
+ (local.get $5)
)
(local.get $2)
)
)
- (i32.store
- (local.tee $5
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
- )
+ (i32.store offset=20
+ (local.get $0)
(i32.add
- (i32.load
- (local.get $5)
+ (i32.load offset=20
+ (local.get $0)
)
(local.get $2)
)
)
- (i32.store
- (local.get $12)
+ (i32.store offset=16
+ (local.get $0)
(i32.sub
- (i32.load
- (local.get $12)
+ (i32.load offset=16
+ (local.get $0)
)
(local.get $2)
)
)
(i32.store offset=20
- (local.get $6)
+ (local.get $5)
(local.tee $2
(i32.sub
(i32.load offset=20
- (local.get $6)
+ (local.get $5)
)
(local.get $2)
)
@@ -1436,57 +1347,51 @@
(br_if $label$31
(local.get $2)
)
- (i32.store
- (i32.add
- (local.get $6)
- (i32.const 16)
- )
+ (i32.store offset=16
+ (local.get $5)
(i32.load offset=8
- (local.get $6)
+ (local.get $5)
)
)
)
- (local.set $6
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 28)
- )
+ (local.set $5
+ (i32.load offset=28
+ (local.get $3)
)
)
(br_if $label$26
(i32.eq
(local.tee $2
- (i32.load
- (local.get $8)
+ (i32.load offset=20
+ (local.get $3)
)
)
- (i32.load
- (local.get $10)
+ (i32.load offset=12
+ (local.get $3)
)
)
)
- (local.set $5
- (i32.load
- (local.get $7)
+ (local.set $6
+ (i32.load offset=32
+ (local.get $3)
)
)
- (local.set $9
+ (local.set $7
(local.get $2)
)
)
- (local.set $6
+ (local.set $5
(i32.load8_u
(i32.add
(i32.load offset=16
- (local.get $6)
+ (local.get $5)
)
- (local.get $5)
+ (local.get $6)
)
)
)
- (i32.store
- (local.get $8)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
(local.get $2)
(i32.const 1)
@@ -1494,19 +1399,19 @@
)
(i32.store8
(i32.add
- (i32.load
- (local.get $11)
+ (i32.load offset=8
+ (local.get $3)
)
(local.get $2)
)
- (local.get $6)
+ (local.get $5)
)
- (i32.store
- (local.get $7)
- (local.tee $5
+ (i32.store offset=32
+ (local.get $3)
+ (local.tee $6
(i32.add
- (i32.load
- (local.get $7)
+ (i32.load offset=32
+ (local.get $3)
)
(i32.const 1)
)
@@ -1515,37 +1420,31 @@
(block $label$32
(br_if $label$32
(i32.lt_u
- (local.get $5)
+ (local.get $6)
(i32.load16_u offset=20
- (local.tee $6
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 28)
- )
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $3)
)
)
)
)
)
(local.set $2
- (local.get $9)
+ (local.get $7)
)
(br $label$26)
)
(local.set $2
- (i32.load
- (local.get $8)
+ (i32.load offset=20
+ (local.get $3)
)
)
(br $label$28)
)
)
- (i32.store
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
+ (i32.store offset=4
+ (local.get $3)
(i32.const 73)
)
(br $label$14)
@@ -1554,18 +1453,15 @@
(br_if $label$33
(i32.eqz
(i32.load offset=44
- (local.get $6)
+ (local.get $5)
)
)
)
(br_if $label$33
(i32.le_u
- (local.tee $5
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
+ (local.tee $6
+ (i32.load offset=20
+ (local.get $3)
)
)
(local.get $2)
@@ -1573,7 +1469,7 @@
)
(i32.store offset=48
(local.get $0)
- (call $crc32
+ (call $fimport$14
(i32.load offset=48
(local.get $0)
)
@@ -1584,55 +1480,41 @@
(local.get $2)
)
(i32.sub
- (local.get $5)
+ (local.get $6)
(local.get $2)
)
)
)
- (local.set $6
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 28)
- )
+ (local.set $5
+ (i32.load offset=28
+ (local.get $3)
)
)
)
(block $label$34
(br_if $label$34
(i32.ne
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $3)
- (i32.const 32)
- )
- )
+ (i32.load offset=32
+ (local.get $3)
)
(i32.load offset=20
- (local.get $6)
+ (local.get $5)
)
)
)
- (i32.store
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
+ (i32.store offset=4
+ (local.get $3)
(i32.const 73)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=32
+ (local.get $3)
(i32.const 0)
)
(br $label$14)
)
(local.set $2
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
+ (i32.load offset=4
+ (local.get $3)
)
)
)
@@ -1642,7 +1524,7 @@
(i32.const 73)
)
)
- (local.set $6
+ (local.set $5
(i32.load offset=28
(local.get $3)
)
@@ -1651,53 +1533,11 @@
(br_if $label$11
(i32.eqz
(i32.load offset=28
- (local.get $6)
+ (local.get $5)
)
)
)
- (local.set $10
- (i32.add
- (local.get $3)
- (i32.const 12)
- )
- )
- (local.set $11
- (i32.add
- (local.get $3)
- (i32.const 28)
- )
- )
- (local.set $12
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
- (local.set $13
- (i32.add
- (local.get $0)
- (i32.const 48)
- )
- )
- (local.set $14
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- )
- (local.set $5
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
- )
(local.set $7
- (i32.add
- (local.get $3)
- (i32.const 32)
- )
- )
- (local.set $9
(local.tee $2
(i32.load offset=20
(local.get $3)
@@ -1711,8 +1551,8 @@
(br_if $label$38
(i32.ne
(local.get $2)
- (i32.load
- (local.get $10)
+ (i32.load offset=12
+ (local.get $3)
)
)
)
@@ -1720,33 +1560,33 @@
(br_if $label$39
(i32.le_u
(local.get $2)
- (local.get $9)
+ (local.get $7)
)
)
(br_if $label$39
(i32.eqz
(i32.load offset=44
- (i32.load
- (local.get $11)
+ (i32.load offset=28
+ (local.get $3)
)
)
)
)
- (i32.store
- (local.get $13)
- (call $crc32
- (i32.load
- (local.get $13)
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
+ (local.get $0)
)
(i32.add
- (i32.load
- (local.get $12)
+ (i32.load offset=8
+ (local.get $3)
)
- (local.get $9)
+ (local.get $7)
)
(i32.sub
(local.get $2)
- (local.get $9)
+ (local.get $7)
)
)
)
@@ -1757,26 +1597,21 @@
(local.tee $2
(select
(local.tee $2
- (i32.load
- (local.get $14)
+ (i32.load offset=16
+ (local.get $0)
)
)
- (local.tee $6
+ (local.tee $5
(i32.load offset=20
- (local.tee $9
- (i32.load
- (local.tee $8
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
+ (local.tee $6
+ (i32.load offset=28
+ (local.get $0)
)
)
)
)
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(local.get $2)
)
)
@@ -1784,72 +1619,62 @@
)
)
(drop
- (call $memcpy
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $0)
- (i32.const 12)
- )
- )
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
)
(i32.load offset=16
- (local.get $9)
+ (local.get $6)
)
(local.get $2)
)
)
- (i32.store
- (local.get $6)
+ (i32.store offset=12
+ (local.get $0)
(i32.add
- (i32.load
- (local.get $6)
+ (i32.load offset=12
+ (local.get $0)
)
(local.get $2)
)
)
(i32.store offset=16
- (local.tee $6
- (i32.load
- (local.get $8)
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
)
)
(i32.add
(i32.load offset=16
- (local.get $6)
+ (local.get $5)
)
(local.get $2)
)
)
- (i32.store
- (local.tee $8
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
- )
+ (i32.store offset=20
+ (local.get $0)
(i32.add
- (i32.load
- (local.get $8)
+ (i32.load offset=20
+ (local.get $0)
)
(local.get $2)
)
)
- (i32.store
- (local.get $14)
+ (i32.store offset=16
+ (local.get $0)
(i32.sub
- (i32.load
- (local.get $14)
+ (i32.load offset=16
+ (local.get $0)
)
(local.get $2)
)
)
(i32.store offset=20
- (local.get $6)
+ (local.get $5)
(local.tee $2
(i32.sub
(i32.load offset=20
- (local.get $6)
+ (local.get $5)
)
(local.get $2)
)
@@ -1858,60 +1683,57 @@
(br_if $label$40
(local.get $2)
)
- (i32.store
- (i32.add
- (local.get $6)
- (i32.const 16)
- )
+ (i32.store offset=16
+ (local.get $5)
(i32.load offset=8
- (local.get $6)
+ (local.get $5)
)
)
)
(br_if $label$36
(i32.eq
(local.tee $2
- (i32.load
- (local.get $5)
+ (i32.load offset=20
+ (local.get $3)
)
)
- (i32.load
- (local.get $10)
+ (i32.load offset=12
+ (local.get $3)
)
)
)
- (local.set $9
+ (local.set $7
(local.get $2)
)
)
- (local.set $6
+ (local.set $5
(i32.load offset=28
- (i32.load
- (local.get $11)
+ (i32.load offset=28
+ (local.get $3)
)
)
)
- (i32.store
- (local.get $7)
+ (i32.store offset=32
+ (local.get $3)
(i32.add
- (local.tee $8
- (i32.load
- (local.get $7)
+ (local.tee $6
+ (i32.load offset=32
+ (local.get $3)
)
)
(i32.const 1)
)
)
- (local.set $6
+ (local.set $5
(i32.load8_u
(i32.add
+ (local.get $5)
(local.get $6)
- (local.get $8)
)
)
)
- (i32.store
- (local.get $5)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
(local.get $2)
(i32.const 1)
@@ -1919,34 +1741,34 @@
)
(i32.store8
(i32.add
- (i32.load
- (local.get $12)
+ (i32.load offset=8
+ (local.get $3)
)
(local.get $2)
)
- (local.get $6)
+ (local.get $5)
)
(block $label$41
(br_if $label$41
- (local.get $6)
+ (local.get $5)
)
- (local.set $6
+ (local.set $5
(i32.const 0)
)
(local.set $2
- (local.get $9)
+ (local.get $7)
)
(br $label$35)
)
(local.set $2
- (i32.load
- (local.get $5)
+ (i32.load offset=20
+ (local.get $3)
)
)
(br $label$37)
)
)
- (local.set $6
+ (local.set $5
(i32.const 1)
)
)
@@ -1954,50 +1776,36 @@
(br_if $label$42
(i32.eqz
(i32.load offset=44
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 28)
- )
+ (i32.load offset=28
+ (local.get $3)
)
)
)
)
(br_if $label$42
(i32.le_u
- (local.tee $5
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
+ (local.tee $6
+ (i32.load offset=20
+ (local.get $3)
)
)
(local.get $2)
)
)
- (i32.store
- (local.tee $7
- (i32.add
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
(local.get $0)
- (i32.const 48)
- )
- )
- (call $crc32
- (i32.load
- (local.get $7)
)
(i32.add
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
+ (i32.load offset=8
+ (local.get $3)
)
(local.get $2)
)
(i32.sub
- (local.get $5)
+ (local.get $6)
(local.get $2)
)
)
@@ -2005,15 +1813,12 @@
)
(br_if $label$12
(i32.eqz
- (local.get $6)
+ (local.get $5)
)
)
(local.set $2
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
+ (i32.load offset=4
+ (local.get $3)
)
)
)
@@ -2025,19 +1830,13 @@
)
(br $label$9)
)
- (i32.store
- (i32.add
- (local.get $3)
- (i32.const 32)
- )
+ (i32.store offset=32
+ (local.get $3)
(i32.const 0)
)
)
- (i32.store
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
+ (i32.store offset=4
+ (local.get $3)
(i32.const 91)
)
)
@@ -2050,49 +1849,7 @@
)
)
)
- (local.set $10
- (i32.add
- (local.get $3)
- (i32.const 12)
- )
- )
- (local.set $11
- (i32.add
- (local.get $3)
- (i32.const 28)
- )
- )
- (local.set $12
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
- )
- (local.set $13
- (i32.add
- (local.get $0)
- (i32.const 48)
- )
- )
- (local.set $14
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- )
- (local.set $5
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
- )
(local.set $7
- (i32.add
- (local.get $3)
- (i32.const 32)
- )
- )
- (local.set $9
(local.tee $2
(i32.load offset=20
(local.get $3)
@@ -2106,8 +1863,8 @@
(br_if $label$46
(i32.ne
(local.get $2)
- (i32.load
- (local.get $10)
+ (i32.load offset=12
+ (local.get $3)
)
)
)
@@ -2115,33 +1872,33 @@
(br_if $label$47
(i32.le_u
(local.get $2)
- (local.get $9)
+ (local.get $7)
)
)
(br_if $label$47
(i32.eqz
(i32.load offset=44
- (i32.load
- (local.get $11)
+ (i32.load offset=28
+ (local.get $3)
)
)
)
)
- (i32.store
- (local.get $13)
- (call $crc32
- (i32.load
- (local.get $13)
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
+ (local.get $0)
)
(i32.add
- (i32.load
- (local.get $12)
+ (i32.load offset=8
+ (local.get $3)
)
- (local.get $9)
+ (local.get $7)
)
(i32.sub
(local.get $2)
- (local.get $9)
+ (local.get $7)
)
)
)
@@ -2152,26 +1909,21 @@
(local.tee $2
(select
(local.tee $2
- (i32.load
- (local.get $14)
+ (i32.load offset=16
+ (local.get $0)
)
)
- (local.tee $6
+ (local.tee $5
(i32.load offset=20
- (local.tee $9
- (i32.load
- (local.tee $8
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
+ (local.tee $6
+ (i32.load offset=28
+ (local.get $0)
)
)
)
)
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(local.get $2)
)
)
@@ -2179,72 +1931,62 @@
)
)
(drop
- (call $memcpy
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $0)
- (i32.const 12)
- )
- )
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
)
(i32.load offset=16
- (local.get $9)
+ (local.get $6)
)
(local.get $2)
)
)
- (i32.store
- (local.get $6)
+ (i32.store offset=12
+ (local.get $0)
(i32.add
- (i32.load
- (local.get $6)
+ (i32.load offset=12
+ (local.get $0)
)
(local.get $2)
)
)
(i32.store offset=16
- (local.tee $6
- (i32.load
- (local.get $8)
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
)
)
(i32.add
(i32.load offset=16
- (local.get $6)
+ (local.get $5)
)
(local.get $2)
)
)
- (i32.store
- (local.tee $8
- (i32.add
- (local.get $0)
- (i32.const 20)
- )
- )
+ (i32.store offset=20
+ (local.get $0)
(i32.add
- (i32.load
- (local.get $8)
+ (i32.load offset=20
+ (local.get $0)
)
(local.get $2)
)
)
- (i32.store
- (local.get $14)
+ (i32.store offset=16
+ (local.get $0)
(i32.sub
- (i32.load
- (local.get $14)
+ (i32.load offset=16
+ (local.get $0)
)
(local.get $2)
)
)
(i32.store offset=20
- (local.get $6)
+ (local.get $5)
(local.tee $2
(i32.sub
(i32.load offset=20
- (local.get $6)
+ (local.get $5)
)
(local.get $2)
)
@@ -2253,60 +1995,57 @@
(br_if $label$48
(local.get $2)
)
- (i32.store
- (i32.add
- (local.get $6)
- (i32.const 16)
- )
+ (i32.store offset=16
+ (local.get $5)
(i32.load offset=8
- (local.get $6)
+ (local.get $5)
)
)
)
(br_if $label$44
(i32.eq
(local.tee $2
- (i32.load
- (local.get $5)
+ (i32.load offset=20
+ (local.get $3)
)
)
- (i32.load
- (local.get $10)
+ (i32.load offset=12
+ (local.get $3)
)
)
)
- (local.set $9
+ (local.set $7
(local.get $2)
)
)
- (local.set $6
+ (local.set $5
(i32.load offset=36
- (i32.load
- (local.get $11)
+ (i32.load offset=28
+ (local.get $3)
)
)
)
- (i32.store
- (local.get $7)
+ (i32.store offset=32
+ (local.get $3)
(i32.add
- (local.tee $8
- (i32.load
- (local.get $7)
+ (local.tee $6
+ (i32.load offset=32
+ (local.get $3)
)
)
(i32.const 1)
)
)
- (local.set $6
+ (local.set $5
(i32.load8_u
(i32.add
+ (local.get $5)
(local.get $6)
- (local.get $8)
)
)
)
- (i32.store
- (local.get $5)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
(local.get $2)
(i32.const 1)
@@ -2314,34 +2053,34 @@
)
(i32.store8
(i32.add
- (i32.load
- (local.get $12)
+ (i32.load offset=8
+ (local.get $3)
)
(local.get $2)
)
- (local.get $6)
+ (local.get $5)
)
(block $label$49
(br_if $label$49
- (local.get $6)
+ (local.get $5)
)
- (local.set $6
+ (local.set $5
(i32.const 0)
)
(local.set $2
- (local.get $9)
+ (local.get $7)
)
(br $label$43)
)
(local.set $2
- (i32.load
- (local.get $5)
+ (i32.load offset=20
+ (local.get $3)
)
)
(br $label$45)
)
)
- (local.set $6
+ (local.set $5
(i32.const 1)
)
)
@@ -2349,50 +2088,36 @@
(br_if $label$50
(i32.eqz
(i32.load offset=44
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 28)
- )
+ (i32.load offset=28
+ (local.get $3)
)
)
)
)
(br_if $label$50
(i32.le_u
- (local.tee $5
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
+ (local.tee $6
+ (i32.load offset=20
+ (local.get $3)
)
)
(local.get $2)
)
)
- (i32.store
- (local.tee $7
- (i32.add
+ (i32.store offset=48
+ (local.get $0)
+ (call $fimport$14
+ (i32.load offset=48
(local.get $0)
- (i32.const 48)
- )
- )
- (call $crc32
- (i32.load
- (local.get $7)
)
(i32.add
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 8)
- )
+ (i32.load offset=8
+ (local.get $3)
)
(local.get $2)
)
(i32.sub
- (local.get $5)
+ (local.get $6)
(local.get $2)
)
)
@@ -2400,15 +2125,12 @@
)
(br_if $label$8
(i32.eqz
- (local.get $6)
+ (local.get $5)
)
)
(local.set $2
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
+ (i32.load offset=4
+ (local.get $3)
)
)
)
@@ -2420,11 +2142,8 @@
)
(br $label$6)
)
- (i32.store
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
+ (i32.store offset=4
+ (local.get $3)
(i32.const 103)
)
)
@@ -2457,31 +2176,21 @@
(local.tee $2
(select
(local.tee $2
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- )
+ (i32.load offset=16
+ (local.get $0)
)
)
- (local.tee $6
+ (local.tee $5
(i32.load offset=20
- (local.tee $8
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
+ (local.tee $6
+ (i32.load offset=28
+ (local.get $0)
)
)
)
)
(i32.gt_u
- (local.get $6)
+ (local.get $5)
(local.get $2)
)
)
@@ -2489,39 +2198,34 @@
)
)
(drop
- (call $memcpy
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $0)
- (i32.const 12)
- )
- )
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
)
(i32.load offset=16
- (local.get $8)
+ (local.get $6)
)
(local.get $2)
)
)
- (i32.store
- (local.get $6)
+ (i32.store offset=12
+ (local.get $0)
(i32.add
- (i32.load
- (local.get $6)
+ (i32.load offset=12
+ (local.get $0)
)
(local.get $2)
)
)
(i32.store offset=16
- (local.tee $6
- (i32.load
- (local.get $7)
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
)
)
(i32.add
(i32.load offset=16
- (local.get $6)
+ (local.get $5)
)
(local.get $2)
)
@@ -2535,21 +2239,21 @@
(local.get $2)
)
)
- (i32.store
- (local.get $5)
+ (i32.store offset=16
+ (local.get $0)
(i32.sub
- (i32.load
- (local.get $5)
+ (i32.load offset=16
+ (local.get $0)
)
(local.get $2)
)
)
(i32.store offset=20
- (local.get $6)
+ (local.get $5)
(local.tee $2
(i32.sub
(i32.load offset=20
- (local.get $6)
+ (local.get $5)
)
(local.get $2)
)
@@ -2558,36 +2262,25 @@
(br_if $label$52
(local.get $2)
)
- (i32.store
- (i32.add
- (local.get $6)
- (i32.const 16)
- )
+ (i32.store offset=16
+ (local.get $5)
(i32.load offset=8
- (local.get $6)
+ (local.get $5)
)
)
)
(br_if $label$6
(i32.gt_u
(i32.add
- (local.tee $6
- (i32.load
- (local.tee $2
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
- )
+ (local.tee $2
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 2)
)
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 12)
- )
+ (i32.load offset=12
+ (local.get $3)
)
)
)
@@ -2596,10 +2289,10 @@
(local.get $0)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.get $6)
+ (local.get $2)
(i32.const 1)
)
)
@@ -2608,21 +2301,21 @@
(i32.load offset=8
(local.get $3)
)
- (local.get $6)
+ (local.get $2)
)
(local.get $5)
)
- (local.set $6
+ (local.set $2
(i32.load offset=48
(local.get $0)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
(local.tee $5
- (i32.load
- (local.get $2)
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -2636,32 +2329,26 @@
)
)
(i32.shr_u
- (local.get $6)
+ (local.get $2)
(i32.const 8)
)
)
(i32.store offset=48
(local.get $0)
- (call $crc32
+ (call $fimport$14
(i32.const 0)
(i32.const 0)
(i32.const 0)
)
)
- (i32.store
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
+ (i32.store offset=4
+ (local.get $3)
(i32.const 113)
)
(br $label$6)
)
- (i32.store
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
+ (i32.store offset=4
+ (local.get $3)
(i32.const 113)
)
)
@@ -2679,72 +2366,57 @@
(i32.eqz
(local.tee $2
(select
- (local.tee $6
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- )
+ (local.tee $5
+ (i32.load offset=16
+ (local.get $0)
)
)
(local.tee $2
(i32.load offset=20
- (local.tee $8
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
+ (local.tee $6
+ (i32.load offset=28
+ (local.get $0)
)
)
)
)
(i32.gt_u
(local.get $2)
- (local.get $6)
+ (local.get $5)
)
)
)
)
)
(drop
- (call $memcpy
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $0)
- (i32.const 12)
- )
- )
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
)
(i32.load offset=16
- (local.get $8)
+ (local.get $6)
)
(local.get $2)
)
)
- (i32.store
- (local.get $6)
+ (i32.store offset=12
+ (local.get $0)
(i32.add
- (i32.load
- (local.get $6)
+ (i32.load offset=12
+ (local.get $0)
)
(local.get $2)
)
)
(i32.store offset=16
- (local.tee $5
- (i32.load
- (local.get $5)
+ (local.tee $6
+ (i32.load offset=28
+ (local.get $0)
)
)
(i32.add
(i32.load offset=16
- (local.get $5)
+ (local.get $6)
)
(local.get $2)
)
@@ -2758,23 +2430,23 @@
(local.get $2)
)
)
- (i32.store
- (local.get $7)
- (local.tee $6
+ (i32.store offset=16
+ (local.get $0)
+ (local.tee $5
(i32.sub
- (i32.load
- (local.get $7)
+ (i32.load offset=16
+ (local.get $0)
)
(local.get $2)
)
)
)
(i32.store offset=20
- (local.get $5)
+ (local.get $6)
(local.tee $2
(i32.sub
(i32.load offset=20
- (local.get $5)
+ (local.get $6)
)
(local.get $2)
)
@@ -2783,24 +2455,18 @@
(br_if $label$55
(local.get $2)
)
- (i32.store
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
+ (i32.store offset=16
+ (local.get $6)
(i32.load offset=8
- (local.get $5)
+ (local.get $6)
)
)
)
(br_if $label$53
- (local.get $6)
+ (local.get $5)
)
- (i32.store
- (i32.add
- (local.get $3)
- (i32.const 40)
- )
+ (i32.store offset=40
+ (local.get $3)
(i32.const -1)
)
(return
@@ -2826,7 +2492,7 @@
)
(i32.store offset=24
(local.get $0)
- (i32.load offset=15804
+ (i32.load offset=17004
(i32.const 0)
)
)
@@ -2845,12 +2511,9 @@
(block $label$59
(br_if $label$59
(i32.ne
- (local.tee $6
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 4)
- )
+ (local.tee $5
+ (i32.load offset=4
+ (local.get $3)
)
)
(i32.const 666)
@@ -2863,7 +2526,7 @@
)
(i32.store offset=24
(local.get $0)
- (i32.load offset=15804
+ (i32.load offset=17004
(i32.const 0)
)
)
@@ -2882,7 +2545,7 @@
(local.get $1)
)
(i32.eq
- (local.get $6)
+ (local.get $5)
(i32.const 666)
)
)
@@ -2900,1581 +2563,88 @@
(block $label$60
(block $label$61
(block $label$62
- (block $label$63
- (block $label$64
- (br_if $label$64
- (i32.eq
- (local.tee $2
- (i32.load offset=136
- (local.get $3)
- )
- )
- (i32.const 3)
- )
- )
- (br_if $label$63
- (i32.ne
- (local.get $2)
- (i32.const 2)
- )
- )
- (local.set $6
- (i32.add
- (local.get $3)
- (i32.const 116)
- )
- )
- (local.set $11
- (i32.add
- (local.get $3)
- (i32.const 96)
- )
- )
- (local.set $2
- (i32.add
- (local.get $3)
- (i32.const 108)
- )
- )
- (local.set $10
- (i32.add
- (local.get $3)
- (i32.const 56)
- )
- )
- (local.set $7
- (i32.add
- (local.get $3)
- (i32.const 5792)
- )
- )
- (local.set $12
- (i32.add
- (local.get $3)
- (i32.const 5796)
- )
- )
- (local.set $14
- (i32.add
- (local.get $3)
- (i32.const 5784)
- )
- )
- (local.set $13
- (i32.add
- (local.get $3)
- (i32.const 5788)
- )
- )
- (local.set $4
- (i32.add
+ (br_if $label$62
+ (i32.eq
+ (local.tee $2
+ (i32.load offset=136
(local.get $3)
- (i32.const 92)
)
)
- (block $label$65
- (loop $label$66
- (block $label$67
- (br_if $label$67
- (i32.load
- (local.get $6)
- )
- )
- (call $fill_window
- (local.get $3)
- )
- (br_if $label$67
- (i32.load
- (local.get $6)
- )
- )
- (br_if $label$61
- (i32.eqz
- (local.get $1)
- )
- )
- (local.set $2
- (i32.const 0)
- )
- (block $label$68
- (br_if $label$68
- (i32.lt_s
- (local.tee $6
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $3)
- (i32.const 92)
- )
- )
- )
- )
- (i32.const 0)
- )
- )
- (local.set $2
- (i32.add
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 56)
- )
- )
- (local.get $6)
- )
- )
- )
- (call $_tr_flush_block
- (local.get $3)
- (local.get $2)
- (i32.sub
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $3)
- (i32.const 108)
- )
- )
- )
- (local.get $6)
- )
- (i32.eq
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $5)
- (i32.load
- (local.get $7)
- )
- )
- (block $label$69
- (br_if $label$69
- (i32.eqz
- (local.tee $6
- (select
- (local.tee $6
- (i32.load offset=16
- (local.tee $2
- (i32.load
- (local.get $3)
- )
- )
- )
- )
- (local.tee $5
- (i32.load offset=20
- (local.tee $7
- (i32.load offset=28
- (local.get $2)
- )
- )
- )
- )
- (i32.gt_u
- (local.get $5)
- (local.get $6)
- )
- )
- )
- )
- )
- (drop
- (call $memcpy
- (i32.load offset=12
- (local.get $2)
- )
- (i32.load offset=16
- (local.get $7)
- )
- (local.get $6)
- )
- )
- (i32.store offset=12
- (local.get $2)
- (i32.add
- (i32.load offset=12
- (local.get $2)
- )
- (local.get $6)
- )
- )
- (i32.store offset=16
- (local.tee $5
- (i32.load
- (i32.add
- (local.get $2)
- (i32.const 28)
- )
- )
- )
- (i32.add
- (i32.load offset=16
- (local.get $5)
- )
- (local.get $6)
- )
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (i32.load offset=20
- (local.get $2)
- )
- (local.get $6)
- )
- )
- (i32.store
- (local.tee $2
- (i32.add
- (local.get $2)
- (i32.const 16)
- )
- )
- (i32.sub
- (i32.load
- (local.get $2)
- )
- (local.get $6)
- )
- )
- (i32.store offset=20
- (local.get $5)
- (local.tee $2
- (i32.sub
- (i32.load offset=20
- (local.get $5)
- )
- (local.get $6)
- )
- )
- )
- (br_if $label$69
- (local.get $2)
- )
- (i32.store
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
- (i32.load offset=8
- (local.get $5)
- )
- )
- )
- (br_if $label$65
- (i32.load offset=16
- (i32.load
- (local.get $3)
- )
- )
- )
- (local.set $2
- (i32.shl
- (i32.eq
- (local.get $1)
- (i32.const 4)
- )
- (i32.const 1)
- )
- )
- (br $label$62)
- )
- (i32.store
- (local.get $11)
- (i32.const 0)
- )
- (local.set $5
- (i32.load8_u
- (i32.add
- (i32.load
- (local.get $10)
- )
- (i32.load
- (local.get $2)
- )
- )
- )
- )
- (i32.store16
- (i32.add
- (i32.load
- (local.get $12)
- )
- (i32.shl
- (local.tee $8
- (i32.load
- (local.get $7)
- )
- )
- (i32.const 1)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (local.get $7)
- (i32.add
- (local.get $8)
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $8)
- (i32.load
- (local.get $14)
- )
- )
- (local.get $5)
- )
- (i32.store16
- (local.tee $5
- (i32.add
- (i32.add
- (local.get $3)
- (i32.shl
- (local.get $5)
- (i32.const 2)
- )
- )
- (i32.const 148)
- )
- )
- (i32.add
- (i32.load16_u
- (local.get $5)
- )
- (i32.const 1)
- )
- )
- (i32.store
- (local.get $6)
- (i32.add
- (i32.load
- (local.get $6)
- )
- (i32.const -1)
- )
- )
- (i32.store
- (local.get $2)
- (local.tee $5
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const 1)
- )
- )
- )
- (br_if $label$66
- (i32.ne
- (i32.load
- (local.get $7)
- )
- (i32.add
- (i32.load
- (local.get $13)
- )
- (i32.const -1)
- )
- )
- )
- (local.set $8
- (i32.const 0)
- )
- (block $label$70
- (br_if $label$70
- (i32.lt_s
- (local.tee $9
- (i32.load
- (local.get $4)
- )
- )
- (i32.const 0)
- )
- )
- (local.set $8
- (i32.add
- (i32.load
- (local.get $10)
- )
- (local.get $9)
- )
- )
- )
- (call $_tr_flush_block
- (local.get $3)
- (local.get $8)
- (i32.sub
- (local.get $5)
- (local.get $9)
- )
- (i32.const 0)
- )
- (i32.store
- (local.get $4)
- (i32.load
- (local.get $2)
- )
- )
- (block $label$71
- (br_if $label$71
- (i32.eqz
- (local.tee $8
- (select
- (local.tee $8
- (i32.load offset=16
- (local.tee $5
- (i32.load
- (local.get $3)
- )
- )
- )
- )
- (local.tee $9
- (i32.load offset=20
- (local.tee $15
- (i32.load offset=28
- (local.get $5)
- )
- )
- )
- )
- (i32.gt_u
- (local.get $9)
- (local.get $8)
- )
- )
- )
- )
- )
- (drop
- (call $memcpy
- (i32.load offset=12
- (local.get $5)
- )
- (i32.load offset=16
- (local.get $15)
- )
- (local.get $8)
- )
- )
- (i32.store offset=12
- (local.get $5)
- (i32.add
- (i32.load offset=12
- (local.get $5)
- )
- (local.get $8)
- )
- )
- (i32.store offset=16
- (local.tee $9
- (i32.load
- (i32.add
- (local.get $5)
- (i32.const 28)
- )
- )
- )
- (i32.add
- (i32.load offset=16
- (local.get $9)
- )
- (local.get $8)
- )
- )
- (i32.store offset=20
- (local.get $5)
- (i32.add
- (i32.load offset=20
- (local.get $5)
- )
- (local.get $8)
- )
- )
- (i32.store
- (local.tee $5
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
- )
- (i32.sub
- (i32.load
- (local.get $5)
- )
- (local.get $8)
- )
- )
- (i32.store offset=20
- (local.get $9)
- (local.tee $5
- (i32.sub
- (i32.load offset=20
- (local.get $9)
- )
- (local.get $8)
- )
- )
- )
- (br_if $label$71
- (local.get $5)
- )
- (i32.store
- (i32.add
- (local.get $9)
- (i32.const 16)
- )
- (i32.load offset=8
- (local.get $9)
- )
- )
- )
- (br_if $label$66
- (i32.load offset=16
- (i32.load
- (local.get $3)
- )
- )
- )
- (br $label$61)
- )
- )
- (local.set $2
- (select
- (i32.const 3)
- (i32.const 1)
- (i32.eq
- (local.get $1)
- (i32.const 4)
- )
- )
- )
- (br $label$62)
- )
- (local.set $2
- (i32.add
- (local.get $3)
- (i32.const 116)
- )
- )
- (local.set $14
- (i32.add
- (local.get $3)
- (i32.const 96)
- )
- )
- (local.set $6
- (i32.add
- (local.get $3)
- (i32.const 108)
- )
- )
- (local.set $11
- (i32.add
- (local.get $3)
- (i32.const 56)
- )
- )
- (local.set $7
- (i32.add
- (local.get $3)
- (i32.const 5792)
- )
- )
- (local.set $13
- (i32.add
- (local.get $3)
- (i32.const 5796)
- )
- )
- (local.set $4
- (i32.add
- (local.get $3)
- (i32.const 5784)
- )
- )
- (local.set $15
- (i32.add
- (local.get $3)
- (i32.const 5788)
- )
- )
- (local.set $16
- (i32.add
- (local.get $3)
- (i32.const 92)
- )
+ (i32.const 3)
)
- (loop $label$72
- (block $label$73
- (block $label$74
- (block $label$75
- (block $label$76
- (br_if $label$76
- (i32.lt_u
- (local.tee $5
- (i32.load
- (local.get $2)
- )
- )
- (i32.const 258)
- )
- )
- (i32.store
- (local.get $14)
- (i32.const 0)
- )
- (br $label$75)
- )
- (call $fill_window
- (local.get $3)
- )
- (local.set $5
- (i32.load
- (local.get $2)
- )
- )
- (block $label$77
- (br_if $label$77
- (local.get $1)
- )
- (br_if $label$61
- (i32.lt_u
- (local.get $5)
- (i32.const 258)
- )
- )
- )
- (block $label$78
- (br_if $label$78
- (i32.eqz
- (local.get $5)
- )
- )
- (i32.store
- (local.get $14)
- (i32.const 0)
- )
- (br_if $label$75
- (i32.gt_u
- (local.get $5)
- (i32.const 2)
- )
- )
- (local.set $8
- (i32.load
- (local.get $6)
- )
- )
- (br $label$74)
- )
- (local.set $2
- (i32.const 0)
- )
- (block $label$79
- (br_if $label$79
- (i32.lt_s
- (local.tee $6
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $3)
- (i32.const 92)
- )
- )
- )
- )
- (i32.const 0)
- )
- )
- (local.set $2
- (i32.add
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 56)
- )
- )
- (local.get $6)
- )
- )
- )
- (call $_tr_flush_block
- (local.get $3)
- (local.get $2)
- (i32.sub
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $3)
- (i32.const 108)
- )
- )
- )
- (local.get $6)
- )
- (i32.eq
- (local.get $1)
- (i32.const 4)
- )
- )
- (i32.store
- (local.get $5)
- (i32.load
- (local.get $7)
- )
- )
- (block $label$80
- (br_if $label$80
- (i32.eqz
- (local.tee $6
- (select
- (local.tee $6
- (i32.load offset=16
- (local.tee $2
- (i32.load
- (local.get $3)
- )
- )
- )
- )
- (local.tee $5
- (i32.load offset=20
- (local.tee $7
- (i32.load offset=28
- (local.get $2)
- )
- )
- )
- )
- (i32.gt_u
- (local.get $5)
- (local.get $6)
- )
- )
- )
- )
- )
- (drop
- (call $memcpy
- (i32.load offset=12
- (local.get $2)
- )
- (i32.load offset=16
- (local.get $7)
- )
- (local.get $6)
- )
- )
- (i32.store offset=12
- (local.get $2)
- (i32.add
- (i32.load offset=12
- (local.get $2)
- )
- (local.get $6)
- )
- )
- (i32.store offset=16
- (local.tee $5
- (i32.load
- (i32.add
- (local.get $2)
- (i32.const 28)
- )
- )
- )
- (i32.add
- (i32.load offset=16
- (local.get $5)
- )
- (local.get $6)
- )
- )
- (i32.store offset=20
- (local.get $2)
- (i32.add
- (i32.load offset=20
- (local.get $2)
- )
- (local.get $6)
- )
- )
- (i32.store
- (local.tee $2
- (i32.add
- (local.get $2)
- (i32.const 16)
- )
- )
- (i32.sub
- (i32.load
- (local.get $2)
- )
- (local.get $6)
- )
- )
- (i32.store offset=20
- (local.get $5)
- (local.tee $2
- (i32.sub
- (i32.load offset=20
- (local.get $5)
- )
- (local.get $6)
- )
- )
- )
- (br_if $label$80
- (local.get $2)
- )
- (i32.store
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
- (i32.load offset=8
- (local.get $5)
- )
- )
- )
- (block $label$81
- (br_if $label$81
- (i32.load offset=16
- (i32.load
- (local.get $3)
- )
- )
- )
- (local.set $2
- (i32.shl
- (i32.eq
- (local.get $1)
- (i32.const 4)
- )
- (i32.const 1)
- )
- )
- (br $label$62)
- )
- (local.set $2
- (select
- (i32.const 3)
- (i32.const 1)
- (i32.eq
- (local.get $1)
- (i32.const 4)
- )
- )
- )
- (br $label$62)
- )
- (block $label$82
- (br_if $label$82
- (local.tee $8
- (i32.load
- (local.get $6)
- )
- )
- )
- (local.set $8
- (i32.const 0)
- )
- (br $label$74)
- )
- (br_if $label$74
- (i32.ne
- (local.tee $9
- (i32.load8_u
- (i32.add
- (local.tee $10
- (i32.add
- (i32.load
- (local.get $11)
- )
- (local.get $8)
- )
- )
- (i32.const -1)
- )
- )
- )
- (i32.load8_u
- (local.get $10)
- )
- )
- )
- (br_if $label$74
- (i32.ne
- (local.get $9)
- (i32.load8_u offset=1
- (local.get $10)
- )
- )
- )
- (br_if $label$74
- (i32.ne
- (local.get $9)
- (i32.load8_u
- (i32.add
- (local.get $10)
- (i32.const 2)
- )
- )
- )
- )
- (local.set $17
- (i32.add
- (local.get $10)
- (i32.const 258)
- )
- )
- (local.set $18
- (i32.const 1)
- )
- (block $label$83
- (block $label$84
- (block $label$85
- (block $label$86
- (block $label$87
- (block $label$88
- (block $label$89
- (loop $label$90
- (br_if $label$89
- (i32.ne
- (local.get $9)
- (i32.load8_u offset=2
- (local.tee $12
- (i32.add
- (local.get $10)
- (local.get $18)
- )
- )
- )
- )
- )
- (br_if $label$88
- (i32.ne
- (local.get $9)
- (i32.load8_u offset=3
- (local.get $12)
- )
- )
- )
- (br_if $label$87
- (i32.ne
- (local.get $9)
- (i32.load8_u offset=4
- (local.get $12)
- )
- )
- )
- (br_if $label$86
- (i32.ne
- (local.get $9)
- (i32.load8_u offset=5
- (local.get $12)
- )
- )
- )
- (br_if $label$85
- (i32.ne
- (local.get $9)
- (i32.load8_u offset=6
- (local.get $12)
- )
- )
- )
- (br_if $label$84
- (i32.ne
- (local.get $9)
- (i32.load8_u offset=7
- (local.get $12)
- )
- )
- )
- (br_if $label$83
- (i32.ne
- (local.get $9)
- (i32.load8_u
- (local.tee $12
- (i32.add
- (local.get $10)
- (local.tee $19
- (i32.add
- (local.get $18)
- (i32.const 8)
- )
- )
- )
- )
- )
- )
- )
- (local.set $12
- (i32.add
- (local.get $10)
- (local.tee $18
- (i32.add
- (local.get $18)
- (i32.const 9)
- )
- )
- )
- )
- (br_if $label$83
- (i32.gt_u
- (local.get $18)
- (i32.const 257)
- )
- )
- (local.set $18
- (local.get $19)
- )
- (br_if $label$90
- (i32.eq
- (local.get $9)
- (i32.and
- (i32.load8_u
- (local.get $12)
- )
- (i32.const 255)
- )
- )
- )
- (br $label$83)
- )
- )
- (local.set $12
- (i32.add
- (local.get $12)
- (i32.const 2)
- )
- )
- (br $label$83)
- )
- (local.set $12
- (i32.add
- (local.get $12)
- (i32.const 3)
- )
- )
- (br $label$83)
- )
- (local.set $12
- (i32.add
- (local.get $12)
- (i32.const 4)
- )
- )
- (br $label$83)
- )
- (local.set $12
- (i32.add
- (local.get $12)
- (i32.const 5)
- )
- )
- (br $label$83)
- )
- (local.set $12
- (i32.add
- (local.get $12)
- (i32.const 6)
- )
- )
- (br $label$83)
- )
- (local.set $12
- (i32.add
- (local.get $12)
- (i32.const 7)
- )
- )
- )
- (i32.store
- (local.get $14)
- (local.tee $5
- (select
- (local.get $5)
- (local.tee $9
- (i32.add
- (i32.sub
- (local.get $12)
- (local.get $17)
- )
- (i32.const 258)
- )
- )
- (i32.gt_u
- (local.get $9)
- (local.get $5)
- )
- )
- )
- )
- (br_if $label$74
- (i32.lt_u
- (local.get $5)
- (i32.const 3)
- )
- )
- (i32.store16
- (i32.add
- (i32.load
- (local.get $13)
- )
- (i32.shl
- (local.tee $8
- (i32.load
- (local.get $7)
- )
- )
- (i32.const 1)
- )
- )
- (i32.const 1)
- )
- (i32.store
- (local.get $7)
- (i32.add
- (local.get $8)
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $8)
- (i32.load
- (local.get $4)
- )
- )
- (local.tee $5
- (i32.add
- (local.get $5)
- (i32.const -3)
- )
- )
- )
- (i32.store16
- (local.tee $5
- (i32.add
- (i32.add
- (local.get $3)
- (i32.or
- (i32.shl
- (i32.load8_u
- (i32.add
- (i32.and
- (local.get $5)
- (i32.const 255)
- )
- (i32.const 13488)
- )
- )
- (i32.const 2)
- )
- (i32.const 1024)
- )
- )
- (i32.const 152)
- )
- )
- (i32.add
- (i32.load16_u
- (local.get $5)
- )
- (i32.const 1)
- )
- )
- (i32.store16
- (local.tee $5
- (i32.add
- (i32.add
- (local.get $3)
- (i32.shl
- (i32.load8_u offset=12976
- (i32.const 0)
- )
- (i32.const 2)
- )
- )
- (i32.const 2440)
- )
- )
- (i32.add
- (i32.load16_u
- (local.get $5)
- )
- (i32.const 1)
- )
- )
- (local.set $5
- (i32.load
- (local.get $14)
- )
- )
- (i32.store
- (local.get $14)
- (i32.const 0)
- )
- (i32.store
- (local.get $2)
- (i32.sub
- (i32.load
- (local.get $2)
- )
- (local.get $5)
- )
- )
- (i32.store
- (local.get $6)
- (local.tee $5
- (i32.add
- (local.get $5)
- (i32.load
- (local.get $6)
- )
- )
- )
- )
- (br_if $label$72
- (i32.ne
- (i32.load
- (local.get $7)
- )
- (i32.add
- (i32.load
- (local.get $15)
- )
- (i32.const -1)
- )
- )
- )
- (br $label$73)
- )
- (local.set $5
- (i32.load8_u
- (i32.add
- (i32.load
- (local.get $11)
- )
- (local.get $8)
- )
- )
- )
- (i32.store16
- (i32.add
- (i32.load
- (local.get $13)
- )
- (i32.shl
- (local.tee $8
- (i32.load
- (local.get $7)
- )
- )
- (i32.const 1)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (local.get $7)
- (i32.add
- (local.get $8)
- (i32.const 1)
- )
- )
- (i32.store8
- (i32.add
- (local.get $8)
- (i32.load
- (local.get $4)
- )
- )
- (local.get $5)
- )
- (i32.store16
- (local.tee $5
- (i32.add
- (i32.add
- (local.get $3)
- (i32.shl
- (local.get $5)
- (i32.const 2)
- )
- )
- (i32.const 148)
- )
- )
- (i32.add
- (i32.load16_u
- (local.get $5)
- )
- (i32.const 1)
- )
- )
- (i32.store
- (local.get $2)
- (i32.add
- (i32.load
- (local.get $2)
- )
- (i32.const -1)
- )
- )
- (i32.store
- (local.get $6)
- (local.tee $5
- (i32.add
- (i32.load
- (local.get $6)
- )
- (i32.const 1)
- )
- )
- )
- (br_if $label$72
- (i32.ne
- (i32.load
- (local.get $7)
- )
- (i32.add
- (i32.load
- (local.get $15)
- )
- (i32.const -1)
- )
- )
- )
- )
- (local.set $8
- (i32.const 0)
- )
- (block $label$91
- (br_if $label$91
- (i32.lt_s
- (local.tee $9
- (i32.load
- (local.get $16)
- )
- )
- (i32.const 0)
- )
- )
- (local.set $8
- (i32.add
- (i32.load
- (local.get $11)
- )
- (local.get $9)
- )
- )
- )
- (call $_tr_flush_block
- (local.get $3)
- (local.get $8)
- (i32.sub
- (local.get $5)
- (local.get $9)
- )
- (i32.const 0)
- )
- (i32.store
- (local.get $16)
- (i32.load
- (local.get $6)
- )
- )
- (block $label$92
- (br_if $label$92
- (i32.eqz
- (local.tee $8
- (select
- (local.tee $8
- (i32.load offset=16
- (local.tee $5
- (i32.load
- (local.get $3)
- )
- )
- )
- )
- (local.tee $9
- (i32.load offset=20
- (local.tee $10
- (i32.load offset=28
- (local.get $5)
- )
- )
- )
- )
- (i32.gt_u
- (local.get $9)
- (local.get $8)
- )
- )
- )
- )
- )
- (drop
- (call $memcpy
- (i32.load offset=12
- (local.get $5)
- )
- (i32.load offset=16
- (local.get $10)
- )
- (local.get $8)
- )
- )
- (i32.store offset=12
- (local.get $5)
- (i32.add
- (i32.load offset=12
- (local.get $5)
- )
- (local.get $8)
- )
- )
- (i32.store offset=16
- (local.tee $9
- (i32.load
- (i32.add
- (local.get $5)
- (i32.const 28)
- )
- )
- )
- (i32.add
- (i32.load offset=16
- (local.get $9)
- )
- (local.get $8)
- )
- )
- (i32.store offset=20
- (local.get $5)
- (i32.add
- (i32.load offset=20
- (local.get $5)
- )
- (local.get $8)
- )
- )
- (i32.store
- (local.tee $5
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
- )
- (i32.sub
- (i32.load
- (local.get $5)
- )
- (local.get $8)
- )
- )
- (i32.store offset=20
- (local.get $9)
- (local.tee $5
- (i32.sub
- (i32.load offset=20
- (local.get $9)
- )
- (local.get $8)
- )
- )
- )
- (br_if $label$92
- (local.get $5)
- )
- (i32.store
- (i32.add
- (local.get $9)
- (i32.const 16)
- )
- (i32.load offset=8
- (local.get $9)
- )
- )
- )
- (br_if $label$72
- (i32.load offset=16
- (i32.load
- (local.get $3)
- )
- )
- )
- (br $label$61)
+ )
+ (br_if $label$61
+ (i32.ne
+ (local.get $2)
+ (i32.const 2)
)
)
(local.set $2
- (call_indirect (type $2)
+ (call $fimport$20
(local.get $3)
(local.get $1)
- (i32.load
- (i32.add
- (i32.mul
- (i32.load offset=132
- (local.get $3)
- )
- (i32.const 12)
- )
- (i32.const 9832)
- )
- )
)
)
+ (br $label$60)
)
- (block $label$93
- (br_if $label$93
- (i32.ne
- (i32.or
- (local.get $2)
- (i32.const 1)
- )
- (i32.const 3)
- )
+ (local.set $2
+ (call $fimport$21
+ (local.get $3)
+ (local.get $1)
)
- (i32.store
+ )
+ (br $label$60)
+ )
+ (local.set $2
+ (call_indirect (type $2)
+ (local.get $3)
+ (local.get $1)
+ (i32.load
(i32.add
- (local.get $3)
- (i32.const 4)
+ (i32.mul
+ (i32.load offset=132
+ (local.get $3)
+ )
+ (i32.const 12)
+ )
+ (i32.const 11032)
)
- (i32.const 666)
)
)
- (br_if $label$60
- (i32.and
+ )
+ )
+ (block $label$63
+ (br_if $label$63
+ (i32.ne
+ (i32.or
(local.get $2)
- (i32.const -3)
+ (i32.const 1)
)
+ (i32.const 3)
+ )
+ )
+ (i32.store offset=4
+ (local.get $3)
+ (i32.const 666)
+ )
+ )
+ (block $label$64
+ (br_if $label$64
+ (i32.and
+ (local.get $2)
+ (i32.const -3)
)
)
(local.set $2
(i32.const 0)
)
(br_if $label$1
- (i32.load
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
+ (i32.load offset=16
+ (local.get $0)
)
)
- (i32.store
- (i32.add
- (local.get $3)
- (i32.const 40)
- )
+ (i32.store offset=40
+ (local.get $3)
(i32.const -1)
)
(return
@@ -4487,32 +2657,32 @@
(i32.const 1)
)
)
- (block $label$94
- (br_if $label$94
+ (block $label$65
+ (br_if $label$65
(i32.eq
(local.get $1)
(i32.const 5)
)
)
- (block $label$95
- (br_if $label$95
+ (block $label$66
+ (br_if $label$66
(i32.ne
(local.get $1)
(i32.const 1)
)
)
- (call $_tr_align
+ (call $fimport$30
(local.get $3)
)
- (br $label$94)
+ (br $label$65)
)
- (call $_tr_stored_block
+ (call $fimport$29
(local.get $3)
(i32.const 0)
(i32.const 0)
(i32.const 0)
)
- (br_if $label$94
+ (br_if $label$65
(i32.ne
(local.get $1)
(i32.const 3)
@@ -4525,7 +2695,7 @@
(local.get $3)
)
)
- (local.tee $6
+ (local.tee $5
(i32.add
(i32.shl
(i32.load offset=76
@@ -4540,13 +2710,13 @@
(i32.const 0)
)
(drop
- (call $memset
+ (call $fimport$97
(local.get $2)
(i32.const 0)
- (local.get $6)
+ (local.get $5)
)
)
- (br_if $label$94
+ (br_if $label$65
(i32.load offset=116
(local.get $3)
)
@@ -4560,77 +2730,62 @@
(i32.const 0)
)
)
- (block $label$96
- (br_if $label$96
+ (block $label$67
+ (br_if $label$67
(i32.eqz
(local.tee $2
(select
- (local.tee $6
- (i32.load
- (local.tee $7
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- )
+ (local.tee $5
+ (i32.load offset=16
+ (local.get $0)
)
)
(local.tee $2
(i32.load offset=20
- (local.tee $8
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
+ (local.tee $6
+ (i32.load offset=28
+ (local.get $0)
)
)
)
)
(i32.gt_u
(local.get $2)
- (local.get $6)
+ (local.get $5)
)
)
)
)
)
(drop
- (call $memcpy
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $0)
- (i32.const 12)
- )
- )
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
)
(i32.load offset=16
- (local.get $8)
+ (local.get $6)
)
(local.get $2)
)
)
- (i32.store
- (local.get $6)
+ (i32.store offset=12
+ (local.get $0)
(i32.add
- (i32.load
- (local.get $6)
+ (i32.load offset=12
+ (local.get $0)
)
(local.get $2)
)
)
(i32.store offset=16
- (local.tee $5
- (i32.load
- (local.get $5)
+ (local.tee $6
+ (i32.load offset=28
+ (local.get $0)
)
)
(i32.add
(i32.load offset=16
- (local.get $5)
+ (local.get $6)
)
(local.get $2)
)
@@ -4644,49 +2799,43 @@
(local.get $2)
)
)
- (i32.store
- (local.get $7)
- (local.tee $6
+ (i32.store offset=16
+ (local.get $0)
+ (local.tee $5
(i32.sub
- (i32.load
- (local.get $7)
+ (i32.load offset=16
+ (local.get $0)
)
(local.get $2)
)
)
)
(i32.store offset=20
- (local.get $5)
+ (local.get $6)
(local.tee $2
(i32.sub
(i32.load offset=20
- (local.get $5)
+ (local.get $6)
)
(local.get $2)
)
)
)
- (br_if $label$96
+ (br_if $label$67
(local.get $2)
)
- (i32.store
- (i32.add
- (local.get $5)
- (i32.const 16)
- )
+ (i32.store offset=16
+ (local.get $6)
(i32.load offset=8
- (local.get $5)
+ (local.get $6)
)
)
)
(br_if $label$56
- (local.get $6)
+ (local.get $5)
)
- (i32.store
- (i32.add
- (local.get $3)
- (i32.const 40)
- )
+ (i32.store offset=40
+ (local.get $3)
(i32.const -1)
)
(return
@@ -4715,30 +2864,25 @@
(i32.const 1)
)
)
- (local.set $6
+ (local.set $2
(i32.load offset=48
(local.get $0)
)
)
- (block $label$97
- (block $label$98
- (br_if $label$98
+ (block $label$68
+ (block $label$69
+ (br_if $label$69
(i32.ne
(local.get $1)
(i32.const 2)
)
)
- (i32.store
- (local.tee $2
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
- )
+ (i32.store offset=20
+ (local.get $3)
(i32.add
(local.tee $1
- (i32.load
- (local.get $2)
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -4751,22 +2895,19 @@
(local.get $3)
)
)
- (local.get $6)
+ (local.get $2)
)
- (local.set $1
- (i32.load
- (i32.add
- (local.get $0)
- (i32.const 48)
- )
+ (local.set $2
+ (i32.load offset=48
+ (local.get $0)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $6
- (i32.load
- (local.get $2)
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -4774,17 +2915,17 @@
)
(i32.store8
(i32.add
- (local.get $6)
+ (local.get $1)
(i32.load offset=8
(local.get $3)
)
)
(i32.shr_u
- (local.get $1)
+ (local.get $2)
(i32.const 8)
)
)
- (local.set $1
+ (local.set $2
(i32.load16_u
(i32.add
(local.get $0)
@@ -4792,12 +2933,12 @@
)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $6
- (i32.load
- (local.get $2)
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -4805,14 +2946,14 @@
)
(i32.store8
(i32.add
- (local.get $6)
+ (local.get $1)
(i32.load offset=8
(local.get $3)
)
)
- (local.get $1)
+ (local.get $2)
)
- (local.set $1
+ (local.set $2
(i32.load8_u
(i32.add
(local.get $0)
@@ -4820,12 +2961,12 @@
)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $6
- (i32.load
- (local.get $2)
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -4833,24 +2974,24 @@
)
(i32.store8
(i32.add
- (local.get $6)
+ (local.get $1)
(i32.load offset=8
(local.get $3)
)
)
- (local.get $1)
+ (local.get $2)
)
- (local.set $1
+ (local.set $2
(i32.load offset=8
(local.get $0)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $6
- (i32.load
- (local.get $2)
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -4858,24 +2999,24 @@
)
(i32.store8
(i32.add
- (local.get $6)
+ (local.get $1)
(i32.load offset=8
(local.get $3)
)
)
- (local.get $1)
+ (local.get $2)
)
- (local.set $1
+ (local.set $2
(i32.load offset=8
(local.get $0)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $6
- (i32.load
- (local.get $2)
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -4883,17 +3024,17 @@
)
(i32.store8
(i32.add
- (local.get $6)
+ (local.get $1)
(i32.load offset=8
(local.get $3)
)
)
(i32.shr_u
- (local.get $1)
+ (local.get $2)
(i32.const 8)
)
)
- (local.set $1
+ (local.set $2
(i32.load16_u
(i32.add
(local.get $0)
@@ -4901,12 +3042,12 @@
)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $6
- (i32.load
- (local.get $2)
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -4914,14 +3055,14 @@
)
(i32.store8
(i32.add
- (local.get $6)
+ (local.get $1)
(i32.load offset=8
(local.get $3)
)
)
- (local.get $1)
+ (local.get $2)
)
- (local.set $1
+ (local.set $2
(i32.load8_u
(i32.add
(local.get $0)
@@ -4929,38 +3070,33 @@
)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $6
- (i32.load
- (local.get $2)
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
)
)
- (local.set $2
+ (local.set $1
(i32.add
- (local.get $6)
+ (local.get $1)
(i32.load offset=8
(local.get $3)
)
)
)
- (br $label$97)
+ (br $label$68)
)
- (i32.store
- (local.tee $2
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
- )
+ (i32.store offset=20
+ (local.get $3)
(i32.add
(local.tee $1
- (i32.load
- (local.get $2)
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -4974,16 +3110,16 @@
)
)
(i32.shr_u
- (local.get $6)
+ (local.get $2)
(i32.const 24)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
(local.tee $1
- (i32.load
- (local.get $2)
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -4997,24 +3133,21 @@
)
)
(i32.shr_u
- (local.get $6)
+ (local.get $2)
(i32.const 16)
)
)
- (local.set $1
- (i32.load
- (i32.add
- (local.get $0)
- (i32.const 48)
- )
+ (local.set $2
+ (i32.load offset=48
+ (local.get $0)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $6
- (i32.load
- (local.get $2)
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
@@ -5022,30 +3155,30 @@
)
(i32.store8
(i32.add
- (local.get $6)
+ (local.get $1)
(i32.load offset=8
(local.get $3)
)
)
(i32.shr_u
- (local.get $1)
+ (local.get $2)
(i32.const 8)
)
)
- (i32.store
- (local.get $2)
+ (i32.store offset=20
+ (local.get $3)
(i32.add
- (local.tee $6
- (i32.load
- (local.get $2)
+ (local.tee $1
+ (i32.load offset=20
+ (local.get $3)
)
)
(i32.const 1)
)
)
- (local.set $2
+ (local.set $1
(i32.add
- (local.get $6)
+ (local.get $1)
(i32.load offset=8
(local.get $3)
)
@@ -5053,34 +3186,24 @@
)
)
(i32.store8
- (local.get $2)
(local.get $1)
+ (local.get $2)
)
- (block $label$99
- (br_if $label$99
+ (block $label$70
+ (br_if $label$70
(i32.eqz
(local.tee $2
(select
(local.tee $2
- (i32.load
- (local.tee $6
- (i32.add
- (local.get $0)
- (i32.const 16)
- )
- )
+ (i32.load offset=16
+ (local.get $0)
)
)
(local.tee $1
(i32.load offset=20
- (local.tee $7
- (i32.load
- (local.tee $5
- (i32.add
- (local.get $0)
- (i32.const 28)
- )
- )
+ (local.tee $5
+ (i32.load offset=28
+ (local.get $0)
)
)
)
@@ -5094,34 +3217,29 @@
)
)
(drop
- (call $memcpy
- (i32.load
- (local.tee $1
- (i32.add
- (local.get $0)
- (i32.const 12)
- )
- )
+ (call $fimport$98
+ (i32.load offset=12
+ (local.get $0)
)
(i32.load offset=16
- (local.get $7)
+ (local.get $5)
)
(local.get $2)
)
)
- (i32.store
- (local.get $1)
+ (i32.store offset=12
+ (local.get $0)
(i32.add
- (i32.load
- (local.get $1)
+ (i32.load offset=12
+ (local.get $0)
)
(local.get $2)
)
)
(i32.store offset=16
(local.tee $1
- (i32.load
- (local.get $5)
+ (i32.load offset=28
+ (local.get $0)
)
)
(i32.add
@@ -5140,11 +3258,11 @@
(local.get $2)
)
)
- (i32.store
- (local.get $6)
+ (i32.store offset=16
+ (local.get $0)
(i32.sub
- (i32.load
- (local.get $6)
+ (i32.load offset=16
+ (local.get $0)
)
(local.get $2)
)
@@ -5160,307 +3278,45 @@
)
)
)
- (br_if $label$99
+ (br_if $label$70
(local.get $0)
)
- (i32.store
- (i32.add
- (local.get $1)
- (i32.const 16)
- )
+ (i32.store offset=16
+ (local.get $1)
(i32.load offset=8
(local.get $1)
)
)
)
- (block $label$100
- (br_if $label$100
+ (block $label$71
+ (br_if $label$71
(i32.lt_s
- (local.tee $2
- (i32.load
- (local.tee $0
- (i32.add
- (local.get $3)
- (i32.const 24)
- )
- )
+ (local.tee $0
+ (i32.load offset=24
+ (local.get $3)
)
)
(i32.const 1)
)
)
- (i32.store
- (local.get $0)
+ (i32.store offset=24
+ (local.get $3)
(i32.sub
(i32.const 0)
- (local.get $2)
+ (local.get $0)
)
)
)
(local.set $2
(i32.eqz
- (i32.load
- (i32.add
- (local.get $3)
- (i32.const 20)
- )
+ (i32.load offset=20
+ (local.get $3)
)
)
)
)
(local.get $2)
)
- (func $fill_window (; 28 ;) (type $3) (param $0 i32)
- (unreachable)
- )
- (func $deflate_stored (; 29 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $deflate_fast (; 30 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $longest_match (; 31 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $deflate_slow (; 32 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $inflate_fast (; 33 ;) (type $1) (param $0 i32) (param $1 i32)
- (unreachable)
- )
- (func $inflateInit2_ (; 34 ;) (type $7) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (unreachable)
- )
- (func $inflateInit_ (; 35 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $inflate (; 36 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $updatewindow (; 37 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $inflateEnd (; 38 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $inflateSetDictionary (; 39 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $inflateSync (; 40 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $inflate_table (; 41 ;) (type $9) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (result i32)
- (unreachable)
- )
- (func $_tr_init (; 42 ;) (type $3) (param $0 i32)
- (unreachable)
- )
- (func $init_block (; 43 ;) (type $3) (param $0 i32)
- (unreachable)
- )
- (func $_tr_stored_block (; 44 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
- (unreachable)
- )
- (func $_tr_align (; 45 ;) (type $3) (param $0 i32)
- (unreachable)
- )
- (func $_tr_flush_block (; 46 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
- (unreachable)
- )
- (func $build_tree (; 47 ;) (type $1) (param $0 i32) (param $1 i32)
- (unreachable)
- )
- (func $compress_block (; 48 ;) (type $10) (param $0 i32) (param $1 i32) (param $2 i32)
- (unreachable)
- )
- (func $send_tree (; 49 ;) (type $10) (param $0 i32) (param $1 i32) (param $2 i32)
- (unreachable)
- )
- (func $uncompress (; 50 ;) (type $7) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (unreachable)
- )
- (func $zlibVersion (; 51 ;) (type $11) (result i32)
- (unreachable)
- )
- (func $zlibCompileFlags (; 52 ;) (type $11) (result i32)
- (unreachable)
- )
- (func $zcalloc (; 53 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $zcfree (; 54 ;) (type $1) (param $0 i32) (param $1 i32)
- (unreachable)
- )
- (func $strlen (; 55 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $strcmp (; 56 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $memchr (; 57 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $__syscall_ret (; 58 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $__errno_location (; 59 ;) (type $11) (result i32)
- (unreachable)
- )
- (func $pthread_self (; 60 ;) (type $11) (result i32)
- (unreachable)
- )
- (func $dummy (; 61 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $puts (; 62 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $fputs (; 63 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $__towrite (; 64 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $__fwritex (; 65 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $fwrite (; 66 ;) (type $7) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
- (unreachable)
- )
- (func $__lockfile (; 67 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $__unlockfile (; 68 ;) (type $3) (param $0 i32)
- (unreachable)
- )
- (func $__stdout_write (; 69 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $__stdio_close (; 70 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $printf (; 71 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $fprintf (; 72 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $__overflow (; 73 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $isdigit (; 74 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $wcrtomb (; 75 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $__pthread_self (; 76 ;) (type $11) (result i32)
- (unreachable)
- )
- (func $wctomb (; 77 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $__signbitl (; 78 ;) (type $12) (param $0 i64) (param $1 i64) (result i32)
- (unreachable)
- )
- (func $frexpl (; 79 ;) (type $13) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i32)
- (unreachable)
- )
- (func $vfprintf (; 80 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $printf_core (; 81 ;) (type $14) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
- (unreachable)
- )
- (func $out (; 82 ;) (type $10) (param $0 i32) (param $1 i32) (param $2 i32)
- (unreachable)
- )
- (func $getint (; 83 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $pop_arg (; 84 ;) (type $10) (param $0 i32) (param $1 i32) (param $2 i32)
- (unreachable)
- )
- (func $fmt_fp (; 85 ;) (type $15) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32)
- (unreachable)
- )
- (func $fmt_o (; 86 ;) (type $16) (param $0 i64) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $fmt_x (; 87 ;) (type $17) (param $0 i64) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $fmt_u (; 88 ;) (type $16) (param $0 i64) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $pad (; 89 ;) (type $18) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32)
- (unreachable)
- )
- (func $__stdio_seek (; 90 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $__stdio_write (; 91 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $malloc (; 92 ;) (type $4) (param $0 i32) (result i32)
- (unreachable)
- )
- (func $free (; 93 ;) (type $3) (param $0 i32)
- (unreachable)
- )
- (func $calloc (; 94 ;) (type $2) (param $0 i32) (param $1 i32) (result i32)
- (unreachable)
- )
- (func $__addtf3 (; 95 ;) (type $19) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
- (unreachable)
- )
- (func $__ashlti3 (; 96 ;) (type $13) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i32)
- (unreachable)
- )
- (func $__unordtf2 (; 97 ;) (type $20) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (result i32)
- (unreachable)
- )
- (func $__eqtf2 (; 98 ;) (type $20) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (result i32)
- (unreachable)
- )
- (func $__netf2 (; 99 ;) (type $20) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (result i32)
- (unreachable)
- )
- (func $__extenddftf2 (; 100 ;) (type $21) (param $0 i32) (param $1 f64)
- (unreachable)
- )
- (func $__fixtfsi (; 101 ;) (type $12) (param $0 i64) (param $1 i64) (result i32)
- (unreachable)
- )
- (func $__fixunstfsi (; 102 ;) (type $12) (param $0 i64) (param $1 i64) (result i32)
- (unreachable)
- )
- (func $__floatsitf (; 103 ;) (type $1) (param $0 i32) (param $1 i32)
- (unreachable)
- )
- (func $__floatunsitf (; 104 ;) (type $1) (param $0 i32) (param $1 i32)
- (unreachable)
- )
- (func $__lshrti3 (; 105 ;) (type $13) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i32)
- (unreachable)
- )
- (func $__multf3 (; 106 ;) (type $19) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
- (unreachable)
- )
- (func $__subtf3 (; 107 ;) (type $19) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64)
- (unreachable)
- )
- (func $__fpclassifyl (; 108 ;) (type $12) (param $0 i64) (param $1 i64) (result i32)
- (unreachable)
- )
- (func $memset (; 109 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $memcpy (; 110 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
- (unreachable)
- )
- (func $setThrew (; 111 ;) (type $1) (param $0 i32) (param $1 i32)
- (unreachable)
- )
+ ;; custom section "producers", size 183
)
diff --git a/test/passes/O4.txt b/test/passes/O4.txt
index 0111c2102..2845d30d9 100644
--- a/test/passes/O4.txt
+++ b/test/passes/O4.txt
@@ -9,3 +9,1293 @@
(unreachable)
)
)
+(module
+ (type $0 (func))
+ (type $3 (func (param i32) (result i32)))
+ (type $8 (func (result f64)))
+ (type $10 (func (param i32) (result f64)))
+ (type $11 (func (param i32)))
+ (import "env" "memory" (memory $0 1))
+ (data (i32.const 8) "\0d\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s")
+ (data (i32.const 40) "\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s")
+ (table $0 1 funcref)
+ (elem (i32.const 0) $null)
+ (global $global$0 (mut i32) (i32.const 0))
+ (global $global$1 (mut i32) (i32.const 0))
+ (global $global$5 (mut i32) (i32.const 0))
+ (export "memory" (memory $0))
+ (export "table" (table $0))
+ (export "init" (func $assembly/index/init))
+ (export "step" (func $assembly/index/step))
+ (export "bench" (func $assembly/index/bench))
+ (export "getBody" (func $assembly/index/getBody))
+ (start $start)
+ (func $~lib/allocator/arena/__memory_allocate (; 0 ;) (; has Stack IR ;) (type $3) (param $0 i32) (result i32)
+ (local $1 i32)
+ (local $2 i32)
+ (local $3 i32)
+ (if
+ (i32.gt_u
+ (local.get $0)
+ (i32.const 1073741824)
+ )
+ (unreachable)
+ )
+ (if
+ (i32.gt_u
+ (local.tee $2
+ (i32.and
+ (i32.add
+ (i32.add
+ (local.tee $1
+ (global.get $global$1)
+ )
+ (select
+ (local.get $0)
+ (i32.const 1)
+ (i32.gt_u
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ (i32.const -8)
+ )
+ )
+ (i32.shl
+ (local.tee $3
+ (current_memory)
+ )
+ (i32.const 16)
+ )
+ )
+ (if
+ (i32.lt_s
+ (grow_memory
+ (select
+ (local.get $3)
+ (local.tee $0
+ (i32.shr_u
+ (i32.and
+ (i32.add
+ (i32.sub
+ (local.get $2)
+ (local.get $1)
+ )
+ (i32.const 65535)
+ )
+ (i32.const -65536)
+ )
+ (i32.const 16)
+ )
+ )
+ (i32.gt_s
+ (local.get $3)
+ (local.get $0)
+ )
+ )
+ )
+ (i32.const 0)
+ )
+ (if
+ (i32.lt_s
+ (grow_memory
+ (local.get $0)
+ )
+ (i32.const 0)
+ )
+ (unreachable)
+ )
+ )
+ )
+ (global.set $global$1
+ (local.get $2)
+ )
+ (local.get $1)
+ )
+ (func $assembly/index/NBodySystem#constructor (; 1 ;) (; has Stack IR ;) (param $0 i32) (result i32)
+ (local $1 i32)
+ (local $2 i32)
+ (local $3 f64)
+ (local $4 f64)
+ (local $5 f64)
+ (local $6 f64)
+ (local $7 i32)
+ (local.set $7
+ (i32.load offset=4
+ (local.get $0)
+ )
+ )
+ (loop $label$3
+ (if
+ (i32.lt_s
+ (local.get $1)
+ (local.get $7)
+ )
+ (block
+ (local.set $3
+ (f64.load offset=48
+ (local.tee $2
+ (i32.load offset=8
+ (i32.add
+ (i32.load
+ (local.get $0)
+ )
+ (i32.shl
+ (local.get $1)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $4
+ (f64.add
+ (local.get $4)
+ (f64.mul
+ (f64.load offset=24
+ (local.get $2)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (local.set $5
+ (f64.add
+ (local.get $5)
+ (f64.mul
+ (f64.load offset=32
+ (local.get $2)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (local.set $6
+ (f64.add
+ (local.get $6)
+ (f64.mul
+ (f64.load offset=40
+ (local.get $2)
+ )
+ (local.get $3)
+ )
+ )
+ )
+ (local.set $1
+ (i32.add
+ (local.get $1)
+ (i32.const 1)
+ )
+ )
+ (br $label$3)
+ )
+ )
+ )
+ (f64.store offset=24
+ (local.tee $1
+ (if (result i32)
+ (i32.lt_u
+ (i32.const 0)
+ (i32.shr_u
+ (i32.load
+ (local.tee $1
+ (i32.load
+ (local.get $0)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.load offset=8
+ (local.get $1)
+ )
+ (unreachable)
+ )
+ )
+ (f64.div
+ (f64.neg
+ (local.get $4)
+ )
+ (f64.const 39.47841760435743)
+ )
+ )
+ (f64.store offset=32
+ (local.get $1)
+ (f64.div
+ (f64.neg
+ (local.get $5)
+ )
+ (f64.const 39.47841760435743)
+ )
+ )
+ (f64.store offset=40
+ (local.get $1)
+ (f64.div
+ (f64.neg
+ (local.get $6)
+ )
+ (f64.const 39.47841760435743)
+ )
+ )
+ (i32.store
+ (local.tee $1
+ (call $~lib/allocator/arena/__memory_allocate
+ (i32.const 4)
+ )
+ )
+ (local.get $0)
+ )
+ (local.get $1)
+ )
+ (func $assembly/index/Body#constructor (; 2 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 f64) (param $5 f64) (param $6 f64) (result i32)
+ (local $7 i32)
+ (f64.store
+ (local.tee $7
+ (call $~lib/allocator/arena/__memory_allocate
+ (i32.const 56)
+ )
+ )
+ (local.get $0)
+ )
+ (f64.store offset=8
+ (local.get $7)
+ (local.get $1)
+ )
+ (f64.store offset=16
+ (local.get $7)
+ (local.get $2)
+ )
+ (f64.store offset=24
+ (local.get $7)
+ (local.get $3)
+ )
+ (f64.store offset=32
+ (local.get $7)
+ (local.get $4)
+ )
+ (f64.store offset=40
+ (local.get $7)
+ (local.get $5)
+ )
+ (f64.store offset=48
+ (local.get $7)
+ (local.get $6)
+ )
+ (local.get $7)
+ )
+ (func $~lib/internal/memory/memset (; 3 ;) (; has Stack IR ;) (param $0 i32)
+ (local $1 i32)
+ (local $2 i32)
+ (i32.store8
+ (local.get $0)
+ (i32.const 0)
+ )
+ (i32.store8
+ (i32.sub
+ (local.tee $1
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
+ )
+ )
+ (i32.const 1)
+ )
+ (i32.const 0)
+ )
+ (i32.store8
+ (i32.add
+ (local.get $0)
+ (i32.const 1)
+ )
+ (i32.const 0)
+ )
+ (i32.store8
+ (i32.add
+ (local.get $0)
+ (i32.const 2)
+ )
+ (i32.const 0)
+ )
+ (i32.store8
+ (i32.sub
+ (local.get $1)
+ (i32.const 2)
+ )
+ (i32.const 0)
+ )
+ (i32.store8
+ (i32.sub
+ (local.get $1)
+ (i32.const 3)
+ )
+ (i32.const 0)
+ )
+ (i32.store8
+ (i32.add
+ (local.get $0)
+ (i32.const 3)
+ )
+ (i32.const 0)
+ )
+ (i32.store8
+ (i32.sub
+ (local.get $1)
+ (i32.const 4)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (local.tee $0
+ (i32.add
+ (local.tee $1
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (local.get $0)
+ )
+ (i32.const 3)
+ )
+ )
+ (local.get $0)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.sub
+ (i32.add
+ (local.tee $2
+ (i32.and
+ (i32.sub
+ (i32.const 20)
+ (local.get $1)
+ )
+ (i32.const -4)
+ )
+ )
+ (local.get $0)
+ )
+ (i32.const 4)
+ )
+ (i32.const 0)
+ )
+ (if
+ (i32.le_u
+ (local.get $2)
+ (i32.const 8)
+ )
+ (return)
+ )
+ (i32.store
+ (i32.add
+ (local.get $0)
+ (i32.const 4)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.sub
+ (local.tee $1
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ )
+ (i32.const 12)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.sub
+ (local.get $1)
+ (i32.const 8)
+ )
+ (i32.const 0)
+ )
+ (if
+ (i32.le_u
+ (local.get $2)
+ (i32.const 24)
+ )
+ (return)
+ )
+ (i32.store
+ (i32.add
+ (local.get $0)
+ (i32.const 12)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.add
+ (local.get $0)
+ (i32.const 24)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.sub
+ (local.tee $1
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ )
+ (i32.const 28)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.sub
+ (local.get $1)
+ (i32.const 24)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.sub
+ (local.get $1)
+ (i32.const 20)
+ )
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.sub
+ (local.get $1)
+ (i32.const 16)
+ )
+ (i32.const 0)
+ )
+ (local.set $0
+ (i32.add
+ (local.tee $1
+ (i32.add
+ (i32.and
+ (local.get $0)
+ (i32.const 4)
+ )
+ (i32.const 24)
+ )
+ )
+ (local.get $0)
+ )
+ )
+ (local.set $2
+ (i32.sub
+ (local.get $2)
+ (local.get $1)
+ )
+ )
+ (loop $label$8
+ (if
+ (i32.ge_u
+ (local.get $2)
+ (i32.const 32)
+ )
+ (block
+ (i64.store
+ (local.get $0)
+ (i64.const 0)
+ )
+ (i64.store
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ (i64.const 0)
+ )
+ (i64.store
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ (i64.const 0)
+ )
+ (i64.store
+ (i32.add
+ (local.get $0)
+ (i32.const 24)
+ )
+ (i64.const 0)
+ )
+ (local.set $2
+ (i32.sub
+ (local.get $2)
+ (i32.const 32)
+ )
+ )
+ (local.set $0
+ (i32.add
+ (local.get $0)
+ (i32.const 32)
+ )
+ )
+ (br $label$8)
+ )
+ )
+ )
+ )
+ (func $~lib/array/Array<Body>#constructor (; 4 ;) (; has Stack IR ;) (result i32)
+ (local $0 i32)
+ (local $1 i32)
+ (i32.store
+ (local.tee $1
+ (call $~lib/allocator/arena/__memory_allocate
+ (i32.const 32)
+ )
+ )
+ (i32.const 20)
+ )
+ (i32.store
+ (local.tee $0
+ (call $~lib/allocator/arena/__memory_allocate
+ (i32.const 8)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (local.get $0)
+ (i32.const 0)
+ )
+ (i32.store
+ (local.get $0)
+ (local.get $1)
+ )
+ (i32.store offset=4
+ (local.get $0)
+ (i32.const 5)
+ )
+ (call $~lib/internal/memory/memset
+ (i32.add
+ (local.get $1)
+ (i32.const 8)
+ )
+ )
+ (local.get $0)
+ )
+ (func $assembly/index/init (; 5 ;) (; has Stack IR ;) (type $0)
+ (local $0 i32)
+ (local $1 i32)
+ (local.set $1
+ (call $~lib/array/Array<Body>#constructor)
+ )
+ (local.set $0
+ (call $assembly/index/Body#constructor
+ (f64.const 0)
+ (f64.const 0)
+ (f64.const 0)
+ (f64.const 0)
+ (f64.const 0)
+ (f64.const 0)
+ (f64.const 39.47841760435743)
+ )
+ )
+ (i32.store offset=8
+ (i32.load
+ (local.get $1)
+ )
+ (local.get $0)
+ )
+ (local.set $0
+ (call $assembly/index/Body#constructor
+ (f64.const 4.841431442464721)
+ (f64.const -1.1603200440274284)
+ (f64.const -0.10362204447112311)
+ (f64.const 0.606326392995832)
+ (f64.const 2.81198684491626)
+ (f64.const -0.02521836165988763)
+ (f64.const 0.03769367487038949)
+ )
+ )
+ (i32.store offset=8
+ (i32.add
+ (i32.load
+ (local.get $1)
+ )
+ (i32.const 4)
+ )
+ (local.get $0)
+ )
+ (local.set $0
+ (call $assembly/index/Body#constructor
+ (f64.const 8.34336671824458)
+ (f64.const 4.124798564124305)
+ (f64.const -0.4035234171143214)
+ (f64.const -1.0107743461787924)
+ (f64.const 1.8256623712304119)
+ (f64.const 0.008415761376584154)
+ (f64.const 0.011286326131968767)
+ )
+ )
+ (i32.store offset=8
+ (i32.add
+ (i32.load
+ (local.get $1)
+ )
+ (i32.const 8)
+ )
+ (local.get $0)
+ )
+ (local.set $0
+ (call $assembly/index/Body#constructor
+ (f64.const 12.894369562139131)
+ (f64.const -15.111151401698631)
+ (f64.const -0.22330757889265573)
+ (f64.const 1.0827910064415354)
+ (f64.const 0.8687130181696082)
+ (f64.const -0.010832637401363636)
+ (f64.const 1.7237240570597112e-03)
+ )
+ )
+ (i32.store offset=8
+ (i32.add
+ (i32.load
+ (local.get $1)
+ )
+ (i32.const 12)
+ )
+ (local.get $0)
+ )
+ (local.set $0
+ (call $assembly/index/Body#constructor
+ (f64.const 15.379697114850917)
+ (f64.const -25.919314609987964)
+ (f64.const 0.17925877295037118)
+ (f64.const 0.979090732243898)
+ (f64.const 0.5946989986476762)
+ (f64.const -0.034755955504078104)
+ (f64.const 2.0336868699246304e-03)
+ )
+ )
+ (i32.store offset=8
+ (i32.add
+ (i32.load
+ (local.get $1)
+ )
+ (i32.const 16)
+ )
+ (local.get $0)
+ )
+ (global.set $global$5
+ (call $assembly/index/NBodySystem#constructor
+ (local.get $1)
+ )
+ )
+ )
+ (func $assembly/index/NBodySystem#advance (; 6 ;) (; has Stack IR ;) (param $0 i32)
+ (local $1 i32)
+ (local $2 f64)
+ (local $3 i32)
+ (local $4 f64)
+ (local $5 f64)
+ (local $6 f64)
+ (local $7 i32)
+ (local $8 f64)
+ (local $9 f64)
+ (local $10 f64)
+ (local $11 f64)
+ (local $12 i32)
+ (local $13 i32)
+ (local $14 f64)
+ (local $15 f64)
+ (local $16 f64)
+ (local $17 f64)
+ (local $18 f64)
+ (local.set $13
+ (i32.load offset=4
+ (local.tee $12
+ (i32.load
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (loop $label$3
+ (if
+ (i32.lt_u
+ (local.get $3)
+ (local.get $13)
+ )
+ (block
+ (local.set $14
+ (f64.load
+ (local.tee $0
+ (i32.load offset=8
+ (i32.add
+ (i32.load
+ (local.get $12)
+ )
+ (i32.shl
+ (local.get $3)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $15
+ (f64.load offset=8
+ (local.get $0)
+ )
+ )
+ (local.set $16
+ (f64.load offset=16
+ (local.get $0)
+ )
+ )
+ (local.set $4
+ (f64.load offset=24
+ (local.get $0)
+ )
+ )
+ (local.set $5
+ (f64.load offset=32
+ (local.get $0)
+ )
+ )
+ (local.set $6
+ (f64.load offset=40
+ (local.get $0)
+ )
+ )
+ (local.set $17
+ (f64.load offset=48
+ (local.get $0)
+ )
+ )
+ (local.set $7
+ (i32.add
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (loop $label$6
+ (if
+ (i32.lt_u
+ (local.get $7)
+ (local.get $13)
+ )
+ (block
+ (local.set $11
+ (f64.sqrt
+ (local.tee $8
+ (f64.add
+ (f64.add
+ (f64.mul
+ (local.tee $2
+ (local.tee $18
+ (f64.sub
+ (local.get $14)
+ (f64.load
+ (local.tee $1
+ (i32.load offset=8
+ (i32.add
+ (i32.load
+ (local.get $12)
+ )
+ (i32.shl
+ (local.get $7)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.get $2)
+ )
+ (f64.mul
+ (local.tee $9
+ (f64.sub
+ (local.get $15)
+ (f64.load offset=8
+ (local.get $1)
+ )
+ )
+ )
+ (local.get $9)
+ )
+ )
+ (f64.mul
+ (local.tee $10
+ (f64.sub
+ (local.get $16)
+ (f64.load offset=16
+ (local.get $1)
+ )
+ )
+ )
+ (local.get $10)
+ )
+ )
+ )
+ )
+ )
+ (local.set $4
+ (f64.sub
+ (local.get $4)
+ (f64.mul
+ (local.get $2)
+ (local.tee $8
+ (f64.mul
+ (f64.load offset=48
+ (local.get $1)
+ )
+ (local.tee $11
+ (f64.div
+ (f64.const 0.01)
+ (f64.mul
+ (local.get $8)
+ (local.get $11)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $5
+ (f64.sub
+ (local.get $5)
+ (f64.mul
+ (local.get $9)
+ (local.get $8)
+ )
+ )
+ )
+ (local.set $6
+ (f64.sub
+ (local.get $6)
+ (f64.mul
+ (local.get $10)
+ (local.get $8)
+ )
+ )
+ )
+ (f64.store offset=24
+ (local.get $1)
+ (f64.add
+ (f64.load offset=24
+ (local.get $1)
+ )
+ (f64.mul
+ (local.get $18)
+ (local.tee $2
+ (f64.mul
+ (local.get $17)
+ (local.get $11)
+ )
+ )
+ )
+ )
+ )
+ (f64.store offset=32
+ (local.get $1)
+ (f64.add
+ (f64.load offset=32
+ (local.get $1)
+ )
+ (f64.mul
+ (local.get $9)
+ (local.get $2)
+ )
+ )
+ )
+ (f64.store offset=40
+ (local.get $1)
+ (f64.add
+ (f64.load offset=40
+ (local.get $1)
+ )
+ (f64.mul
+ (local.get $10)
+ (local.get $2)
+ )
+ )
+ )
+ (local.set $7
+ (i32.add
+ (local.get $7)
+ (i32.const 1)
+ )
+ )
+ (br $label$6)
+ )
+ )
+ )
+ (f64.store offset=24
+ (local.get $0)
+ (local.get $4)
+ )
+ (f64.store offset=32
+ (local.get $0)
+ (local.get $5)
+ )
+ (f64.store offset=40
+ (local.get $0)
+ (local.get $6)
+ )
+ (f64.store
+ (local.get $0)
+ (f64.add
+ (f64.load
+ (local.get $0)
+ )
+ (f64.mul
+ (f64.const 0.01)
+ (local.get $4)
+ )
+ )
+ )
+ (f64.store offset=8
+ (local.get $0)
+ (f64.add
+ (f64.load offset=8
+ (local.get $0)
+ )
+ (f64.mul
+ (f64.const 0.01)
+ (local.get $5)
+ )
+ )
+ )
+ (f64.store offset=16
+ (local.get $0)
+ (f64.add
+ (f64.load offset=16
+ (local.get $0)
+ )
+ (f64.mul
+ (f64.const 0.01)
+ (local.get $6)
+ )
+ )
+ )
+ (local.set $3
+ (i32.add
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (br $label$3)
+ )
+ )
+ )
+ )
+ (func $assembly/index/NBodySystem#energy (; 7 ;) (; has Stack IR ;) (type $10) (param $0 i32) (result f64)
+ (local $1 f64)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 f64)
+ (local $7 f64)
+ (local $8 f64)
+ (local $9 f64)
+ (local $10 f64)
+ (local.set $5
+ (i32.load offset=4
+ (local.tee $4
+ (i32.load
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (loop $label$4
+ (if
+ (i32.lt_u
+ (local.get $2)
+ (local.get $5)
+ )
+ (block
+ (local.set $6
+ (f64.load
+ (local.tee $0
+ (i32.load offset=8
+ (i32.add
+ (i32.load
+ (local.get $4)
+ )
+ (i32.shl
+ (local.get $2)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $7
+ (f64.load offset=8
+ (local.get $0)
+ )
+ )
+ (local.set $8
+ (f64.load offset=16
+ (local.get $0)
+ )
+ )
+ (local.set $1
+ (f64.add
+ (local.get $1)
+ (f64.mul
+ (f64.mul
+ (f64.const 0.5)
+ (local.tee $9
+ (f64.load offset=48
+ (local.get $0)
+ )
+ )
+ )
+ (f64.add
+ (f64.add
+ (f64.mul
+ (local.tee $1
+ (f64.load offset=24
+ (local.get $0)
+ )
+ )
+ (local.get $1)
+ )
+ (f64.mul
+ (local.tee $1
+ (f64.load offset=32
+ (local.get $0)
+ )
+ )
+ (local.get $1)
+ )
+ )
+ (f64.mul
+ (local.tee $1
+ (f64.load offset=40
+ (local.get $0)
+ )
+ )
+ (local.get $1)
+ )
+ )
+ )
+ )
+ )
+ (local.set $0
+ (i32.add
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (loop $label$7
+ (if
+ (i32.lt_u
+ (local.get $0)
+ (local.get $5)
+ )
+ (block
+ (local.set $10
+ (local.get $1)
+ )
+ (local.set $1
+ (f64.add
+ (f64.mul
+ (local.tee $1
+ (f64.sub
+ (local.get $6)
+ (f64.load
+ (local.tee $3
+ (i32.load offset=8
+ (i32.add
+ (i32.load
+ (local.get $4)
+ )
+ (i32.shl
+ (local.get $0)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.get $1)
+ )
+ (f64.mul
+ (local.tee $1
+ (f64.sub
+ (local.get $7)
+ (f64.load offset=8
+ (local.get $3)
+ )
+ )
+ )
+ (local.get $1)
+ )
+ )
+ )
+ (local.set $1
+ (f64.sub
+ (local.get $10)
+ (f64.div
+ (f64.mul
+ (local.get $9)
+ (f64.load offset=48
+ (local.get $3)
+ )
+ )
+ (f64.sqrt
+ (f64.add
+ (local.get $1)
+ (f64.mul
+ (local.tee $1
+ (f64.sub
+ (local.get $8)
+ (f64.load offset=16
+ (local.get $3)
+ )
+ )
+ )
+ (local.get $1)
+ )
+ )
+ )
+ )
+ )
+ )
+ (local.set $0
+ (i32.add
+ (local.get $0)
+ (i32.const 1)
+ )
+ )
+ (br $label$7)
+ )
+ )
+ )
+ (local.set $2
+ (i32.add
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (br $label$4)
+ )
+ )
+ )
+ (local.get $1)
+ )
+ (func $assembly/index/step (; 8 ;) (; has Stack IR ;) (type $8) (result f64)
+ (call $assembly/index/NBodySystem#advance
+ (global.get $global$5)
+ )
+ (call $assembly/index/NBodySystem#energy
+ (global.get $global$5)
+ )
+ )
+ (func $assembly/index/bench (; 9 ;) (; has Stack IR ;) (type $11) (param $0 i32)
+ (local $1 i32)
+ (block $label$1
+ (loop $label$2
+ (br_if $label$1
+ (i32.ge_u
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ (call $assembly/index/NBodySystem#advance
+ (global.get $global$5)
+ )
+ (local.set $1
+ (i32.add
+ (local.get $1)
+ (i32.const 1)
+ )
+ )
+ (br $label$2)
+ )
+ )
+ )
+ (func $assembly/index/getBody (; 10 ;) (; has Stack IR ;) (type $3) (param $0 i32) (result i32)
+ (local $1 i32)
+ (if (result i32)
+ (i32.lt_u
+ (local.get $0)
+ (i32.load offset=4
+ (local.tee $1
+ (i32.load
+ (global.get $global$5)
+ )
+ )
+ )
+ )
+ (if (result i32)
+ (i32.lt_u
+ (local.get $0)
+ (i32.shr_u
+ (i32.load
+ (local.tee $1
+ (i32.load
+ (local.get $1)
+ )
+ )
+ )
+ (i32.const 2)
+ )
+ )
+ (i32.load offset=8
+ (i32.add
+ (i32.shl
+ (local.get $0)
+ (i32.const 2)
+ )
+ (local.get $1)
+ )
+ )
+ (unreachable)
+ )
+ (i32.const 0)
+ )
+ )
+ (func $start (; 11 ;) (; has Stack IR ;) (type $0)
+ (global.set $global$0
+ (i32.const 104)
+ )
+ (global.set $global$1
+ (global.get $global$0)
+ )
+ )
+ (func $null (; 12 ;) (; has Stack IR ;) (type $0)
+ (nop)
+ )
+)
diff --git a/test/passes/O4.wast b/test/passes/O4.wast
index 4db19e968..cdea2da96 100644
--- a/test/passes/O4.wast
+++ b/test/passes/O4.wast
@@ -22,4 +22,1738 @@
(unreachable)
)
)
+;; AssemblyScript n-body benchmark
+(module
+ (type $0 (func))
+ (type $1 (func (param i32 i32) (result i32)))
+ (type $2 (func (param i32 f64 f64 f64) (result i32)))
+ (type $3 (func (param i32) (result i32)))
+ (type $4 (func (result i32)))
+ (type $5 (func (param i32 f64 f64 f64 f64 f64 f64 f64) (result i32)))
+ (type $6 (func (param i32 i32 i32 i32)))
+ (type $7 (func (param i32 i32 i32)))
+ (type $8 (func (result f64)))
+ (type $9 (func (param i32 f64)))
+ (type $10 (func (param i32) (result f64)))
+ (type $11 (func (param i32)))
+ (import "env" "memory" (memory $1 1))
+ (data (i32.const 8) "\0d\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
+ (data (i32.const 40) "\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00")
+ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
+ (table $0 1 funcref)
+ (elem (i32.const 0) $null)
+ (global $global$0 (mut i32) (i32.const 0))
+ (global $global$1 (mut i32) (i32.const 0))
+ (global $global$2 f64 (f64.const 3.141592653589793))
+ (global $global$3 f64 (f64.const 39.47841760435743))
+ (global $global$4 f64 (f64.const 365.24))
+ (global $global$5 (mut i32) (i32.const 0))
+ (global $global$6 i32 (i32.const 100))
+ (export "memory" (memory $0))
+ (export "table" (table $0))
+ (export "init" (func $assembly/index/init))
+ (export "step" (func $assembly/index/step))
+ (export "bench" (func $assembly/index/bench))
+ (export "getBody" (func $assembly/index/getBody))
+ (start $start)
+ (func $start:~lib/allocator/arena (; 1 ;) (type $0)
+ (global.set $global$0
+ (i32.and
+ (i32.add
+ (global.get $global$6)
+ (i32.const 7)
+ )
+ (i32.xor
+ (i32.const 7)
+ (i32.const -1)
+ )
+ )
+ )
+ (global.set $global$1
+ (global.get $global$0)
+ )
+ )
+ (func $start:assembly/index (; 2 ;) (type $0)
+ (call $start:~lib/allocator/arena)
+ )
+ (func $~lib/array/Array<Body>#__unchecked_get (; 3 ;) (type $1) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local.set $2
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (local.set $3
+ (local.get $1)
+ )
+ (local.set $4
+ (i32.const 0)
+ )
+ (i32.load offset=8
+ (i32.add
+ (i32.add
+ (local.get $2)
+ (i32.shl
+ (local.get $3)
+ (i32.const 2)
+ )
+ )
+ (local.get $4)
+ )
+ )
+ )
+ (func $~lib/array/Array<Body>#__get (; 4 ;) (type $1) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local.set $2
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (if (result i32)
+ (i32.lt_u
+ (local.get $1)
+ (i32.shr_u
+ (i32.load
+ (local.get $2)
+ )
+ (i32.const 2)
+ )
+ )
+ (block (result i32)
+ (local.set $3
+ (local.get $2)
+ )
+ (local.set $4
+ (local.get $1)
+ )
+ (local.set $5
+ (i32.const 0)
+ )
+ (i32.load offset=8
+ (i32.add
+ (i32.add
+ (local.get $3)
+ (i32.shl
+ (local.get $4)
+ (i32.const 2)
+ )
+ )
+ (local.get $5)
+ )
+ )
+ )
+ (unreachable)
+ )
+ )
+ (func $assembly/index/Body#offsetMomentum (; 5 ;) (type $2) (param $0 i32) (param $1 f64) (param $2 f64) (param $3 f64) (result i32)
+ (f64.store offset=24
+ (local.get $0)
+ (f64.div
+ (f64.neg
+ (local.get $1)
+ )
+ (global.get $global$3)
+ )
+ )
+ (f64.store offset=32
+ (local.get $0)
+ (f64.div
+ (f64.neg
+ (local.get $2)
+ )
+ (global.get $global$3)
+ )
+ )
+ (f64.store offset=40
+ (local.get $0)
+ (f64.div
+ (f64.neg
+ (local.get $3)
+ )
+ (global.get $global$3)
+ )
+ )
+ (local.get $0)
+ )
+ (func $~lib/allocator/arena/__memory_allocate (; 6 ;) (type $3) (param $0 i32) (result i32)
+ (local $1 i32)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (if
+ (i32.gt_u
+ (local.get $0)
+ (i32.const 1073741824)
+ )
+ (unreachable)
+ )
+ (local.set $1
+ (global.get $global$1)
+ )
+ (local.set $4
+ (i32.and
+ (i32.add
+ (i32.add
+ (local.get $1)
+ (select
+ (local.tee $2
+ (local.get $0)
+ )
+ (local.tee $3
+ (i32.const 1)
+ )
+ (i32.gt_u
+ (local.get $2)
+ (local.get $3)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ (i32.xor
+ (i32.const 7)
+ (i32.const -1)
+ )
+ )
+ )
+ (local.set $5
+ (current_memory)
+ )
+ (if
+ (i32.gt_u
+ (local.get $4)
+ (i32.shl
+ (local.get $5)
+ (i32.const 16)
+ )
+ )
+ (block
+ (local.set $2
+ (i32.shr_u
+ (i32.and
+ (i32.add
+ (i32.sub
+ (local.get $4)
+ (local.get $1)
+ )
+ (i32.const 65535)
+ )
+ (i32.xor
+ (i32.const 65535)
+ (i32.const -1)
+ )
+ )
+ (i32.const 16)
+ )
+ )
+ (local.set $3
+ (select
+ (local.tee $3
+ (local.get $5)
+ )
+ (local.tee $6
+ (local.get $2)
+ )
+ (i32.gt_s
+ (local.get $3)
+ (local.get $6)
+ )
+ )
+ )
+ (if
+ (i32.lt_s
+ (grow_memory
+ (local.get $3)
+ )
+ (i32.const 0)
+ )
+ (if
+ (i32.lt_s
+ (grow_memory
+ (local.get $2)
+ )
+ (i32.const 0)
+ )
+ (unreachable)
+ )
+ )
+ )
+ )
+ (global.set $global$1
+ (local.get $4)
+ )
+ (local.get $1)
+ )
+ (func $~lib/memory/memory.allocate (; 7 ;) (type $3) (param $0 i32) (result i32)
+ (return
+ (call $~lib/allocator/arena/__memory_allocate
+ (local.get $0)
+ )
+ )
+ )
+ (func $assembly/index/NBodySystem#constructor (; 8 ;) (type $1) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 f64)
+ (local $6 f64)
+ (local $7 f64)
+ (local $8 f64)
+ (local.set $5
+ (f64.const 0)
+ )
+ (local.set $6
+ (f64.const 0)
+ )
+ (local.set $7
+ (f64.const 0)
+ )
+ (local.set $3
+ (block $label$1 (result i32)
+ (local.set $2
+ (local.get $1)
+ )
+ (i32.load offset=4
+ (local.get $2)
+ )
+ )
+ )
+ (block $label$2
+ (local.set $2
+ (i32.const 0)
+ )
+ (loop $label$3
+ (br_if $label$2
+ (i32.eqz
+ (i32.lt_s
+ (local.get $2)
+ (local.get $3)
+ )
+ )
+ )
+ (block $label$4
+ (local.set $4
+ (call $~lib/array/Array<Body>#__unchecked_get
+ (local.get $1)
+ (local.get $2)
+ )
+ )
+ (local.set $8
+ (f64.load offset=48
+ (local.get $4)
+ )
+ )
+ (local.set $5
+ (f64.add
+ (local.get $5)
+ (f64.mul
+ (f64.load offset=24
+ (local.get $4)
+ )
+ (local.get $8)
+ )
+ )
+ )
+ (local.set $6
+ (f64.add
+ (local.get $6)
+ (f64.mul
+ (f64.load offset=32
+ (local.get $4)
+ )
+ (local.get $8)
+ )
+ )
+ )
+ (local.set $7
+ (f64.add
+ (local.get $7)
+ (f64.mul
+ (f64.load offset=40
+ (local.get $4)
+ )
+ (local.get $8)
+ )
+ )
+ )
+ )
+ (local.set $2
+ (i32.add
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (br $label$3)
+ )
+ )
+ (drop
+ (call $assembly/index/Body#offsetMomentum
+ (call $~lib/array/Array<Body>#__get
+ (local.get $1)
+ (i32.const 0)
+ )
+ (local.get $5)
+ (local.get $6)
+ (local.get $7)
+ )
+ )
+ (if
+ (i32.eqz
+ (local.get $0)
+ )
+ (local.set $0
+ (call $~lib/memory/memory.allocate
+ (i32.const 4)
+ )
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (local.get $1)
+ )
+ (local.get $0)
+ )
+ (func $assembly/index/Body#constructor (; 9 ;) (type $5) (param $0 i32) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 f64) (param $5 f64) (param $6 f64) (param $7 f64) (result i32)
+ (if
+ (i32.eqz
+ (local.get $0)
+ )
+ (local.set $0
+ (call $~lib/memory/memory.allocate
+ (i32.const 56)
+ )
+ )
+ )
+ (f64.store
+ (local.get $0)
+ (local.get $1)
+ )
+ (f64.store offset=8
+ (local.get $0)
+ (local.get $2)
+ )
+ (f64.store offset=16
+ (local.get $0)
+ (local.get $3)
+ )
+ (f64.store offset=24
+ (local.get $0)
+ (local.get $4)
+ )
+ (f64.store offset=32
+ (local.get $0)
+ (local.get $5)
+ )
+ (f64.store offset=40
+ (local.get $0)
+ (local.get $6)
+ )
+ (f64.store offset=48
+ (local.get $0)
+ (local.get $7)
+ )
+ (local.get $0)
+ )
+ (func $assembly/index/Sun (; 10 ;) (type $4) (result i32)
+ (call $assembly/index/Body#constructor
+ (i32.const 0)
+ (f64.const 0)
+ (f64.const 0)
+ (f64.const 0)
+ (f64.const 0)
+ (f64.const 0)
+ (f64.const 0)
+ (global.get $global$3)
+ )
+ )
+ (func $assembly/index/Jupiter (; 11 ;) (type $4) (result i32)
+ (call $assembly/index/Body#constructor
+ (i32.const 0)
+ (f64.const 4.841431442464721)
+ (f64.const -1.1603200440274284)
+ (f64.const -0.10362204447112311)
+ (f64.mul
+ (f64.const 0.001660076642744037)
+ (global.get $global$4)
+ )
+ (f64.mul
+ (f64.const 0.007699011184197404)
+ (global.get $global$4)
+ )
+ (f64.mul
+ (f64.const -6.90460016972063e-05)
+ (global.get $global$4)
+ )
+ (f64.mul
+ (f64.const 9.547919384243266e-04)
+ (global.get $global$3)
+ )
+ )
+ )
+ (func $assembly/index/Saturn (; 12 ;) (type $4) (result i32)
+ (call $assembly/index/Body#constructor
+ (i32.const 0)
+ (f64.const 8.34336671824458)
+ (f64.const 4.124798564124305)
+ (f64.const -0.4035234171143214)
+ (f64.mul
+ (f64.const -0.002767425107268624)
+ (global.get $global$4)
+ )
+ (f64.mul
+ (f64.const 0.004998528012349172)
+ (global.get $global$4)
+ )
+ (f64.mul
+ (f64.const 2.3041729757376393e-05)
+ (global.get $global$4)
+ )
+ (f64.mul
+ (f64.const 2.858859806661308e-04)
+ (global.get $global$3)
+ )
+ )
+ )
+ (func $assembly/index/Uranus (; 13 ;) (type $4) (result i32)
+ (call $assembly/index/Body#constructor
+ (i32.const 0)
+ (f64.const 12.894369562139131)
+ (f64.const -15.111151401698631)
+ (f64.const -0.22330757889265573)
+ (f64.mul
+ (f64.const 0.002964601375647616)
+ (global.get $global$4)
+ )
+ (f64.mul
+ (f64.const 2.3784717395948095e-03)
+ (global.get $global$4)
+ )
+ (f64.mul
+ (f64.const -2.9658956854023756e-05)
+ (global.get $global$4)
+ )
+ (f64.mul
+ (f64.const 4.366244043351563e-05)
+ (global.get $global$3)
+ )
+ )
+ )
+ (func $assembly/index/Neptune (; 14 ;) (type $4) (result i32)
+ (call $assembly/index/Body#constructor
+ (i32.const 0)
+ (f64.const 15.379697114850917)
+ (f64.const -25.919314609987964)
+ (f64.const 0.17925877295037118)
+ (f64.mul
+ (f64.const 2.6806777249038932e-03)
+ (global.get $global$4)
+ )
+ (f64.mul
+ (f64.const 0.001628241700382423)
+ (global.get $global$4)
+ )
+ (f64.mul
+ (f64.const -9.515922545197159e-05)
+ (global.get $global$4)
+ )
+ (f64.mul
+ (f64.const 5.1513890204661145e-05)
+ (global.get $global$3)
+ )
+ )
+ )
+ (func $~lib/internal/arraybuffer/computeSize (; 15 ;) (type $3) (param $0 i32) (result i32)
+ (i32.shl
+ (i32.const 1)
+ (i32.sub
+ (i32.const 32)
+ (i32.clz
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ (i32.const 1)
+ )
+ )
+ )
+ )
+ )
+ (func $~lib/internal/arraybuffer/allocateUnsafe (; 16 ;) (type $3) (param $0 i32) (result i32)
+ (local $1 i32)
+ (local $2 i32)
+ (if
+ (i32.eqz
+ (i32.le_u
+ (local.get $0)
+ (i32.const 1073741816)
+ )
+ )
+ (block
+ (call $~lib/env/abort
+ (i32.const 0)
+ (i32.const 40)
+ (i32.const 26)
+ (i32.const 2)
+ )
+ (unreachable)
+ )
+ )
+ (local.set $1
+ (block $label$2 (result i32)
+ (local.set $2
+ (call $~lib/internal/arraybuffer/computeSize
+ (local.get $0)
+ )
+ )
+ (br $label$2
+ (call $~lib/allocator/arena/__memory_allocate
+ (local.get $2)
+ )
+ )
+ )
+ )
+ (i32.store
+ (local.get $1)
+ (local.get $0)
+ )
+ (local.get $1)
+ )
+ (func $~lib/internal/memory/memset (; 17 ;) (type $7) (param $0 i32) (param $1 i32) (param $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i64)
+ (if
+ (i32.eqz
+ (local.get $2)
+ )
+ (return)
+ )
+ (i32.store8
+ (local.get $0)
+ (local.get $1)
+ )
+ (i32.store8
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.const 1)
+ )
+ (local.get $1)
+ )
+ (if
+ (i32.le_u
+ (local.get $2)
+ (i32.const 2)
+ )
+ (return)
+ )
+ (i32.store8
+ (i32.add
+ (local.get $0)
+ (i32.const 1)
+ )
+ (local.get $1)
+ )
+ (i32.store8
+ (i32.add
+ (local.get $0)
+ (i32.const 2)
+ )
+ (local.get $1)
+ )
+ (i32.store8
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.const 2)
+ )
+ (local.get $1)
+ )
+ (i32.store8
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.const 3)
+ )
+ (local.get $1)
+ )
+ (if
+ (i32.le_u
+ (local.get $2)
+ (i32.const 6)
+ )
+ (return)
+ )
+ (i32.store8
+ (i32.add
+ (local.get $0)
+ (i32.const 3)
+ )
+ (local.get $1)
+ )
+ (i32.store8
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.const 4)
+ )
+ (local.get $1)
+ )
+ (if
+ (i32.le_u
+ (local.get $2)
+ (i32.const 8)
+ )
+ (return)
+ )
+ (local.set $3
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (local.get $0)
+ )
+ (i32.const 3)
+ )
+ )
+ (local.set $0
+ (i32.add
+ (local.get $0)
+ (local.get $3)
+ )
+ )
+ (local.set $2
+ (i32.sub
+ (local.get $2)
+ (local.get $3)
+ )
+ )
+ (local.set $2
+ (i32.and
+ (local.get $2)
+ (i32.const -4)
+ )
+ )
+ (local.set $4
+ (i32.mul
+ (i32.div_u
+ (i32.const -1)
+ (i32.const 255)
+ )
+ (i32.and
+ (local.get $1)
+ (i32.const 255)
+ )
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (local.get $4)
+ )
+ (i32.store
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.const 4)
+ )
+ (local.get $4)
+ )
+ (if
+ (i32.le_u
+ (local.get $2)
+ (i32.const 8)
+ )
+ (return)
+ )
+ (i32.store
+ (i32.add
+ (local.get $0)
+ (i32.const 4)
+ )
+ (local.get $4)
+ )
+ (i32.store
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ (local.get $4)
+ )
+ (i32.store
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.const 12)
+ )
+ (local.get $4)
+ )
+ (i32.store
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.const 8)
+ )
+ (local.get $4)
+ )
+ (if
+ (i32.le_u
+ (local.get $2)
+ (i32.const 24)
+ )
+ (return)
+ )
+ (i32.store
+ (i32.add
+ (local.get $0)
+ (i32.const 12)
+ )
+ (local.get $4)
+ )
+ (i32.store
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ (local.get $4)
+ )
+ (i32.store
+ (i32.add
+ (local.get $0)
+ (i32.const 20)
+ )
+ (local.get $4)
+ )
+ (i32.store
+ (i32.add
+ (local.get $0)
+ (i32.const 24)
+ )
+ (local.get $4)
+ )
+ (i32.store
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.const 28)
+ )
+ (local.get $4)
+ )
+ (i32.store
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.const 24)
+ )
+ (local.get $4)
+ )
+ (i32.store
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.const 20)
+ )
+ (local.get $4)
+ )
+ (i32.store
+ (i32.sub
+ (i32.add
+ (local.get $0)
+ (local.get $2)
+ )
+ (i32.const 16)
+ )
+ (local.get $4)
+ )
+ (local.set $3
+ (i32.add
+ (i32.const 24)
+ (i32.and
+ (local.get $0)
+ (i32.const 4)
+ )
+ )
+ )
+ (local.set $0
+ (i32.add
+ (local.get $0)
+ (local.get $3)
+ )
+ )
+ (local.set $2
+ (i32.sub
+ (local.get $2)
+ (local.get $3)
+ )
+ )
+ (local.set $5
+ (i64.or
+ (i64.extend_i32_u
+ (local.get $4)
+ )
+ (i64.shl
+ (i64.extend_i32_u
+ (local.get $4)
+ )
+ (i64.const 32)
+ )
+ )
+ )
+ (block $label$7
+ (loop $label$8
+ (if
+ (i32.ge_u
+ (local.get $2)
+ (i32.const 32)
+ )
+ (block
+ (block $label$10
+ (i64.store
+ (local.get $0)
+ (local.get $5)
+ )
+ (i64.store
+ (i32.add
+ (local.get $0)
+ (i32.const 8)
+ )
+ (local.get $5)
+ )
+ (i64.store
+ (i32.add
+ (local.get $0)
+ (i32.const 16)
+ )
+ (local.get $5)
+ )
+ (i64.store
+ (i32.add
+ (local.get $0)
+ (i32.const 24)
+ )
+ (local.get $5)
+ )
+ (local.set $2
+ (i32.sub
+ (local.get $2)
+ (i32.const 32)
+ )
+ )
+ (local.set $0
+ (i32.add
+ (local.get $0)
+ (i32.const 32)
+ )
+ )
+ )
+ (br $label$8)
+ )
+ )
+ )
+ )
+ )
+ (func $~lib/array/Array<Body>#constructor (; 18 ;) (type $1) (param $0 i32) (param $1 i32) (result i32)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (if
+ (i32.gt_u
+ (local.get $1)
+ (i32.const 268435454)
+ )
+ (block
+ (call $~lib/env/abort
+ (i32.const 0)
+ (i32.const 8)
+ (i32.const 45)
+ (i32.const 39)
+ )
+ (unreachable)
+ )
+ )
+ (local.set $2
+ (i32.shl
+ (local.get $1)
+ (i32.const 2)
+ )
+ )
+ (local.set $3
+ (call $~lib/internal/arraybuffer/allocateUnsafe
+ (local.get $2)
+ )
+ )
+ (i32.store
+ (block $label$2 (result i32)
+ (if
+ (i32.eqz
+ (local.get $0)
+ )
+ (local.set $0
+ (call $~lib/memory/memory.allocate
+ (i32.const 8)
+ )
+ )
+ )
+ (i32.store
+ (local.get $0)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (local.get $0)
+ (i32.const 0)
+ )
+ (local.get $0)
+ )
+ (local.get $3)
+ )
+ (i32.store offset=4
+ (local.get $0)
+ (local.get $1)
+ )
+ (block $label$4
+ (local.set $4
+ (i32.add
+ (local.get $3)
+ (i32.const 8)
+ )
+ )
+ (local.set $5
+ (i32.const 0)
+ )
+ (local.set $6
+ (local.get $2)
+ )
+ (call $~lib/internal/memory/memset
+ (local.get $4)
+ (local.get $5)
+ (local.get $6)
+ )
+ )
+ (local.get $0)
+ )
+ (func $~lib/array/Array<Body>#__unchecked_set (; 19 ;) (type $7) (param $0 i32) (param $1 i32) (param $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local.set $3
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (local.set $4
+ (local.get $1)
+ )
+ (local.set $5
+ (local.get $2)
+ )
+ (local.set $6
+ (i32.const 0)
+ )
+ (i32.store offset=8
+ (i32.add
+ (i32.add
+ (local.get $3)
+ (i32.shl
+ (local.get $4)
+ (i32.const 2)
+ )
+ )
+ (local.get $6)
+ )
+ (local.get $5)
+ )
+ )
+ (func $assembly/index/init (; 20 ;) (type $0)
+ (local $0 i32)
+ (global.set $global$5
+ (call $assembly/index/NBodySystem#constructor
+ (i32.const 0)
+ (block $label$1 (result i32)
+ (local.set $0
+ (call $~lib/array/Array<Body>#constructor
+ (i32.const 0)
+ (i32.const 5)
+ )
+ )
+ (call $~lib/array/Array<Body>#__unchecked_set
+ (local.get $0)
+ (i32.const 0)
+ (call $assembly/index/Sun)
+ )
+ (call $~lib/array/Array<Body>#__unchecked_set
+ (local.get $0)
+ (i32.const 1)
+ (call $assembly/index/Jupiter)
+ )
+ (call $~lib/array/Array<Body>#__unchecked_set
+ (local.get $0)
+ (i32.const 2)
+ (call $assembly/index/Saturn)
+ )
+ (call $~lib/array/Array<Body>#__unchecked_set
+ (local.get $0)
+ (i32.const 3)
+ (call $assembly/index/Uranus)
+ )
+ (call $~lib/array/Array<Body>#__unchecked_set
+ (local.get $0)
+ (i32.const 4)
+ (call $assembly/index/Neptune)
+ )
+ (local.get $0)
+ )
+ )
+ )
+ )
+ (func $assembly/index/NBodySystem#advance (; 21 ;) (type $9) (param $0 i32) (param $1 f64)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 i32)
+ (local $8 f64)
+ (local $9 f64)
+ (local $10 f64)
+ (local $11 f64)
+ (local $12 f64)
+ (local $13 f64)
+ (local $14 f64)
+ (local $15 f64)
+ (local $16 f64)
+ (local $17 f64)
+ (local $18 f64)
+ (local $19 f64)
+ (local $20 f64)
+ (local $21 f64)
+ (local $22 f64)
+ (local.set $2
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (local.set $4
+ (block $label$1 (result i32)
+ (local.set $3
+ (local.get $2)
+ )
+ (i32.load offset=4
+ (local.get $3)
+ )
+ )
+ )
+ (block $label$2
+ (local.set $3
+ (i32.const 0)
+ )
+ (loop $label$3
+ (br_if $label$2
+ (i32.eqz
+ (i32.lt_u
+ (local.get $3)
+ (local.get $4)
+ )
+ )
+ )
+ (block $label$4
+ (local.set $5
+ (call $~lib/array/Array<Body>#__unchecked_get
+ (local.get $2)
+ (local.get $3)
+ )
+ )
+ (local.set $8
+ (f64.load
+ (local.get $5)
+ )
+ )
+ (local.set $9
+ (f64.load offset=8
+ (local.get $5)
+ )
+ )
+ (local.set $10
+ (f64.load offset=16
+ (local.get $5)
+ )
+ )
+ (local.set $11
+ (f64.load offset=24
+ (local.get $5)
+ )
+ )
+ (local.set $12
+ (f64.load offset=32
+ (local.get $5)
+ )
+ )
+ (local.set $13
+ (f64.load offset=40
+ (local.get $5)
+ )
+ )
+ (local.set $14
+ (f64.load offset=48
+ (local.get $5)
+ )
+ )
+ (block $label$5
+ (local.set $6
+ (i32.add
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (loop $label$6
+ (br_if $label$5
+ (i32.eqz
+ (i32.lt_u
+ (local.get $6)
+ (local.get $4)
+ )
+ )
+ )
+ (block $label$7
+ (local.set $7
+ (call $~lib/array/Array<Body>#__unchecked_get
+ (local.get $2)
+ (local.get $6)
+ )
+ )
+ (local.set $15
+ (f64.sub
+ (local.get $8)
+ (f64.load
+ (local.get $7)
+ )
+ )
+ )
+ (local.set $16
+ (f64.sub
+ (local.get $9)
+ (f64.load offset=8
+ (local.get $7)
+ )
+ )
+ )
+ (local.set $17
+ (f64.sub
+ (local.get $10)
+ (f64.load offset=16
+ (local.get $7)
+ )
+ )
+ )
+ (local.set $18
+ (f64.add
+ (f64.add
+ (f64.mul
+ (local.get $15)
+ (local.get $15)
+ )
+ (f64.mul
+ (local.get $16)
+ (local.get $16)
+ )
+ )
+ (f64.mul
+ (local.get $17)
+ (local.get $17)
+ )
+ )
+ )
+ (local.set $19
+ (block $label$8 (result f64)
+ (local.set $19
+ (local.get $18)
+ )
+ (f64.sqrt
+ (local.get $19)
+ )
+ )
+ )
+ (local.set $20
+ (f64.div
+ (local.get $1)
+ (f64.mul
+ (local.get $18)
+ (local.get $19)
+ )
+ )
+ )
+ (local.set $21
+ (f64.mul
+ (local.get $14)
+ (local.get $20)
+ )
+ )
+ (local.set $22
+ (f64.mul
+ (f64.load offset=48
+ (local.get $7)
+ )
+ (local.get $20)
+ )
+ )
+ (local.set $11
+ (f64.sub
+ (local.get $11)
+ (f64.mul
+ (local.get $15)
+ (local.get $22)
+ )
+ )
+ )
+ (local.set $12
+ (f64.sub
+ (local.get $12)
+ (f64.mul
+ (local.get $16)
+ (local.get $22)
+ )
+ )
+ )
+ (local.set $13
+ (f64.sub
+ (local.get $13)
+ (f64.mul
+ (local.get $17)
+ (local.get $22)
+ )
+ )
+ )
+ (f64.store offset=24
+ (local.get $7)
+ (f64.add
+ (f64.load offset=24
+ (local.get $7)
+ )
+ (f64.mul
+ (local.get $15)
+ (local.get $21)
+ )
+ )
+ )
+ (f64.store offset=32
+ (local.get $7)
+ (f64.add
+ (f64.load offset=32
+ (local.get $7)
+ )
+ (f64.mul
+ (local.get $16)
+ (local.get $21)
+ )
+ )
+ )
+ (f64.store offset=40
+ (local.get $7)
+ (f64.add
+ (f64.load offset=40
+ (local.get $7)
+ )
+ (f64.mul
+ (local.get $17)
+ (local.get $21)
+ )
+ )
+ )
+ )
+ (local.set $6
+ (i32.add
+ (local.get $6)
+ (i32.const 1)
+ )
+ )
+ (br $label$6)
+ )
+ )
+ (f64.store offset=24
+ (local.get $5)
+ (local.get $11)
+ )
+ (f64.store offset=32
+ (local.get $5)
+ (local.get $12)
+ )
+ (f64.store offset=40
+ (local.get $5)
+ (local.get $13)
+ )
+ (f64.store
+ (local.get $5)
+ (f64.add
+ (f64.load
+ (local.get $5)
+ )
+ (f64.mul
+ (local.get $1)
+ (local.get $11)
+ )
+ )
+ )
+ (f64.store offset=8
+ (local.get $5)
+ (f64.add
+ (f64.load offset=8
+ (local.get $5)
+ )
+ (f64.mul
+ (local.get $1)
+ (local.get $12)
+ )
+ )
+ )
+ (f64.store offset=16
+ (local.get $5)
+ (f64.add
+ (f64.load offset=16
+ (local.get $5)
+ )
+ (f64.mul
+ (local.get $1)
+ (local.get $13)
+ )
+ )
+ )
+ )
+ (local.set $3
+ (i32.add
+ (local.get $3)
+ (i32.const 1)
+ )
+ )
+ (br $label$3)
+ )
+ )
+ )
+ (func $assembly/index/NBodySystem#energy (; 22 ;) (type $10) (param $0 i32) (result f64)
+ (local $1 i32)
+ (local $2 i32)
+ (local $3 i32)
+ (local $4 i32)
+ (local $5 i32)
+ (local $6 i32)
+ (local $7 f64)
+ (local $8 f64)
+ (local $9 f64)
+ (local $10 f64)
+ (local $11 f64)
+ (local $12 f64)
+ (local $13 f64)
+ (local $14 f64)
+ (local $15 f64)
+ (local $16 f64)
+ (local $17 f64)
+ (local $18 f64)
+ (local.set $7
+ (f64.const 0)
+ )
+ (local.set $1
+ (i32.load
+ (local.get $0)
+ )
+ )
+ (block $label$1
+ (block $label$2
+ (local.set $2
+ (i32.const 0)
+ )
+ (local.set $3
+ (block $label$3 (result i32)
+ (local.set $3
+ (local.get $1)
+ )
+ (i32.load offset=4
+ (local.get $3)
+ )
+ )
+ )
+ )
+ (loop $label$4
+ (br_if $label$1
+ (i32.eqz
+ (i32.lt_u
+ (local.get $2)
+ (local.get $3)
+ )
+ )
+ )
+ (block $label$5
+ (local.set $4
+ (call $~lib/array/Array<Body>#__unchecked_get
+ (local.get $1)
+ (local.get $2)
+ )
+ )
+ (local.set $8
+ (f64.load
+ (local.get $4)
+ )
+ )
+ (local.set $9
+ (f64.load offset=8
+ (local.get $4)
+ )
+ )
+ (local.set $10
+ (f64.load offset=16
+ (local.get $4)
+ )
+ )
+ (local.set $11
+ (f64.load offset=24
+ (local.get $4)
+ )
+ )
+ (local.set $12
+ (f64.load offset=32
+ (local.get $4)
+ )
+ )
+ (local.set $13
+ (f64.load offset=40
+ (local.get $4)
+ )
+ )
+ (local.set $14
+ (f64.load offset=48
+ (local.get $4)
+ )
+ )
+ (local.set $7
+ (f64.add
+ (local.get $7)
+ (f64.mul
+ (f64.mul
+ (f64.const 0.5)
+ (local.get $14)
+ )
+ (f64.add
+ (f64.add
+ (f64.mul
+ (local.get $11)
+ (local.get $11)
+ )
+ (f64.mul
+ (local.get $12)
+ (local.get $12)
+ )
+ )
+ (f64.mul
+ (local.get $13)
+ (local.get $13)
+ )
+ )
+ )
+ )
+ )
+ (block $label$6
+ (local.set $5
+ (i32.add
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (loop $label$7
+ (br_if $label$6
+ (i32.eqz
+ (i32.lt_u
+ (local.get $5)
+ (local.get $3)
+ )
+ )
+ )
+ (block $label$8
+ (local.set $6
+ (call $~lib/array/Array<Body>#__unchecked_get
+ (local.get $1)
+ (local.get $5)
+ )
+ )
+ (local.set $15
+ (f64.sub
+ (local.get $8)
+ (f64.load
+ (local.get $6)
+ )
+ )
+ )
+ (local.set $16
+ (f64.sub
+ (local.get $9)
+ (f64.load offset=8
+ (local.get $6)
+ )
+ )
+ )
+ (local.set $17
+ (f64.sub
+ (local.get $10)
+ (f64.load offset=16
+ (local.get $6)
+ )
+ )
+ )
+ (local.set $18
+ (block $label$9 (result f64)
+ (local.set $18
+ (f64.add
+ (f64.add
+ (f64.mul
+ (local.get $15)
+ (local.get $15)
+ )
+ (f64.mul
+ (local.get $16)
+ (local.get $16)
+ )
+ )
+ (f64.mul
+ (local.get $17)
+ (local.get $17)
+ )
+ )
+ )
+ (f64.sqrt
+ (local.get $18)
+ )
+ )
+ )
+ (local.set $7
+ (f64.sub
+ (local.get $7)
+ (f64.div
+ (f64.mul
+ (local.get $14)
+ (f64.load offset=48
+ (local.get $6)
+ )
+ )
+ (local.get $18)
+ )
+ )
+ )
+ )
+ (local.set $5
+ (i32.add
+ (local.get $5)
+ (i32.const 1)
+ )
+ )
+ (br $label$7)
+ )
+ )
+ )
+ (local.set $2
+ (i32.add
+ (local.get $2)
+ (i32.const 1)
+ )
+ )
+ (br $label$4)
+ )
+ )
+ (local.get $7)
+ )
+ (func $assembly/index/step (; 23 ;) (type $8) (result f64)
+ (call $assembly/index/NBodySystem#advance
+ (global.get $global$5)
+ (f64.const 0.01)
+ )
+ (call $assembly/index/NBodySystem#energy
+ (global.get $global$5)
+ )
+ )
+ (func $assembly/index/bench (; 24 ;) (type $11) (param $0 i32)
+ (local $1 i32)
+ (block $label$1
+ (local.set $1
+ (i32.const 0)
+ )
+ (loop $label$2
+ (br_if $label$1
+ (i32.eqz
+ (i32.lt_u
+ (local.get $1)
+ (local.get $0)
+ )
+ )
+ )
+ (call $assembly/index/NBodySystem#advance
+ (global.get $global$5)
+ (f64.const 0.01)
+ )
+ (local.set $1
+ (i32.add
+ (local.get $1)
+ (i32.const 1)
+ )
+ )
+ (br $label$2)
+ )
+ )
+ )
+ (func $assembly/index/getBody (; 25 ;) (type $3) (param $0 i32) (result i32)
+ (local $1 i32)
+ (local $2 i32)
+ (local.set $1
+ (i32.load
+ (global.get $global$5)
+ )
+ )
+ (if (result i32)
+ (i32.lt_u
+ (local.get $0)
+ (block $label$1 (result i32)
+ (local.set $2
+ (local.get $1)
+ )
+ (i32.load offset=4
+ (local.get $2)
+ )
+ )
+ )
+ (call $~lib/array/Array<Body>#__get
+ (local.get $1)
+ (local.get $0)
+ )
+ (i32.const 0)
+ )
+ )
+ (func $start (; 26 ;) (type $0)
+ (call $start:assembly/index)
+ )
+ (func $null (; 27 ;) (type $0)
+ )
+)
diff --git a/test/passes/converge_O3_metrics.bin.txt b/test/passes/converge_O3_metrics.bin.txt
index be1ebb897..00835cc1e 100644
--- a/test/passes/converge_O3_metrics.bin.txt
+++ b/test/passes/converge_O3_metrics.bin.txt
@@ -1,4 +1,5 @@
total
+ [exports] : 2
[funcs] : 8
[imports] : 3
[memory-data] : 28
@@ -240,6 +241,7 @@ total
)
)
total
+ [exports] : 2
[funcs] : 8
[imports] : 3
[memory-data] : 28
@@ -482,6 +484,7 @@ total
)
)
total
+ [exports] : 2
[funcs] : 8
[imports] : 3
[memory-data] : 28
diff --git a/test/passes/func-metrics.txt b/test/passes/func-metrics.txt
index 2d70c07c9..fd8d949bd 100644
--- a/test/passes/func-metrics.txt
+++ b/test/passes/func-metrics.txt
@@ -1,5 +1,7 @@
global
+ [exports] : 0
[funcs] : 3
+ [imports] : 0
[memory-data] : 9
[table-data] : 3
[total] : 3
@@ -7,10 +9,12 @@ global
func: empty
[binary-bytes] : 3
[total] : 1
+ [vars] : 0
nop : 1
func: small
[binary-bytes] : 9
[total] : 5
+ [vars] : 0
block : 1
const : 1
drop : 1
@@ -84,30 +88,41 @@ func: ifs
)
)
global
+ [exports] : 0
+ [funcs] : 0
+ [imports] : 0
+ [total] : 0
(module
)
global
+ [exports] : 2
[funcs] : 3
[imports] : 1
+ [total] : 0
func: func_a
[binary-bytes] : 16
[total] : 8
+ [vars] : 0
block : 1
call : 7
func: func_b
[binary-bytes] : 22
[total] : 11
+ [vars] : 0
block : 1
call : 10
func: func_c
[binary-bytes] : 32
[total] : 16
+ [vars] : 0
block : 1
call : 15
export: a (func_a)
[removable-bytes-without-it]: 72
+ [total] : 0
export: b (func_b)
[removable-bytes-without-it]: 18
+ [total] : 0
(module
(type $FUNCSIG$v (func))
(import "env" "waka" (func $waka))
@@ -153,17 +168,22 @@ export: b (func_b)
)
)
global
+ [exports] : 1
[funcs] : 1
[imports] : 1
+ [total] : 0
func: func_a
[binary-bytes] : 12
[total] : 6
+ [vars] : 0
block : 1
call : 5
export: a (func_a)
[removable-bytes-without-it]: 7
+ [total] : 0
start: func_a
[removable-bytes-without-it]: 3
+ [total] : 0
(module
(type $FUNCSIG$v (func))
(import "env" "waka" (func $waka))
@@ -178,15 +198,19 @@ start: func_a
)
)
global
+ [exports] : 0
[funcs] : 1
[imports] : 1
+ [total] : 0
func: func_a
[binary-bytes] : 12
[total] : 6
+ [vars] : 0
block : 1
call : 5
start: func_a
[removable-bytes-without-it]: 67
+ [total] : 0
(module
(type $FUNCSIG$v (func))
(import "env" "waka" (func $waka))
@@ -200,6 +224,7 @@ start: func_a
)
)
global
+ [exports] : 1
[funcs] : 1
[imports] : 1
[total] : 1
@@ -207,9 +232,11 @@ global
func: 0
[binary-bytes] : 4
[total] : 1
+ [vars] : 0
global.get : 1
export: stackSave (0)
[removable-bytes-without-it]: 74
+ [total] : 0
(module
(type $0 (func (result i32)))
(import "env" "STACKTOP" (global $gimport$0 i32))
diff --git a/test/passes/metrics.txt b/test/passes/metrics.txt
index 216ac1fcb..096194e84 100644
--- a/test/passes/metrics.txt
+++ b/test/passes/metrics.txt
@@ -1,5 +1,7 @@
total
+ [exports] : 0
[funcs] : 1
+ [imports] : 0
[memory-data] : 9
[table-data] : 3
[total] : 27
@@ -57,5 +59,10 @@ total
)
)
total
+ [exports] : 0
+ [funcs] : 0
+ [imports] : 0
+ [total] : 0
+ [vars] : 0
(module
)
diff --git a/test/passes/metrics_strip-debug_metrics.bin.txt b/test/passes/metrics_strip-debug_metrics.bin.txt
index dbb3dcc37..0efad35f5 100644
--- a/test/passes/metrics_strip-debug_metrics.bin.txt
+++ b/test/passes/metrics_strip-debug_metrics.bin.txt
@@ -1,10 +1,16 @@
total
+ [exports] : 1
[funcs] : 1
+ [imports] : 0
[total] : 1
+ [vars] : 0
nop : 1
total
+ [exports] : 1
[funcs] : 1
+ [imports] : 0
[total] : 1
+ [vars] : 0
nop : 1
(module
(type $0 (func))
diff --git a/test/passes/metrics_strip-producers_metrics.bin.txt b/test/passes/metrics_strip-producers_metrics.bin.txt
index 6ddfa5892..e630c14b7 100644
--- a/test/passes/metrics_strip-producers_metrics.bin.txt
+++ b/test/passes/metrics_strip-producers_metrics.bin.txt
@@ -1,10 +1,16 @@
total
+ [exports] : 1
[funcs] : 1
+ [imports] : 0
[total] : 1
+ [vars] : 0
nop : 1
total
+ [exports] : 1
[funcs] : 1
+ [imports] : 0
[total] : 1
+ [vars] : 0
nop : 1
(module
(type $0 (func))
diff --git a/test/passes/safe-heap.txt b/test/passes/safe-heap.txt
index ecb87091c..98f185fe4 100644
--- a/test/passes/safe-heap.txt
+++ b/test/passes/safe-heap.txt
@@ -171,7 +171,7 @@
(call $SAFE_HEAP_STORE_v128_16_16
(i32.const 14)
(i32.const 0)
- (v128.const i32 0x00000001 0x00000002 0x00000003 0x00000004)
+ (v128.const i32x4 0x00000001 0x00000002 0x00000003 0x00000004)
)
)
(func $SAFE_HEAP_LOAD_i32_1_A (; 4 ;) (param $0 i32) (param $1 i32) (result i32)
diff --git a/test/passes/safe-heap.wast b/test/passes/safe-heap.wast
index a2754b469..17c9995c4 100644
--- a/test/passes/safe-heap.wast
+++ b/test/passes/safe-heap.wast
@@ -32,7 +32,7 @@
(i64.store (i32.const 11) (i64.const 1100))
(f32.store (i32.const 12) (f32.const 1200))
(f64.store (i32.const 13) (f64.const 1300))
- (v128.store (i32.const 14) (v128.const i32 1 2 3 4))
+ (v128.store (i32.const 14) (v128.const i32x4 1 2 3 4))
)
)
;; not shared
diff --git a/test/passes/safe-heap_low-memory-unused.txt b/test/passes/safe-heap_low-memory-unused.txt
index 0d9287c57..801821e4f 100644
--- a/test/passes/safe-heap_low-memory-unused.txt
+++ b/test/passes/safe-heap_low-memory-unused.txt
@@ -171,7 +171,7 @@
(call $SAFE_HEAP_STORE_v128_16_16
(i32.const 14)
(i32.const 0)
- (v128.const i32 0x00000001 0x00000002 0x00000003 0x00000004)
+ (v128.const i32x4 0x00000001 0x00000002 0x00000003 0x00000004)
)
)
(func $SAFE_HEAP_LOAD_i32_1_A (; 4 ;) (param $0 i32) (param $1 i32) (result i32)
diff --git a/test/passes/safe-heap_low-memory-unused.wast b/test/passes/safe-heap_low-memory-unused.wast
index a2754b469..17c9995c4 100644
--- a/test/passes/safe-heap_low-memory-unused.wast
+++ b/test/passes/safe-heap_low-memory-unused.wast
@@ -32,7 +32,7 @@
(i64.store (i32.const 11) (i64.const 1100))
(f32.store (i32.const 12) (f32.const 1200))
(f64.store (i32.const 13) (f64.const 1300))
- (v128.store (i32.const 14) (v128.const i32 1 2 3 4))
+ (v128.store (i32.const 14) (v128.const i32x4 1 2 3 4))
)
)
;; not shared
diff --git a/test/passes/strip-target-features.bin.txt b/test/passes/strip-target-features.bin.txt
new file mode 100644
index 000000000..914273cfb
--- /dev/null
+++ b/test/passes/strip-target-features.bin.txt
@@ -0,0 +1,3 @@
+(module
+ ;; custom section "linking", size 1
+)
diff --git a/test/passes/strip-target-features.wasm b/test/passes/strip-target-features.wasm
new file mode 100644
index 000000000..1c837a1dc
--- /dev/null
+++ b/test/passes/strip-target-features.wasm
Binary files differ
diff --git a/test/passes/translate-to-fuzz.txt b/test/passes/translate-to-fuzz.txt
index 604ccc548..fb80f7c0d 100644
--- a/test/passes/translate-to-fuzz.txt
+++ b/test/passes/translate-to-fuzz.txt
@@ -302,24 +302,24 @@
(br_if $label$1
(i32.const -1)
)
- (v128.const i32 0x0b00c0b2 0x1f010200 0xff00ff01 0xff0fed00)
+ (v128.const i32x4 0x0b00c0b2 0x1f010200 0xff00ff01 0xff0fed00)
)
)
)
)
(local.set $5
- (v128.const i32 0x80190000 0xeb00021b 0x7f001a4a 0x005d1280)
+ (v128.const i32x4 0x80190000 0xeb00021b 0x7f001a4a 0x005d1280)
)
)
)
(func $func_8_invoker (; 9 ;) (type $FUNCSIG$v)
(call $func_8
(i32.const 68)
- (v128.const i32 0x25373870 0x313c793d 0x150c0902 0x1f4c030a)
+ (v128.const i32x4 0x25373870 0x313c793d 0x150c0902 0x1f4c030a)
(i32.const 420088586)
- (v128.const i32 0xfffe1b09 0xfffe0000 0x5f0b1615 0x463dffe6)
+ (v128.const i32x4 0xfffe1b09 0xfffe0000 0x5f0b1615 0x463dffe6)
(i64.const 2055)
- (v128.const i32 0x00000000 0x43e00000 0x00000000 0x406c6000)
+ (v128.const i32x4 0x00000000 0x43e00000 0x00000000 0x406c6000)
)
)
(func $func_10 (; 10 ;) (type $FUNCSIG$vd) (param $0 f64)
@@ -366,7 +366,7 @@
(global.get $hangLimit)
)
(return
- (v128.const i32 0xff040000 0xff371d46 0x6f000002 0x00004318)
+ (v128.const i32x4 0xff040000 0xff371d46 0x6f000002 0x00004318)
)
)
(global.set $hangLimit
@@ -461,7 +461,7 @@
)
(block $label$0
(local.set $5
- (v128.const i32 0x5d1b5d4e 0x48481b54 0x00000000 0xf8000000)
+ (v128.const i32x4 0x5d1b5d4e 0x48481b54 0x00000000 0xf8000000)
)
(nop)
)
diff --git a/test/passes/translate-to-fuzz_no-fuzz-nans.txt b/test/passes/translate-to-fuzz_no-fuzz-nans.txt
index 99ef3879d..f256d3bf4 100644
--- a/test/passes/translate-to-fuzz_no-fuzz-nans.txt
+++ b/test/passes/translate-to-fuzz_no-fuzz-nans.txt
@@ -302,24 +302,24 @@
(br_if $label$1
(i32.const -1)
)
- (v128.const i32 0x0b00c0b2 0x1f010200 0xff00ff01 0xff0fed00)
+ (v128.const i32x4 0x0b00c0b2 0x1f010200 0xff00ff01 0xff0fed00)
)
)
)
)
(local.set $5
- (v128.const i32 0x80190000 0xeb00021b 0x7f001a4a 0x005d1280)
+ (v128.const i32x4 0x80190000 0xeb00021b 0x7f001a4a 0x005d1280)
)
)
)
(func $func_8_invoker (; 9 ;) (type $FUNCSIG$v)
(call $func_8
(i32.const 68)
- (v128.const i32 0x25373870 0x313c793d 0x150c0902 0x1f4c030a)
+ (v128.const i32x4 0x25373870 0x313c793d 0x150c0902 0x1f4c030a)
(i32.const 420088586)
- (v128.const i32 0xfffe1b09 0xfffe0000 0x5f0b1615 0x463dffe6)
+ (v128.const i32x4 0xfffe1b09 0xfffe0000 0x5f0b1615 0x463dffe6)
(i64.const 2055)
- (v128.const i32 0x00000000 0x43e00000 0x00000000 0x406c6000)
+ (v128.const i32x4 0x00000000 0x43e00000 0x00000000 0x406c6000)
)
)
(func $func_10 (; 10 ;) (type $FUNCSIG$vd) (param $0 f64)
@@ -366,7 +366,7 @@
(global.get $hangLimit)
)
(return
- (v128.const i32 0xff040000 0xff371d46 0x6f000002 0x00004318)
+ (v128.const i32x4 0xff040000 0xff371d46 0x6f000002 0x00004318)
)
)
(global.set $hangLimit
@@ -461,7 +461,7 @@
)
(block $label$0
(local.set $5
- (v128.const i32 0x5d1b5d4e 0x48481b54 0x00000000 0xf8000000)
+ (v128.const i32x4 0x5d1b5d4e 0x48481b54 0x00000000 0xf8000000)
)
(nop)
)
diff --git a/test/simd.wast b/test/simd.wast
index ab6ef6458..11f0c19a6 100644
--- a/test/simd.wast
+++ b/test/simd.wast
@@ -10,8 +10,23 @@
(local.get $1)
)
)
- (func $v128.const (result v128)
- (v128.const i32 1 2 3 4)
+ (func $v128.const.i8x16 (result v128)
+ (v128.const i8x16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)
+ )
+ (func $v128.const.i16x8 (result v128)
+ (v128.const i16x8 1 2 3 4 5 6 7 8)
+ )
+ (func $v128.const.i32x4 (result v128)
+ (v128.const i32x4 1 2 3 4)
+ )
+ (func $v128.const.i64x2 (result v128)
+ (v128.const i64x2 1 2)
+ )
+ (func $v128.const.f32x4 (result v128)
+ (v128.const f32x4 1.0 2 3 4)
+ )
+ (func $v128.const.f64x2 (result v128)
+ (v128.const f64x2 1.0 2)
)
(func $v128.shuffle (param $0 v128) (param $1 v128) (result v128)
(v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31
diff --git a/test/simd.wast.from-wast b/test/simd.wast.from-wast
index 734d55366..fe1fd241d 100644
--- a/test/simd.wast.from-wast
+++ b/test/simd.wast.from-wast
@@ -26,782 +26,797 @@
(local.get $1)
)
)
- (func $v128.const (; 2 ;) (type $2) (result v128)
- (v128.const i32 0x00000001 0x00000002 0x00000003 0x00000004)
+ (func $v128.const.i8x16 (; 2 ;) (type $2) (result v128)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
- (func $v128.shuffle (; 3 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $v128.const.i16x8 (; 3 ;) (type $2) (result v128)
+ (v128.const i32x4 0x00020001 0x00040003 0x00060005 0x00080007)
+ )
+ (func $v128.const.i32x4 (; 4 ;) (type $2) (result v128)
+ (v128.const i32x4 0x00000001 0x00000002 0x00000003 0x00000004)
+ )
+ (func $v128.const.i64x2 (; 5 ;) (type $2) (result v128)
+ (v128.const i32x4 0x00000001 0x00000000 0x00000002 0x00000000)
+ )
+ (func $v128.const.f32x4 (; 6 ;) (type $2) (result v128)
+ (v128.const i32x4 0x3f800000 0x40000000 0x40400000 0x40800000)
+ )
+ (func $v128.const.f64x2 (; 7 ;) (type $2) (result v128)
+ (v128.const i32x4 0x00000000 0x3ff00000 0x00000000 0x40000000)
+ )
+ (func $v128.shuffle (; 8 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.splat (; 4 ;) (type $0) (param $0 i32) (result v128)
+ (func $i8x16.splat (; 9 ;) (type $0) (param $0 i32) (result v128)
(i8x16.splat
(local.get $0)
)
)
- (func $i8x16.extract_lane_s (; 5 ;) (type $4) (param $0 v128) (result i32)
+ (func $i8x16.extract_lane_s (; 10 ;) (type $4) (param $0 v128) (result i32)
(i8x16.extract_lane_s 0
(local.get $0)
)
)
- (func $i8x16.extract_lane_u (; 6 ;) (type $4) (param $0 v128) (result i32)
+ (func $i8x16.extract_lane_u (; 11 ;) (type $4) (param $0 v128) (result i32)
(i8x16.extract_lane_u 0
(local.get $0)
)
)
- (func $i8x16.replace_lane (; 7 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i8x16.replace_lane (; 12 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i8x16.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.splat (; 8 ;) (type $0) (param $0 i32) (result v128)
+ (func $i16x8.splat (; 13 ;) (type $0) (param $0 i32) (result v128)
(i16x8.splat
(local.get $0)
)
)
- (func $i16x8.extract_lane_s (; 9 ;) (type $4) (param $0 v128) (result i32)
+ (func $i16x8.extract_lane_s (; 14 ;) (type $4) (param $0 v128) (result i32)
(i16x8.extract_lane_s 0
(local.get $0)
)
)
- (func $i16x8.extract_lane_u (; 10 ;) (type $4) (param $0 v128) (result i32)
+ (func $i16x8.extract_lane_u (; 15 ;) (type $4) (param $0 v128) (result i32)
(i16x8.extract_lane_u 0
(local.get $0)
)
)
- (func $i16x8.replace_lane (; 11 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i16x8.replace_lane (; 16 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i16x8.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.splat (; 12 ;) (type $0) (param $0 i32) (result v128)
+ (func $i32x4.splat (; 17 ;) (type $0) (param $0 i32) (result v128)
(i32x4.splat
(local.get $0)
)
)
- (func $i32x4.extract_lane (; 13 ;) (type $4) (param $0 v128) (result i32)
+ (func $i32x4.extract_lane (; 18 ;) (type $4) (param $0 v128) (result i32)
(i32x4.extract_lane 0
(local.get $0)
)
)
- (func $i32x4.replace_lane (; 14 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i32x4.replace_lane (; 19 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i32x4.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $i64x2.extract_lane (; 15 ;) (type $6) (param $0 v128) (result i64)
+ (func $i64x2.extract_lane (; 20 ;) (type $6) (param $0 v128) (result i64)
(i64x2.extract_lane 0
(local.get $0)
)
)
- (func $i64x2.replace_lane (; 16 ;) (type $7) (param $0 v128) (param $1 i64) (result v128)
+ (func $i64x2.replace_lane (; 21 ;) (type $7) (param $0 v128) (param $1 i64) (result v128)
(i64x2.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.splat (; 17 ;) (type $8) (param $0 f32) (result v128)
+ (func $f32x4.splat (; 22 ;) (type $8) (param $0 f32) (result v128)
(f32x4.splat
(local.get $0)
)
)
- (func $f32x4.extract_lane (; 18 ;) (type $9) (param $0 v128) (result f32)
+ (func $f32x4.extract_lane (; 23 ;) (type $9) (param $0 v128) (result f32)
(f32x4.extract_lane 0
(local.get $0)
)
)
- (func $f32x4.replace_lane (; 19 ;) (type $10) (param $0 v128) (param $1 f32) (result v128)
+ (func $f32x4.replace_lane (; 24 ;) (type $10) (param $0 v128) (param $1 f32) (result v128)
(f32x4.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.splat (; 20 ;) (type $11) (param $0 f64) (result v128)
+ (func $f64x2.splat (; 25 ;) (type $11) (param $0 f64) (result v128)
(f64x2.splat
(local.get $0)
)
)
- (func $f64x2.extract_lane (; 21 ;) (type $12) (param $0 v128) (result f64)
+ (func $f64x2.extract_lane (; 26 ;) (type $12) (param $0 v128) (result f64)
(f64x2.extract_lane 0
(local.get $0)
)
)
- (func $f64x2.replace_lane (; 22 ;) (type $13) (param $0 v128) (param $1 f64) (result v128)
+ (func $f64x2.replace_lane (; 27 ;) (type $13) (param $0 v128) (param $1 f64) (result v128)
(f64x2.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.eq (; 23 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.eq (; 28 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.eq
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.ne (; 24 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.ne (; 29 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.ne
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.lt_s (; 25 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.lt_s (; 30 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.lt_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.lt_u (; 26 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.lt_u (; 31 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.lt_u
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.gt_s (; 27 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.gt_s (; 32 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.gt_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.gt_u (; 28 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.gt_u (; 33 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.gt_u
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.le_s (; 29 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.le_s (; 34 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.le_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.le_u (; 30 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.le_u (; 35 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.le_u
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.ge_s (; 31 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.ge_s (; 36 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.ge_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.ge_u (; 32 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.ge_u (; 37 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.ge_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.eq (; 33 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.eq (; 38 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.eq
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.ne (; 34 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.ne (; 39 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.ne
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.lt_s (; 35 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.lt_s (; 40 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.lt_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.lt_u (; 36 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.lt_u (; 41 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.lt_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.gt_s (; 37 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.gt_s (; 42 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.gt_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.gt_u (; 38 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.gt_u (; 43 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.gt_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.le_s (; 39 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.le_s (; 44 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.le_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.le_u (; 40 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.le_u (; 45 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.le_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.ge_s (; 41 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.ge_s (; 46 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.ge_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.ge_u (; 42 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.ge_u (; 47 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.ge_u
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.eq (; 43 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.eq (; 48 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.eq
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.ne (; 44 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.ne (; 49 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.ne
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.lt_s (; 45 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.lt_s (; 50 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.lt_s
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.lt_u (; 46 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.lt_u (; 51 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.lt_u
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.gt_s (; 47 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.gt_s (; 52 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.gt_s
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.gt_u (; 48 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.gt_u (; 53 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.gt_u
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.le_s (; 49 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.le_s (; 54 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.le_s
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.le_u (; 50 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.le_u (; 55 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.le_u
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.ge_s (; 51 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.ge_s (; 56 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.ge_s
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.ge_u (; 52 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.ge_u (; 57 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.ge_u
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.eq (; 53 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.eq (; 58 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.eq
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.ne (; 54 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.ne (; 59 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.ne
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.lt (; 55 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.lt (; 60 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.lt
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.gt (; 56 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.gt (; 61 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.gt
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.le (; 57 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.le (; 62 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.le
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.ge (; 58 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.ge (; 63 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.ge
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.eq (; 59 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.eq (; 64 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.eq
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.ne (; 60 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.ne (; 65 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.ne
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.lt (; 61 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.lt (; 66 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.lt
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.gt (; 62 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.gt (; 67 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.gt
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.le (; 63 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.le (; 68 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.le
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.ge (; 64 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.ge (; 69 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.ge
(local.get $0)
(local.get $1)
)
)
- (func $v128.not (; 65 ;) (type $14) (param $0 v128) (result v128)
+ (func $v128.not (; 70 ;) (type $14) (param $0 v128) (result v128)
(v128.not
(local.get $0)
)
)
- (func $v128.and (; 66 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $v128.and (; 71 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(v128.and
(local.get $0)
(local.get $1)
)
)
- (func $v128.or (; 67 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $v128.or (; 72 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(v128.or
(local.get $0)
(local.get $1)
)
)
- (func $v128.xor (; 68 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $v128.xor (; 73 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(v128.xor
(local.get $0)
(local.get $1)
)
)
- (func $v128.bitselect (; 69 ;) (type $15) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
+ (func $v128.bitselect (; 74 ;) (type $15) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
(v128.bitselect
(local.get $0)
(local.get $1)
(local.get $2)
)
)
- (func $i8x16.neg (; 70 ;) (type $14) (param $0 v128) (result v128)
+ (func $i8x16.neg (; 75 ;) (type $14) (param $0 v128) (result v128)
(i8x16.neg
(local.get $0)
)
)
- (func $i8x16.any_true (; 71 ;) (type $4) (param $0 v128) (result i32)
+ (func $i8x16.any_true (; 76 ;) (type $4) (param $0 v128) (result i32)
(i8x16.any_true
(local.get $0)
)
)
- (func $i8x16.all_true (; 72 ;) (type $4) (param $0 v128) (result i32)
+ (func $i8x16.all_true (; 77 ;) (type $4) (param $0 v128) (result i32)
(i8x16.all_true
(local.get $0)
)
)
- (func $i8x16.shl (; 73 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i8x16.shl (; 78 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i8x16.shl
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.shr_s (; 74 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i8x16.shr_s (; 79 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i8x16.shr_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.shr_u (; 75 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i8x16.shr_u (; 80 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i8x16.shr_u
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.add (; 76 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.add (; 81 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.add
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.add_saturate_s (; 77 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.add_saturate_s (; 82 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.add_saturate_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.add_saturate_u (; 78 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.add_saturate_u (; 83 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.add_saturate_u
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.sub (; 79 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.sub (; 84 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.sub
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.sub_saturate_s (; 80 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.sub_saturate_s (; 85 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.sub_saturate_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.sub_saturate_u (; 81 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.sub_saturate_u (; 86 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.sub_saturate_u
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.mul (; 82 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.mul (; 87 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.mul
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.neg (; 83 ;) (type $14) (param $0 v128) (result v128)
+ (func $i16x8.neg (; 88 ;) (type $14) (param $0 v128) (result v128)
(i16x8.neg
(local.get $0)
)
)
- (func $i16x8.any_true (; 84 ;) (type $4) (param $0 v128) (result i32)
+ (func $i16x8.any_true (; 89 ;) (type $4) (param $0 v128) (result i32)
(i16x8.any_true
(local.get $0)
)
)
- (func $i16x8.all_true (; 85 ;) (type $4) (param $0 v128) (result i32)
+ (func $i16x8.all_true (; 90 ;) (type $4) (param $0 v128) (result i32)
(i16x8.all_true
(local.get $0)
)
)
- (func $i16x8.shl (; 86 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i16x8.shl (; 91 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i16x8.shl
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.shr_s (; 87 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i16x8.shr_s (; 92 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i16x8.shr_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.shr_u (; 88 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i16x8.shr_u (; 93 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i16x8.shr_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.add (; 89 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.add (; 94 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.add
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.add_saturate_s (; 90 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.add_saturate_s (; 95 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.add_saturate_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.add_saturate_u (; 91 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.add_saturate_u (; 96 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.add_saturate_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.sub (; 92 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.sub (; 97 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.sub
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.sub_saturate_s (; 93 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.sub_saturate_s (; 98 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.sub_saturate_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.sub_saturate_u (; 94 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.sub_saturate_u (; 99 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.sub_saturate_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.mul (; 95 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.mul (; 100 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.mul
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.neg (; 96 ;) (type $14) (param $0 v128) (result v128)
+ (func $i32x4.neg (; 101 ;) (type $14) (param $0 v128) (result v128)
(i32x4.neg
(local.get $0)
)
)
- (func $i32x4.any_true (; 97 ;) (type $4) (param $0 v128) (result i32)
+ (func $i32x4.any_true (; 102 ;) (type $4) (param $0 v128) (result i32)
(i32x4.any_true
(local.get $0)
)
)
- (func $i32x4.all_true (; 98 ;) (type $4) (param $0 v128) (result i32)
+ (func $i32x4.all_true (; 103 ;) (type $4) (param $0 v128) (result i32)
(i32x4.all_true
(local.get $0)
)
)
- (func $i32x4.shl (; 99 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i32x4.shl (; 104 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i32x4.shl
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.shr_s (; 100 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i32x4.shr_s (; 105 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i32x4.shr_s
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.shr_u (; 101 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i32x4.shr_u (; 106 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i32x4.shr_u
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.add (; 102 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.add (; 107 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.add
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.sub (; 103 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.sub (; 108 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.sub
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.mul (; 104 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.mul (; 109 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.mul
(local.get $0)
(local.get $1)
)
)
- (func $i64x2.neg (; 105 ;) (type $14) (param $0 v128) (result v128)
+ (func $i64x2.neg (; 110 ;) (type $14) (param $0 v128) (result v128)
(i64x2.neg
(local.get $0)
)
)
- (func $i64x2.any_true (; 106 ;) (type $4) (param $0 v128) (result i32)
+ (func $i64x2.any_true (; 111 ;) (type $4) (param $0 v128) (result i32)
(i64x2.any_true
(local.get $0)
)
)
- (func $i64x2.all_true (; 107 ;) (type $4) (param $0 v128) (result i32)
+ (func $i64x2.all_true (; 112 ;) (type $4) (param $0 v128) (result i32)
(i64x2.all_true
(local.get $0)
)
)
- (func $i64x2.shl (; 108 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i64x2.shl (; 113 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i64x2.shl
(local.get $0)
(local.get $1)
)
)
- (func $i64x2.shr_s (; 109 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i64x2.shr_s (; 114 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i64x2.shr_s
(local.get $0)
(local.get $1)
)
)
- (func $i64x2.shr_u (; 110 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i64x2.shr_u (; 115 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i64x2.shr_u
(local.get $0)
(local.get $1)
)
)
- (func $i64x2.add (; 111 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i64x2.add (; 116 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i64x2.add
(local.get $0)
(local.get $1)
)
)
- (func $i64x2.sub (; 112 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i64x2.sub (; 117 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i64x2.sub
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.add (; 113 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.add (; 118 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.add
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.sub (; 114 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.sub (; 119 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.sub
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.mul (; 115 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.mul (; 120 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.mul
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.div (; 116 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.div (; 121 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.div
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.min (; 117 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.min (; 122 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.min
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.max (; 118 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.max (; 123 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.max
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.abs (; 119 ;) (type $14) (param $0 v128) (result v128)
+ (func $f32x4.abs (; 124 ;) (type $14) (param $0 v128) (result v128)
(f32x4.abs
(local.get $0)
)
)
- (func $f32x4.neg (; 120 ;) (type $14) (param $0 v128) (result v128)
+ (func $f32x4.neg (; 125 ;) (type $14) (param $0 v128) (result v128)
(f32x4.neg
(local.get $0)
)
)
- (func $f32x4.sqrt (; 121 ;) (type $14) (param $0 v128) (result v128)
+ (func $f32x4.sqrt (; 126 ;) (type $14) (param $0 v128) (result v128)
(f32x4.sqrt
(local.get $0)
)
)
- (func $f64x2.add (; 122 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.add (; 127 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.add
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.sub (; 123 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.sub (; 128 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.sub
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.mul (; 124 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.mul (; 129 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.mul
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.div (; 125 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.div (; 130 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.div
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.min (; 126 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.min (; 131 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.min
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.max (; 127 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.max (; 132 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.max
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.abs (; 128 ;) (type $14) (param $0 v128) (result v128)
+ (func $f64x2.abs (; 133 ;) (type $14) (param $0 v128) (result v128)
(f64x2.abs
(local.get $0)
)
)
- (func $f64x2.neg (; 129 ;) (type $14) (param $0 v128) (result v128)
+ (func $f64x2.neg (; 134 ;) (type $14) (param $0 v128) (result v128)
(f64x2.neg
(local.get $0)
)
)
- (func $f64x2.sqrt (; 130 ;) (type $14) (param $0 v128) (result v128)
+ (func $f64x2.sqrt (; 135 ;) (type $14) (param $0 v128) (result v128)
(f64x2.sqrt
(local.get $0)
)
)
- (func $i32x4.trunc_sat_f32x4_s (; 131 ;) (type $14) (param $0 v128) (result v128)
+ (func $i32x4.trunc_sat_f32x4_s (; 136 ;) (type $14) (param $0 v128) (result v128)
(i32x4.trunc_sat_f32x4_s
(local.get $0)
)
)
- (func $i32x4.trunc_sat_f32x4_u (; 132 ;) (type $14) (param $0 v128) (result v128)
+ (func $i32x4.trunc_sat_f32x4_u (; 137 ;) (type $14) (param $0 v128) (result v128)
(i32x4.trunc_sat_f32x4_u
(local.get $0)
)
)
- (func $i64x2.trunc_sat_f64x2_s (; 133 ;) (type $14) (param $0 v128) (result v128)
+ (func $i64x2.trunc_sat_f64x2_s (; 138 ;) (type $14) (param $0 v128) (result v128)
(i64x2.trunc_sat_f64x2_s
(local.get $0)
)
)
- (func $i64x2.trunc_sat_f64x2_u (; 134 ;) (type $14) (param $0 v128) (result v128)
+ (func $i64x2.trunc_sat_f64x2_u (; 139 ;) (type $14) (param $0 v128) (result v128)
(i64x2.trunc_sat_f64x2_u
(local.get $0)
)
)
- (func $f32x4.convert_i32x4_s (; 135 ;) (type $14) (param $0 v128) (result v128)
+ (func $f32x4.convert_i32x4_s (; 140 ;) (type $14) (param $0 v128) (result v128)
(f32x4.convert_i32x4_s
(local.get $0)
)
)
- (func $f32x4.convert_i32x4_u (; 136 ;) (type $14) (param $0 v128) (result v128)
+ (func $f32x4.convert_i32x4_u (; 141 ;) (type $14) (param $0 v128) (result v128)
(f32x4.convert_i32x4_u
(local.get $0)
)
)
- (func $f64x2.convert_i64x2_s (; 137 ;) (type $14) (param $0 v128) (result v128)
+ (func $f64x2.convert_i64x2_s (; 142 ;) (type $14) (param $0 v128) (result v128)
(f64x2.convert_i64x2_s
(local.get $0)
)
)
- (func $f64x2.convert_i64x2_u (; 138 ;) (type $14) (param $0 v128) (result v128)
+ (func $f64x2.convert_i64x2_u (; 143 ;) (type $14) (param $0 v128) (result v128)
(f64x2.convert_i64x2_u
(local.get $0)
)
diff --git a/test/simd.wast.fromBinary b/test/simd.wast.fromBinary
index 268f5e9b2..f3ea3ca91 100644
--- a/test/simd.wast.fromBinary
+++ b/test/simd.wast.fromBinary
@@ -26,782 +26,797 @@
(local.get $1)
)
)
- (func $v128.const (; 2 ;) (type $2) (result v128)
- (v128.const i32 0x00000001 0x00000002 0x00000003 0x00000004)
+ (func $v128.const.i8x16 (; 2 ;) (type $2) (result v128)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
- (func $v128.shuffle (; 3 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $v128.const.i16x8 (; 3 ;) (type $2) (result v128)
+ (v128.const i32x4 0x00020001 0x00040003 0x00060005 0x00080007)
+ )
+ (func $v128.const.i32x4 (; 4 ;) (type $2) (result v128)
+ (v128.const i32x4 0x00000001 0x00000002 0x00000003 0x00000004)
+ )
+ (func $v128.const.i64x2 (; 5 ;) (type $2) (result v128)
+ (v128.const i32x4 0x00000001 0x00000000 0x00000002 0x00000000)
+ )
+ (func $v128.const.f32x4 (; 6 ;) (type $2) (result v128)
+ (v128.const i32x4 0x3f800000 0x40000000 0x40400000 0x40800000)
+ )
+ (func $v128.const.f64x2 (; 7 ;) (type $2) (result v128)
+ (v128.const i32x4 0x00000000 0x3ff00000 0x00000000 0x40000000)
+ )
+ (func $v128.shuffle (; 8 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.splat (; 4 ;) (type $0) (param $0 i32) (result v128)
+ (func $i8x16.splat (; 9 ;) (type $0) (param $0 i32) (result v128)
(i8x16.splat
(local.get $0)
)
)
- (func $i8x16.extract_lane_s (; 5 ;) (type $4) (param $0 v128) (result i32)
+ (func $i8x16.extract_lane_s (; 10 ;) (type $4) (param $0 v128) (result i32)
(i8x16.extract_lane_s 0
(local.get $0)
)
)
- (func $i8x16.extract_lane_u (; 6 ;) (type $4) (param $0 v128) (result i32)
+ (func $i8x16.extract_lane_u (; 11 ;) (type $4) (param $0 v128) (result i32)
(i8x16.extract_lane_u 0
(local.get $0)
)
)
- (func $i8x16.replace_lane (; 7 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i8x16.replace_lane (; 12 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i8x16.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.splat (; 8 ;) (type $0) (param $0 i32) (result v128)
+ (func $i16x8.splat (; 13 ;) (type $0) (param $0 i32) (result v128)
(i16x8.splat
(local.get $0)
)
)
- (func $i16x8.extract_lane_s (; 9 ;) (type $4) (param $0 v128) (result i32)
+ (func $i16x8.extract_lane_s (; 14 ;) (type $4) (param $0 v128) (result i32)
(i16x8.extract_lane_s 0
(local.get $0)
)
)
- (func $i16x8.extract_lane_u (; 10 ;) (type $4) (param $0 v128) (result i32)
+ (func $i16x8.extract_lane_u (; 15 ;) (type $4) (param $0 v128) (result i32)
(i16x8.extract_lane_u 0
(local.get $0)
)
)
- (func $i16x8.replace_lane (; 11 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i16x8.replace_lane (; 16 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i16x8.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.splat (; 12 ;) (type $0) (param $0 i32) (result v128)
+ (func $i32x4.splat (; 17 ;) (type $0) (param $0 i32) (result v128)
(i32x4.splat
(local.get $0)
)
)
- (func $i32x4.extract_lane (; 13 ;) (type $4) (param $0 v128) (result i32)
+ (func $i32x4.extract_lane (; 18 ;) (type $4) (param $0 v128) (result i32)
(i32x4.extract_lane 0
(local.get $0)
)
)
- (func $i32x4.replace_lane (; 14 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i32x4.replace_lane (; 19 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i32x4.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $i64x2.extract_lane (; 15 ;) (type $6) (param $0 v128) (result i64)
+ (func $i64x2.extract_lane (; 20 ;) (type $6) (param $0 v128) (result i64)
(i64x2.extract_lane 0
(local.get $0)
)
)
- (func $i64x2.replace_lane (; 16 ;) (type $7) (param $0 v128) (param $1 i64) (result v128)
+ (func $i64x2.replace_lane (; 21 ;) (type $7) (param $0 v128) (param $1 i64) (result v128)
(i64x2.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.splat (; 17 ;) (type $8) (param $0 f32) (result v128)
+ (func $f32x4.splat (; 22 ;) (type $8) (param $0 f32) (result v128)
(f32x4.splat
(local.get $0)
)
)
- (func $f32x4.extract_lane (; 18 ;) (type $9) (param $0 v128) (result f32)
+ (func $f32x4.extract_lane (; 23 ;) (type $9) (param $0 v128) (result f32)
(f32x4.extract_lane 0
(local.get $0)
)
)
- (func $f32x4.replace_lane (; 19 ;) (type $10) (param $0 v128) (param $1 f32) (result v128)
+ (func $f32x4.replace_lane (; 24 ;) (type $10) (param $0 v128) (param $1 f32) (result v128)
(f32x4.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.splat (; 20 ;) (type $11) (param $0 f64) (result v128)
+ (func $f64x2.splat (; 25 ;) (type $11) (param $0 f64) (result v128)
(f64x2.splat
(local.get $0)
)
)
- (func $f64x2.extract_lane (; 21 ;) (type $12) (param $0 v128) (result f64)
+ (func $f64x2.extract_lane (; 26 ;) (type $12) (param $0 v128) (result f64)
(f64x2.extract_lane 0
(local.get $0)
)
)
- (func $f64x2.replace_lane (; 22 ;) (type $13) (param $0 v128) (param $1 f64) (result v128)
+ (func $f64x2.replace_lane (; 27 ;) (type $13) (param $0 v128) (param $1 f64) (result v128)
(f64x2.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.eq (; 23 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.eq (; 28 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.eq
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.ne (; 24 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.ne (; 29 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.ne
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.lt_s (; 25 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.lt_s (; 30 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.lt_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.lt_u (; 26 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.lt_u (; 31 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.lt_u
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.gt_s (; 27 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.gt_s (; 32 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.gt_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.gt_u (; 28 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.gt_u (; 33 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.gt_u
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.le_s (; 29 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.le_s (; 34 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.le_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.le_u (; 30 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.le_u (; 35 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.le_u
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.ge_s (; 31 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.ge_s (; 36 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.ge_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.ge_u (; 32 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.ge_u (; 37 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.ge_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.eq (; 33 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.eq (; 38 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.eq
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.ne (; 34 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.ne (; 39 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.ne
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.lt_s (; 35 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.lt_s (; 40 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.lt_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.lt_u (; 36 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.lt_u (; 41 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.lt_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.gt_s (; 37 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.gt_s (; 42 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.gt_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.gt_u (; 38 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.gt_u (; 43 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.gt_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.le_s (; 39 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.le_s (; 44 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.le_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.le_u (; 40 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.le_u (; 45 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.le_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.ge_s (; 41 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.ge_s (; 46 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.ge_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.ge_u (; 42 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.ge_u (; 47 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.ge_u
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.eq (; 43 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.eq (; 48 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.eq
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.ne (; 44 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.ne (; 49 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.ne
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.lt_s (; 45 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.lt_s (; 50 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.lt_s
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.lt_u (; 46 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.lt_u (; 51 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.lt_u
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.gt_s (; 47 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.gt_s (; 52 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.gt_s
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.gt_u (; 48 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.gt_u (; 53 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.gt_u
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.le_s (; 49 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.le_s (; 54 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.le_s
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.le_u (; 50 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.le_u (; 55 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.le_u
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.ge_s (; 51 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.ge_s (; 56 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.ge_s
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.ge_u (; 52 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.ge_u (; 57 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.ge_u
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.eq (; 53 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.eq (; 58 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.eq
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.ne (; 54 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.ne (; 59 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.ne
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.lt (; 55 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.lt (; 60 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.lt
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.gt (; 56 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.gt (; 61 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.gt
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.le (; 57 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.le (; 62 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.le
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.ge (; 58 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.ge (; 63 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.ge
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.eq (; 59 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.eq (; 64 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.eq
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.ne (; 60 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.ne (; 65 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.ne
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.lt (; 61 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.lt (; 66 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.lt
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.gt (; 62 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.gt (; 67 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.gt
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.le (; 63 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.le (; 68 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.le
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.ge (; 64 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.ge (; 69 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.ge
(local.get $0)
(local.get $1)
)
)
- (func $v128.not (; 65 ;) (type $14) (param $0 v128) (result v128)
+ (func $v128.not (; 70 ;) (type $14) (param $0 v128) (result v128)
(v128.not
(local.get $0)
)
)
- (func $v128.and (; 66 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $v128.and (; 71 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(v128.and
(local.get $0)
(local.get $1)
)
)
- (func $v128.or (; 67 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $v128.or (; 72 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(v128.or
(local.get $0)
(local.get $1)
)
)
- (func $v128.xor (; 68 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $v128.xor (; 73 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(v128.xor
(local.get $0)
(local.get $1)
)
)
- (func $v128.bitselect (; 69 ;) (type $15) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
+ (func $v128.bitselect (; 74 ;) (type $15) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
(v128.bitselect
(local.get $0)
(local.get $1)
(local.get $2)
)
)
- (func $i8x16.neg (; 70 ;) (type $14) (param $0 v128) (result v128)
+ (func $i8x16.neg (; 75 ;) (type $14) (param $0 v128) (result v128)
(i8x16.neg
(local.get $0)
)
)
- (func $i8x16.any_true (; 71 ;) (type $4) (param $0 v128) (result i32)
+ (func $i8x16.any_true (; 76 ;) (type $4) (param $0 v128) (result i32)
(i8x16.any_true
(local.get $0)
)
)
- (func $i8x16.all_true (; 72 ;) (type $4) (param $0 v128) (result i32)
+ (func $i8x16.all_true (; 77 ;) (type $4) (param $0 v128) (result i32)
(i8x16.all_true
(local.get $0)
)
)
- (func $i8x16.shl (; 73 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i8x16.shl (; 78 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i8x16.shl
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.shr_s (; 74 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i8x16.shr_s (; 79 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i8x16.shr_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.shr_u (; 75 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i8x16.shr_u (; 80 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i8x16.shr_u
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.add (; 76 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.add (; 81 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.add
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.add_saturate_s (; 77 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.add_saturate_s (; 82 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.add_saturate_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.add_saturate_u (; 78 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.add_saturate_u (; 83 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.add_saturate_u
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.sub (; 79 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.sub (; 84 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.sub
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.sub_saturate_s (; 80 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.sub_saturate_s (; 85 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.sub_saturate_s
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.sub_saturate_u (; 81 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.sub_saturate_u (; 86 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.sub_saturate_u
(local.get $0)
(local.get $1)
)
)
- (func $i8x16.mul (; 82 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i8x16.mul (; 87 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.mul
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.neg (; 83 ;) (type $14) (param $0 v128) (result v128)
+ (func $i16x8.neg (; 88 ;) (type $14) (param $0 v128) (result v128)
(i16x8.neg
(local.get $0)
)
)
- (func $i16x8.any_true (; 84 ;) (type $4) (param $0 v128) (result i32)
+ (func $i16x8.any_true (; 89 ;) (type $4) (param $0 v128) (result i32)
(i16x8.any_true
(local.get $0)
)
)
- (func $i16x8.all_true (; 85 ;) (type $4) (param $0 v128) (result i32)
+ (func $i16x8.all_true (; 90 ;) (type $4) (param $0 v128) (result i32)
(i16x8.all_true
(local.get $0)
)
)
- (func $i16x8.shl (; 86 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i16x8.shl (; 91 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i16x8.shl
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.shr_s (; 87 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i16x8.shr_s (; 92 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i16x8.shr_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.shr_u (; 88 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i16x8.shr_u (; 93 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i16x8.shr_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.add (; 89 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.add (; 94 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.add
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.add_saturate_s (; 90 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.add_saturate_s (; 95 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.add_saturate_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.add_saturate_u (; 91 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.add_saturate_u (; 96 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.add_saturate_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.sub (; 92 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.sub (; 97 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.sub
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.sub_saturate_s (; 93 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.sub_saturate_s (; 98 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.sub_saturate_s
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.sub_saturate_u (; 94 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.sub_saturate_u (; 99 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.sub_saturate_u
(local.get $0)
(local.get $1)
)
)
- (func $i16x8.mul (; 95 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i16x8.mul (; 100 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.mul
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.neg (; 96 ;) (type $14) (param $0 v128) (result v128)
+ (func $i32x4.neg (; 101 ;) (type $14) (param $0 v128) (result v128)
(i32x4.neg
(local.get $0)
)
)
- (func $i32x4.any_true (; 97 ;) (type $4) (param $0 v128) (result i32)
+ (func $i32x4.any_true (; 102 ;) (type $4) (param $0 v128) (result i32)
(i32x4.any_true
(local.get $0)
)
)
- (func $i32x4.all_true (; 98 ;) (type $4) (param $0 v128) (result i32)
+ (func $i32x4.all_true (; 103 ;) (type $4) (param $0 v128) (result i32)
(i32x4.all_true
(local.get $0)
)
)
- (func $i32x4.shl (; 99 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i32x4.shl (; 104 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i32x4.shl
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.shr_s (; 100 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i32x4.shr_s (; 105 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i32x4.shr_s
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.shr_u (; 101 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i32x4.shr_u (; 106 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i32x4.shr_u
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.add (; 102 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.add (; 107 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.add
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.sub (; 103 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.sub (; 108 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.sub
(local.get $0)
(local.get $1)
)
)
- (func $i32x4.mul (; 104 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i32x4.mul (; 109 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.mul
(local.get $0)
(local.get $1)
)
)
- (func $i64x2.neg (; 105 ;) (type $14) (param $0 v128) (result v128)
+ (func $i64x2.neg (; 110 ;) (type $14) (param $0 v128) (result v128)
(i64x2.neg
(local.get $0)
)
)
- (func $i64x2.any_true (; 106 ;) (type $4) (param $0 v128) (result i32)
+ (func $i64x2.any_true (; 111 ;) (type $4) (param $0 v128) (result i32)
(i64x2.any_true
(local.get $0)
)
)
- (func $i64x2.all_true (; 107 ;) (type $4) (param $0 v128) (result i32)
+ (func $i64x2.all_true (; 112 ;) (type $4) (param $0 v128) (result i32)
(i64x2.all_true
(local.get $0)
)
)
- (func $i64x2.shl (; 108 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i64x2.shl (; 113 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i64x2.shl
(local.get $0)
(local.get $1)
)
)
- (func $i64x2.shr_s (; 109 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i64x2.shr_s (; 114 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i64x2.shr_s
(local.get $0)
(local.get $1)
)
)
- (func $i64x2.shr_u (; 110 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $i64x2.shr_u (; 115 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i64x2.shr_u
(local.get $0)
(local.get $1)
)
)
- (func $i64x2.add (; 111 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i64x2.add (; 116 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i64x2.add
(local.get $0)
(local.get $1)
)
)
- (func $i64x2.sub (; 112 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $i64x2.sub (; 117 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i64x2.sub
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.add (; 113 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.add (; 118 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.add
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.sub (; 114 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.sub (; 119 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.sub
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.mul (; 115 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.mul (; 120 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.mul
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.div (; 116 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.div (; 121 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.div
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.min (; 117 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.min (; 122 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.min
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.max (; 118 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f32x4.max (; 123 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.max
(local.get $0)
(local.get $1)
)
)
- (func $f32x4.abs (; 119 ;) (type $14) (param $0 v128) (result v128)
+ (func $f32x4.abs (; 124 ;) (type $14) (param $0 v128) (result v128)
(f32x4.abs
(local.get $0)
)
)
- (func $f32x4.neg (; 120 ;) (type $14) (param $0 v128) (result v128)
+ (func $f32x4.neg (; 125 ;) (type $14) (param $0 v128) (result v128)
(f32x4.neg
(local.get $0)
)
)
- (func $f32x4.sqrt (; 121 ;) (type $14) (param $0 v128) (result v128)
+ (func $f32x4.sqrt (; 126 ;) (type $14) (param $0 v128) (result v128)
(f32x4.sqrt
(local.get $0)
)
)
- (func $f64x2.add (; 122 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.add (; 127 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.add
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.sub (; 123 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.sub (; 128 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.sub
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.mul (; 124 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.mul (; 129 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.mul
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.div (; 125 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.div (; 130 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.div
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.min (; 126 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.min (; 131 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.min
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.max (; 127 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $f64x2.max (; 132 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.max
(local.get $0)
(local.get $1)
)
)
- (func $f64x2.abs (; 128 ;) (type $14) (param $0 v128) (result v128)
+ (func $f64x2.abs (; 133 ;) (type $14) (param $0 v128) (result v128)
(f64x2.abs
(local.get $0)
)
)
- (func $f64x2.neg (; 129 ;) (type $14) (param $0 v128) (result v128)
+ (func $f64x2.neg (; 134 ;) (type $14) (param $0 v128) (result v128)
(f64x2.neg
(local.get $0)
)
)
- (func $f64x2.sqrt (; 130 ;) (type $14) (param $0 v128) (result v128)
+ (func $f64x2.sqrt (; 135 ;) (type $14) (param $0 v128) (result v128)
(f64x2.sqrt
(local.get $0)
)
)
- (func $i32x4.trunc_sat_f32x4_s (; 131 ;) (type $14) (param $0 v128) (result v128)
+ (func $i32x4.trunc_sat_f32x4_s (; 136 ;) (type $14) (param $0 v128) (result v128)
(i32x4.trunc_sat_f32x4_s
(local.get $0)
)
)
- (func $i32x4.trunc_sat_f32x4_u (; 132 ;) (type $14) (param $0 v128) (result v128)
+ (func $i32x4.trunc_sat_f32x4_u (; 137 ;) (type $14) (param $0 v128) (result v128)
(i32x4.trunc_sat_f32x4_u
(local.get $0)
)
)
- (func $i64x2.trunc_sat_f64x2_s (; 133 ;) (type $14) (param $0 v128) (result v128)
+ (func $i64x2.trunc_sat_f64x2_s (; 138 ;) (type $14) (param $0 v128) (result v128)
(i64x2.trunc_sat_f64x2_s
(local.get $0)
)
)
- (func $i64x2.trunc_sat_f64x2_u (; 134 ;) (type $14) (param $0 v128) (result v128)
+ (func $i64x2.trunc_sat_f64x2_u (; 139 ;) (type $14) (param $0 v128) (result v128)
(i64x2.trunc_sat_f64x2_u
(local.get $0)
)
)
- (func $f32x4.convert_i32x4_s (; 135 ;) (type $14) (param $0 v128) (result v128)
+ (func $f32x4.convert_i32x4_s (; 140 ;) (type $14) (param $0 v128) (result v128)
(f32x4.convert_i32x4_s
(local.get $0)
)
)
- (func $f32x4.convert_i32x4_u (; 136 ;) (type $14) (param $0 v128) (result v128)
+ (func $f32x4.convert_i32x4_u (; 141 ;) (type $14) (param $0 v128) (result v128)
(f32x4.convert_i32x4_u
(local.get $0)
)
)
- (func $f64x2.convert_i64x2_s (; 137 ;) (type $14) (param $0 v128) (result v128)
+ (func $f64x2.convert_i64x2_s (; 142 ;) (type $14) (param $0 v128) (result v128)
(f64x2.convert_i64x2_s
(local.get $0)
)
)
- (func $f64x2.convert_i64x2_u (; 138 ;) (type $14) (param $0 v128) (result v128)
+ (func $f64x2.convert_i64x2_u (; 143 ;) (type $14) (param $0 v128) (result v128)
(f64x2.convert_i64x2_u
(local.get $0)
)
diff --git a/test/simd.wast.fromBinary.noDebugInfo b/test/simd.wast.fromBinary.noDebugInfo
index 6ed42e288..75ff49595 100644
--- a/test/simd.wast.fromBinary.noDebugInfo
+++ b/test/simd.wast.fromBinary.noDebugInfo
@@ -27,781 +27,796 @@
)
)
(func $2 (; 2 ;) (type $2) (result v128)
- (v128.const i32 0x00000001 0x00000002 0x00000003 0x00000004)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
- (func $3 (; 3 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $3 (; 3 ;) (type $2) (result v128)
+ (v128.const i32x4 0x00020001 0x00040003 0x00060005 0x00080007)
+ )
+ (func $4 (; 4 ;) (type $2) (result v128)
+ (v128.const i32x4 0x00000001 0x00000002 0x00000003 0x00000004)
+ )
+ (func $5 (; 5 ;) (type $2) (result v128)
+ (v128.const i32x4 0x00000001 0x00000000 0x00000002 0x00000000)
+ )
+ (func $6 (; 6 ;) (type $2) (result v128)
+ (v128.const i32x4 0x3f800000 0x40000000 0x40400000 0x40800000)
+ )
+ (func $7 (; 7 ;) (type $2) (result v128)
+ (v128.const i32x4 0x00000000 0x3ff00000 0x00000000 0x40000000)
+ )
+ (func $8 (; 8 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31
(local.get $0)
(local.get $1)
)
)
- (func $4 (; 4 ;) (type $0) (param $0 i32) (result v128)
+ (func $9 (; 9 ;) (type $0) (param $0 i32) (result v128)
(i8x16.splat
(local.get $0)
)
)
- (func $5 (; 5 ;) (type $4) (param $0 v128) (result i32)
+ (func $10 (; 10 ;) (type $4) (param $0 v128) (result i32)
(i8x16.extract_lane_s 0
(local.get $0)
)
)
- (func $6 (; 6 ;) (type $4) (param $0 v128) (result i32)
+ (func $11 (; 11 ;) (type $4) (param $0 v128) (result i32)
(i8x16.extract_lane_u 0
(local.get $0)
)
)
- (func $7 (; 7 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $12 (; 12 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i8x16.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $8 (; 8 ;) (type $0) (param $0 i32) (result v128)
+ (func $13 (; 13 ;) (type $0) (param $0 i32) (result v128)
(i16x8.splat
(local.get $0)
)
)
- (func $9 (; 9 ;) (type $4) (param $0 v128) (result i32)
+ (func $14 (; 14 ;) (type $4) (param $0 v128) (result i32)
(i16x8.extract_lane_s 0
(local.get $0)
)
)
- (func $10 (; 10 ;) (type $4) (param $0 v128) (result i32)
+ (func $15 (; 15 ;) (type $4) (param $0 v128) (result i32)
(i16x8.extract_lane_u 0
(local.get $0)
)
)
- (func $11 (; 11 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $16 (; 16 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i16x8.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $12 (; 12 ;) (type $0) (param $0 i32) (result v128)
+ (func $17 (; 17 ;) (type $0) (param $0 i32) (result v128)
(i32x4.splat
(local.get $0)
)
)
- (func $13 (; 13 ;) (type $4) (param $0 v128) (result i32)
+ (func $18 (; 18 ;) (type $4) (param $0 v128) (result i32)
(i32x4.extract_lane 0
(local.get $0)
)
)
- (func $14 (; 14 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $19 (; 19 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i32x4.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $15 (; 15 ;) (type $6) (param $0 v128) (result i64)
+ (func $20 (; 20 ;) (type $6) (param $0 v128) (result i64)
(i64x2.extract_lane 0
(local.get $0)
)
)
- (func $16 (; 16 ;) (type $7) (param $0 v128) (param $1 i64) (result v128)
+ (func $21 (; 21 ;) (type $7) (param $0 v128) (param $1 i64) (result v128)
(i64x2.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $17 (; 17 ;) (type $8) (param $0 f32) (result v128)
+ (func $22 (; 22 ;) (type $8) (param $0 f32) (result v128)
(f32x4.splat
(local.get $0)
)
)
- (func $18 (; 18 ;) (type $9) (param $0 v128) (result f32)
+ (func $23 (; 23 ;) (type $9) (param $0 v128) (result f32)
(f32x4.extract_lane 0
(local.get $0)
)
)
- (func $19 (; 19 ;) (type $10) (param $0 v128) (param $1 f32) (result v128)
+ (func $24 (; 24 ;) (type $10) (param $0 v128) (param $1 f32) (result v128)
(f32x4.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $20 (; 20 ;) (type $11) (param $0 f64) (result v128)
+ (func $25 (; 25 ;) (type $11) (param $0 f64) (result v128)
(f64x2.splat
(local.get $0)
)
)
- (func $21 (; 21 ;) (type $12) (param $0 v128) (result f64)
+ (func $26 (; 26 ;) (type $12) (param $0 v128) (result f64)
(f64x2.extract_lane 0
(local.get $0)
)
)
- (func $22 (; 22 ;) (type $13) (param $0 v128) (param $1 f64) (result v128)
+ (func $27 (; 27 ;) (type $13) (param $0 v128) (param $1 f64) (result v128)
(f64x2.replace_lane 0
(local.get $0)
(local.get $1)
)
)
- (func $23 (; 23 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $28 (; 28 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.eq
(local.get $0)
(local.get $1)
)
)
- (func $24 (; 24 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $29 (; 29 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.ne
(local.get $0)
(local.get $1)
)
)
- (func $25 (; 25 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $30 (; 30 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.lt_s
(local.get $0)
(local.get $1)
)
)
- (func $26 (; 26 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $31 (; 31 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.lt_u
(local.get $0)
(local.get $1)
)
)
- (func $27 (; 27 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $32 (; 32 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.gt_s
(local.get $0)
(local.get $1)
)
)
- (func $28 (; 28 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $33 (; 33 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.gt_u
(local.get $0)
(local.get $1)
)
)
- (func $29 (; 29 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $34 (; 34 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.le_s
(local.get $0)
(local.get $1)
)
)
- (func $30 (; 30 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $35 (; 35 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.le_u
(local.get $0)
(local.get $1)
)
)
- (func $31 (; 31 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $36 (; 36 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.ge_s
(local.get $0)
(local.get $1)
)
)
- (func $32 (; 32 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $37 (; 37 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.ge_u
(local.get $0)
(local.get $1)
)
)
- (func $33 (; 33 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $38 (; 38 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.eq
(local.get $0)
(local.get $1)
)
)
- (func $34 (; 34 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $39 (; 39 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.ne
(local.get $0)
(local.get $1)
)
)
- (func $35 (; 35 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $40 (; 40 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.lt_s
(local.get $0)
(local.get $1)
)
)
- (func $36 (; 36 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $41 (; 41 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.lt_u
(local.get $0)
(local.get $1)
)
)
- (func $37 (; 37 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $42 (; 42 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.gt_s
(local.get $0)
(local.get $1)
)
)
- (func $38 (; 38 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $43 (; 43 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.gt_u
(local.get $0)
(local.get $1)
)
)
- (func $39 (; 39 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $44 (; 44 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.le_s
(local.get $0)
(local.get $1)
)
)
- (func $40 (; 40 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $45 (; 45 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.le_u
(local.get $0)
(local.get $1)
)
)
- (func $41 (; 41 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $46 (; 46 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.ge_s
(local.get $0)
(local.get $1)
)
)
- (func $42 (; 42 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $47 (; 47 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.ge_u
(local.get $0)
(local.get $1)
)
)
- (func $43 (; 43 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $48 (; 48 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.eq
(local.get $0)
(local.get $1)
)
)
- (func $44 (; 44 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $49 (; 49 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.ne
(local.get $0)
(local.get $1)
)
)
- (func $45 (; 45 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $50 (; 50 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.lt_s
(local.get $0)
(local.get $1)
)
)
- (func $46 (; 46 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $51 (; 51 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.lt_u
(local.get $0)
(local.get $1)
)
)
- (func $47 (; 47 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $52 (; 52 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.gt_s
(local.get $0)
(local.get $1)
)
)
- (func $48 (; 48 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $53 (; 53 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.gt_u
(local.get $0)
(local.get $1)
)
)
- (func $49 (; 49 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $54 (; 54 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.le_s
(local.get $0)
(local.get $1)
)
)
- (func $50 (; 50 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $55 (; 55 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.le_u
(local.get $0)
(local.get $1)
)
)
- (func $51 (; 51 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $56 (; 56 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.ge_s
(local.get $0)
(local.get $1)
)
)
- (func $52 (; 52 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $57 (; 57 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.ge_u
(local.get $0)
(local.get $1)
)
)
- (func $53 (; 53 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $58 (; 58 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.eq
(local.get $0)
(local.get $1)
)
)
- (func $54 (; 54 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $59 (; 59 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.ne
(local.get $0)
(local.get $1)
)
)
- (func $55 (; 55 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $60 (; 60 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.lt
(local.get $0)
(local.get $1)
)
)
- (func $56 (; 56 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $61 (; 61 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.gt
(local.get $0)
(local.get $1)
)
)
- (func $57 (; 57 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $62 (; 62 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.le
(local.get $0)
(local.get $1)
)
)
- (func $58 (; 58 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $63 (; 63 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.ge
(local.get $0)
(local.get $1)
)
)
- (func $59 (; 59 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $64 (; 64 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.eq
(local.get $0)
(local.get $1)
)
)
- (func $60 (; 60 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $65 (; 65 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.ne
(local.get $0)
(local.get $1)
)
)
- (func $61 (; 61 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $66 (; 66 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.lt
(local.get $0)
(local.get $1)
)
)
- (func $62 (; 62 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $67 (; 67 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.gt
(local.get $0)
(local.get $1)
)
)
- (func $63 (; 63 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $68 (; 68 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.le
(local.get $0)
(local.get $1)
)
)
- (func $64 (; 64 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $69 (; 69 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.ge
(local.get $0)
(local.get $1)
)
)
- (func $65 (; 65 ;) (type $14) (param $0 v128) (result v128)
+ (func $70 (; 70 ;) (type $14) (param $0 v128) (result v128)
(v128.not
(local.get $0)
)
)
- (func $66 (; 66 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $71 (; 71 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(v128.and
(local.get $0)
(local.get $1)
)
)
- (func $67 (; 67 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $72 (; 72 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(v128.or
(local.get $0)
(local.get $1)
)
)
- (func $68 (; 68 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $73 (; 73 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(v128.xor
(local.get $0)
(local.get $1)
)
)
- (func $69 (; 69 ;) (type $15) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
+ (func $74 (; 74 ;) (type $15) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
(v128.bitselect
(local.get $0)
(local.get $1)
(local.get $2)
)
)
- (func $70 (; 70 ;) (type $14) (param $0 v128) (result v128)
+ (func $75 (; 75 ;) (type $14) (param $0 v128) (result v128)
(i8x16.neg
(local.get $0)
)
)
- (func $71 (; 71 ;) (type $4) (param $0 v128) (result i32)
+ (func $76 (; 76 ;) (type $4) (param $0 v128) (result i32)
(i8x16.any_true
(local.get $0)
)
)
- (func $72 (; 72 ;) (type $4) (param $0 v128) (result i32)
+ (func $77 (; 77 ;) (type $4) (param $0 v128) (result i32)
(i8x16.all_true
(local.get $0)
)
)
- (func $73 (; 73 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $78 (; 78 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i8x16.shl
(local.get $0)
(local.get $1)
)
)
- (func $74 (; 74 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $79 (; 79 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i8x16.shr_s
(local.get $0)
(local.get $1)
)
)
- (func $75 (; 75 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $80 (; 80 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i8x16.shr_u
(local.get $0)
(local.get $1)
)
)
- (func $76 (; 76 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $81 (; 81 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.add
(local.get $0)
(local.get $1)
)
)
- (func $77 (; 77 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $82 (; 82 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.add_saturate_s
(local.get $0)
(local.get $1)
)
)
- (func $78 (; 78 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $83 (; 83 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.add_saturate_u
(local.get $0)
(local.get $1)
)
)
- (func $79 (; 79 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $84 (; 84 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.sub
(local.get $0)
(local.get $1)
)
)
- (func $80 (; 80 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $85 (; 85 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.sub_saturate_s
(local.get $0)
(local.get $1)
)
)
- (func $81 (; 81 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $86 (; 86 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.sub_saturate_u
(local.get $0)
(local.get $1)
)
)
- (func $82 (; 82 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $87 (; 87 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i8x16.mul
(local.get $0)
(local.get $1)
)
)
- (func $83 (; 83 ;) (type $14) (param $0 v128) (result v128)
+ (func $88 (; 88 ;) (type $14) (param $0 v128) (result v128)
(i16x8.neg
(local.get $0)
)
)
- (func $84 (; 84 ;) (type $4) (param $0 v128) (result i32)
+ (func $89 (; 89 ;) (type $4) (param $0 v128) (result i32)
(i16x8.any_true
(local.get $0)
)
)
- (func $85 (; 85 ;) (type $4) (param $0 v128) (result i32)
+ (func $90 (; 90 ;) (type $4) (param $0 v128) (result i32)
(i16x8.all_true
(local.get $0)
)
)
- (func $86 (; 86 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $91 (; 91 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i16x8.shl
(local.get $0)
(local.get $1)
)
)
- (func $87 (; 87 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $92 (; 92 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i16x8.shr_s
(local.get $0)
(local.get $1)
)
)
- (func $88 (; 88 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $93 (; 93 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i16x8.shr_u
(local.get $0)
(local.get $1)
)
)
- (func $89 (; 89 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $94 (; 94 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.add
(local.get $0)
(local.get $1)
)
)
- (func $90 (; 90 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $95 (; 95 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.add_saturate_s
(local.get $0)
(local.get $1)
)
)
- (func $91 (; 91 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $96 (; 96 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.add_saturate_u
(local.get $0)
(local.get $1)
)
)
- (func $92 (; 92 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $97 (; 97 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.sub
(local.get $0)
(local.get $1)
)
)
- (func $93 (; 93 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $98 (; 98 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.sub_saturate_s
(local.get $0)
(local.get $1)
)
)
- (func $94 (; 94 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $99 (; 99 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.sub_saturate_u
(local.get $0)
(local.get $1)
)
)
- (func $95 (; 95 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $100 (; 100 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i16x8.mul
(local.get $0)
(local.get $1)
)
)
- (func $96 (; 96 ;) (type $14) (param $0 v128) (result v128)
+ (func $101 (; 101 ;) (type $14) (param $0 v128) (result v128)
(i32x4.neg
(local.get $0)
)
)
- (func $97 (; 97 ;) (type $4) (param $0 v128) (result i32)
+ (func $102 (; 102 ;) (type $4) (param $0 v128) (result i32)
(i32x4.any_true
(local.get $0)
)
)
- (func $98 (; 98 ;) (type $4) (param $0 v128) (result i32)
+ (func $103 (; 103 ;) (type $4) (param $0 v128) (result i32)
(i32x4.all_true
(local.get $0)
)
)
- (func $99 (; 99 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $104 (; 104 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i32x4.shl
(local.get $0)
(local.get $1)
)
)
- (func $100 (; 100 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $105 (; 105 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i32x4.shr_s
(local.get $0)
(local.get $1)
)
)
- (func $101 (; 101 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $106 (; 106 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i32x4.shr_u
(local.get $0)
(local.get $1)
)
)
- (func $102 (; 102 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $107 (; 107 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.add
(local.get $0)
(local.get $1)
)
)
- (func $103 (; 103 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $108 (; 108 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.sub
(local.get $0)
(local.get $1)
)
)
- (func $104 (; 104 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $109 (; 109 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i32x4.mul
(local.get $0)
(local.get $1)
)
)
- (func $105 (; 105 ;) (type $14) (param $0 v128) (result v128)
+ (func $110 (; 110 ;) (type $14) (param $0 v128) (result v128)
(i64x2.neg
(local.get $0)
)
)
- (func $106 (; 106 ;) (type $4) (param $0 v128) (result i32)
+ (func $111 (; 111 ;) (type $4) (param $0 v128) (result i32)
(i64x2.any_true
(local.get $0)
)
)
- (func $107 (; 107 ;) (type $4) (param $0 v128) (result i32)
+ (func $112 (; 112 ;) (type $4) (param $0 v128) (result i32)
(i64x2.all_true
(local.get $0)
)
)
- (func $108 (; 108 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $113 (; 113 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i64x2.shl
(local.get $0)
(local.get $1)
)
)
- (func $109 (; 109 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $114 (; 114 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i64x2.shr_s
(local.get $0)
(local.get $1)
)
)
- (func $110 (; 110 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
+ (func $115 (; 115 ;) (type $5) (param $0 v128) (param $1 i32) (result v128)
(i64x2.shr_u
(local.get $0)
(local.get $1)
)
)
- (func $111 (; 111 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $116 (; 116 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i64x2.add
(local.get $0)
(local.get $1)
)
)
- (func $112 (; 112 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $117 (; 117 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(i64x2.sub
(local.get $0)
(local.get $1)
)
)
- (func $113 (; 113 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $118 (; 118 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.add
(local.get $0)
(local.get $1)
)
)
- (func $114 (; 114 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $119 (; 119 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.sub
(local.get $0)
(local.get $1)
)
)
- (func $115 (; 115 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $120 (; 120 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.mul
(local.get $0)
(local.get $1)
)
)
- (func $116 (; 116 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $121 (; 121 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.div
(local.get $0)
(local.get $1)
)
)
- (func $117 (; 117 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $122 (; 122 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.min
(local.get $0)
(local.get $1)
)
)
- (func $118 (; 118 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $123 (; 123 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f32x4.max
(local.get $0)
(local.get $1)
)
)
- (func $119 (; 119 ;) (type $14) (param $0 v128) (result v128)
+ (func $124 (; 124 ;) (type $14) (param $0 v128) (result v128)
(f32x4.abs
(local.get $0)
)
)
- (func $120 (; 120 ;) (type $14) (param $0 v128) (result v128)
+ (func $125 (; 125 ;) (type $14) (param $0 v128) (result v128)
(f32x4.neg
(local.get $0)
)
)
- (func $121 (; 121 ;) (type $14) (param $0 v128) (result v128)
+ (func $126 (; 126 ;) (type $14) (param $0 v128) (result v128)
(f32x4.sqrt
(local.get $0)
)
)
- (func $122 (; 122 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $127 (; 127 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.add
(local.get $0)
(local.get $1)
)
)
- (func $123 (; 123 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $128 (; 128 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.sub
(local.get $0)
(local.get $1)
)
)
- (func $124 (; 124 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $129 (; 129 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.mul
(local.get $0)
(local.get $1)
)
)
- (func $125 (; 125 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $130 (; 130 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.div
(local.get $0)
(local.get $1)
)
)
- (func $126 (; 126 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $131 (; 131 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.min
(local.get $0)
(local.get $1)
)
)
- (func $127 (; 127 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
+ (func $132 (; 132 ;) (type $3) (param $0 v128) (param $1 v128) (result v128)
(f64x2.max
(local.get $0)
(local.get $1)
)
)
- (func $128 (; 128 ;) (type $14) (param $0 v128) (result v128)
+ (func $133 (; 133 ;) (type $14) (param $0 v128) (result v128)
(f64x2.abs
(local.get $0)
)
)
- (func $129 (; 129 ;) (type $14) (param $0 v128) (result v128)
+ (func $134 (; 134 ;) (type $14) (param $0 v128) (result v128)
(f64x2.neg
(local.get $0)
)
)
- (func $130 (; 130 ;) (type $14) (param $0 v128) (result v128)
+ (func $135 (; 135 ;) (type $14) (param $0 v128) (result v128)
(f64x2.sqrt
(local.get $0)
)
)
- (func $131 (; 131 ;) (type $14) (param $0 v128) (result v128)
+ (func $136 (; 136 ;) (type $14) (param $0 v128) (result v128)
(i32x4.trunc_sat_f32x4_s
(local.get $0)
)
)
- (func $132 (; 132 ;) (type $14) (param $0 v128) (result v128)
+ (func $137 (; 137 ;) (type $14) (param $0 v128) (result v128)
(i32x4.trunc_sat_f32x4_u
(local.get $0)
)
)
- (func $133 (; 133 ;) (type $14) (param $0 v128) (result v128)
+ (func $138 (; 138 ;) (type $14) (param $0 v128) (result v128)
(i64x2.trunc_sat_f64x2_s
(local.get $0)
)
)
- (func $134 (; 134 ;) (type $14) (param $0 v128) (result v128)
+ (func $139 (; 139 ;) (type $14) (param $0 v128) (result v128)
(i64x2.trunc_sat_f64x2_u
(local.get $0)
)
)
- (func $135 (; 135 ;) (type $14) (param $0 v128) (result v128)
+ (func $140 (; 140 ;) (type $14) (param $0 v128) (result v128)
(f32x4.convert_i32x4_s
(local.get $0)
)
)
- (func $136 (; 136 ;) (type $14) (param $0 v128) (result v128)
+ (func $141 (; 141 ;) (type $14) (param $0 v128) (result v128)
(f32x4.convert_i32x4_u
(local.get $0)
)
)
- (func $137 (; 137 ;) (type $14) (param $0 v128) (result v128)
+ (func $142 (; 142 ;) (type $14) (param $0 v128) (result v128)
(f64x2.convert_i64x2_s
(local.get $0)
)
)
- (func $138 (; 138 ;) (type $14) (param $0 v128) (result v128)
+ (func $143 (; 143 ;) (type $14) (param $0 v128) (result v128)
(f64x2.convert_i64x2_u
(local.get $0)
)
diff --git a/test/spec/simd.wast b/test/spec/simd.wast
index 8d2edc42e..14aabee45 100644
--- a/test/spec/simd.wast
+++ b/test/spec/simd.wast
@@ -6,7 +6,12 @@
(v128.store offset=0 align=16 (local.get $0) (local.get $1))
(v128.load (local.get $0))
)
- (func (export "v128.const") (result v128) (v128.const i32 1 2 3 4))
+ (func (export "v128.const.i8x16") (result v128) (v128.const i8x16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16))
+ (func (export "v128.const.i16x8") (result v128) (v128.const i16x8 1 2 3 4 5 6 7 8))
+ (func (export "v128.const.i32x4") (result v128) (v128.const i32x4 1 2 3 4))
+ (func (export "v128.const.i64x2") (result v128) (v128.const i64x2 1 2))
+ (func (export "v128.const.f32x4") (result v128) (v128.const f32x4 1.0 2 3 4))
+ (func (export "v128.const.f64x2") (result v128) (v128.const f64x2 1.0 2))
(func (export "v128.shuffle_interleave_bytes") (param $0 v128) (param $1 v128) (result v128)
(v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31 (local.get $0) (local.get $1))
)
@@ -168,494 +173,499 @@
)
;; Basic v128 manipulation
-(assert_return (invoke "v128.load" (i32.const 128)) (v128.const i32 87 65 83 77 83 73 77 68 71 79 69 83 70 65 83 84))
-(assert_return (invoke "v128.store" (i32.const 16) (v128.const i32 1 2 3 4)) (v128.const i32 1 2 3 4))
-(assert_return (invoke "v128.const") (v128.const i32 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00))
+(assert_return (invoke "v128.load" (i32.const 128)) (v128.const i8x16 87 65 83 77 83 73 77 68 71 79 69 83 70 65 83 84))
+(assert_return (invoke "v128.store" (i32.const 16) (v128.const i32x4 1 2 3 4)) (v128.const i32x4 1 2 3 4))
+(assert_return (invoke "v128.const.i8x16") (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d))
+(assert_return (invoke "v128.const.i16x8") (v128.const i8x16 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00))
+(assert_return (invoke "v128.const.i32x4") (v128.const i8x16 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00))
+(assert_return (invoke "v128.const.i64x2") (v128.const i8x16 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00))
+(assert_return (invoke "v128.const.f32x4") (v128.const f32x4 1 2 3 4))
+(assert_return (invoke "v128.const.f64x2") (v128.const f64x2 1 2))
(assert_return
(invoke "v128.shuffle_interleave_bytes"
- (v128.const i32 1 0 3 0 5 0 7 0 9 0 11 0 13 0 15 0)
- (v128.const i32 0 2 0 4 0 6 0 8 0 10 0 12 0 14 0 16)
+ (v128.const i8x16 1 0 3 0 5 0 7 0 9 0 11 0 13 0 15 0)
+ (v128.const i8x16 0 2 0 4 0 6 0 8 0 10 0 12 0 14 0 16)
)
- (v128.const i32 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)
+ (v128.const i8x16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)
)
-(assert_return (invoke "v128.shuffle_reverse_i32s" (v128.const i32 1 2 3 4)) (v128.const i32 4 3 2 1))
+(assert_return (invoke "v128.shuffle_reverse_i32s" (v128.const i32x4 1 2 3 4)) (v128.const i32x4 4 3 2 1))
;; i8x16 lane accesses
-(assert_return (invoke "i8x16.splat" (i32.const 5)) (v128.const i32 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5))
-(assert_return (invoke "i8x16.splat" (i32.const 257)) (v128.const i32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1))
-(assert_return (invoke "i8x16.extract_lane_s_first" (v128.const i32 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (i32.const -1))
-(assert_return (invoke "i8x16.extract_lane_s_last" (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255)) (i32.const -1))
-(assert_return (invoke "i8x16.extract_lane_u_first" (v128.const i32 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (i32.const 255))
-(assert_return (invoke "i8x16.extract_lane_u_last" (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255)) (i32.const 255))
-(assert_return (invoke "i8x16.replace_lane_first" (v128.const i64 0 0) (i32.const 7)) (v128.const i32 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
-(assert_return (invoke "i8x16.replace_lane_last" (v128.const i64 0 0) (i32.const 7)) (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7))
+(assert_return (invoke "i8x16.splat" (i32.const 5)) (v128.const i8x16 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5))
+(assert_return (invoke "i8x16.splat" (i32.const 257)) (v128.const i8x16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1))
+(assert_return (invoke "i8x16.extract_lane_s_first" (v128.const i8x16 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (i32.const -1))
+(assert_return (invoke "i8x16.extract_lane_s_last" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255)) (i32.const -1))
+(assert_return (invoke "i8x16.extract_lane_u_first" (v128.const i8x16 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (i32.const 255))
+(assert_return (invoke "i8x16.extract_lane_u_last" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255)) (i32.const 255))
+(assert_return (invoke "i8x16.replace_lane_first" (v128.const i64x2 0 0) (i32.const 7)) (v128.const i8x16 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
+(assert_return (invoke "i8x16.replace_lane_last" (v128.const i64x2 0 0) (i32.const 7)) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7))
;; i16x8 lane accesses
-(assert_return (invoke "i16x8.splat" (i32.const 5)) (v128.const i32 5 5 5 5 5 5 5 5))
-(assert_return (invoke "i16x8.splat" (i32.const 65537)) (v128.const i32 1 1 1 1 1 1 1 1))
-(assert_return (invoke "i16x8.extract_lane_s_first" (v128.const i32 65535 0 0 0 0 0 0 0)) (i32.const -1))
-(assert_return (invoke "i16x8.extract_lane_s_last" (v128.const i32 0 0 0 0 0 0 0 65535)) (i32.const -1))
-(assert_return (invoke "i16x8.extract_lane_u_first" (v128.const i32 65535 0 0 0 0 0 0 0)) (i32.const 65535))
-(assert_return (invoke "i16x8.extract_lane_u_last" (v128.const i32 0 0 0 0 0 0 0 65535)) (i32.const 65535))
-(assert_return (invoke "i16x8.replace_lane_first" (v128.const i64 0 0) (i32.const 7)) (v128.const i32 7 0 0 0 0 0 0 0))
-(assert_return (invoke "i16x8.replace_lane_last" (v128.const i64 0 0) (i32.const 7)) (v128.const i32 0 0 0 0 0 0 0 7))
+(assert_return (invoke "i16x8.splat" (i32.const 5)) (v128.const i16x8 5 5 5 5 5 5 5 5))
+(assert_return (invoke "i16x8.splat" (i32.const 65537)) (v128.const i32x4 1 1 1 1 1 1 1 1))
+(assert_return (invoke "i16x8.extract_lane_s_first" (v128.const i32x4 65535 0 0 0 0 0 0 0)) (i32.const -1))
+(assert_return (invoke "i16x8.extract_lane_s_last" (v128.const i32x4 0 0 0 0 0 0 0 65535)) (i32.const -1))
+(assert_return (invoke "i16x8.extract_lane_u_first" (v128.const i32x4 65535 0 0 0 0 0 0 0)) (i32.const 65535))
+(assert_return (invoke "i16x8.extract_lane_u_last" (v128.const i32x4 0 0 0 0 0 0 0 65535)) (i32.const 65535))
+(assert_return (invoke "i16x8.replace_lane_first" (v128.const i64x2 0 0) (i32.const 7)) (v128.const i32x4 7 0 0 0 0 0 0 0))
+(assert_return (invoke "i16x8.replace_lane_last" (v128.const i64x2 0 0) (i32.const 7)) (v128.const i32x4 0 0 0 0 0 0 0 7))
;; i32x4 lane accesses
-(assert_return (invoke "i32x4.splat" (i32.const -5)) (v128.const i32 -5 -5 -5 -5))
-(assert_return (invoke "i32x4.extract_lane_first" (v128.const i32 -5 0 0 0)) (i32.const -5))
-(assert_return (invoke "i32x4.extract_lane_last" (v128.const i32 0 0 0 -5)) (i32.const -5))
-(assert_return (invoke "i32x4.replace_lane_first" (v128.const i64 0 0) (i32.const 53)) (v128.const i32 53 0 0 0))
-(assert_return (invoke "i32x4.replace_lane_last" (v128.const i64 0 0) (i32.const 53)) (v128.const i32 0 0 0 53))
+(assert_return (invoke "i32x4.splat" (i32.const -5)) (v128.const i32x4 -5 -5 -5 -5))
+(assert_return (invoke "i32x4.extract_lane_first" (v128.const i32x4 -5 0 0 0)) (i32.const -5))
+(assert_return (invoke "i32x4.extract_lane_last" (v128.const i32x4 0 0 0 -5)) (i32.const -5))
+(assert_return (invoke "i32x4.replace_lane_first" (v128.const i64x2 0 0) (i32.const 53)) (v128.const i32x4 53 0 0 0))
+(assert_return (invoke "i32x4.replace_lane_last" (v128.const i64x2 0 0) (i32.const 53)) (v128.const i32x4 0 0 0 53))
;; i64x2 lane accesses
-(assert_return (invoke "i64x2.splat" (i64.const -5)) (v128.const i64 -5 -5))
-(assert_return (invoke "i64x2.extract_lane_first" (v128.const i64 -5 0)) (i64.const -5))
-(assert_return (invoke "i64x2.extract_lane_last" (v128.const i64 0 -5)) (i64.const -5))
-(assert_return (invoke "i64x2.replace_lane_first" (v128.const i64 0 0) (i64.const 53)) (v128.const i64 53 0))
-(assert_return (invoke "i64x2.replace_lane_last" (v128.const i64 0 0) (i64.const 53)) (v128.const i64 0 53))
+(assert_return (invoke "i64x2.splat" (i64.const -5)) (v128.const i64x2 -5 -5))
+(assert_return (invoke "i64x2.extract_lane_first" (v128.const i64x2 -5 0)) (i64.const -5))
+(assert_return (invoke "i64x2.extract_lane_last" (v128.const i64x2 0 -5)) (i64.const -5))
+(assert_return (invoke "i64x2.replace_lane_first" (v128.const i64x2 0 0) (i64.const 53)) (v128.const i64x2 53 0))
+(assert_return (invoke "i64x2.replace_lane_last" (v128.const i64x2 0 0) (i64.const 53)) (v128.const i64x2 0 53))
;; f32x4 lane accesses
-(assert_return (invoke "f32x4.splat" (f32.const -5)) (v128.const f32 -5 -5 -5 -5))
-(assert_return (invoke "f32x4.extract_lane_first" (v128.const f32 -5 0 0 0)) (f32.const -5))
-(assert_return (invoke "f32x4.extract_lane_last" (v128.const f32 0 0 0 -5)) (f32.const -5))
-(assert_return (invoke "f32x4.replace_lane_first" (v128.const i64 0 0) (f32.const 53)) (v128.const f32 53 0 0 0))
-(assert_return (invoke "f32x4.replace_lane_last" (v128.const i64 0 0) (f32.const 53)) (v128.const f32 0 0 0 53))
+(assert_return (invoke "f32x4.splat" (f32.const -5)) (v128.const f32x4 -5 -5 -5 -5))
+(assert_return (invoke "f32x4.extract_lane_first" (v128.const f32x4 -5 0 0 0)) (f32.const -5))
+(assert_return (invoke "f32x4.extract_lane_last" (v128.const f32x4 0 0 0 -5)) (f32.const -5))
+(assert_return (invoke "f32x4.replace_lane_first" (v128.const i64x2 0 0) (f32.const 53)) (v128.const f32x4 53 0 0 0))
+(assert_return (invoke "f32x4.replace_lane_last" (v128.const i64x2 0 0) (f32.const 53)) (v128.const f32x4 0 0 0 53))
;; f64x2 lane accesses
-(assert_return (invoke "f64x2.splat" (f64.const -5)) (v128.const f64 -5 -5))
-(assert_return (invoke "f64x2.extract_lane_first" (v128.const f64 -5 0)) (f64.const -5))
-(assert_return (invoke "f64x2.extract_lane_last" (v128.const f64 0 -5)) (f64.const -5))
-(assert_return (invoke "f64x2.replace_lane_first" (v128.const f64 0 0) (f64.const 53)) (v128.const f64 53 0))
-(assert_return (invoke "f64x2.replace_lane_last" (v128.const f64 0 0) (f64.const 53)) (v128.const f64 0 53))
+(assert_return (invoke "f64x2.splat" (f64.const -5)) (v128.const f64x2 -5 -5))
+(assert_return (invoke "f64x2.extract_lane_first" (v128.const f64x2 -5 0)) (f64.const -5))
+(assert_return (invoke "f64x2.extract_lane_last" (v128.const f64x2 0 -5)) (f64.const -5))
+(assert_return (invoke "f64x2.replace_lane_first" (v128.const f64x2 0 0) (f64.const 53)) (v128.const f64x2 53 0))
+(assert_return (invoke "f64x2.replace_lane_last" (v128.const f64x2 0 0) (f64.const 53)) (v128.const f64x2 0 53))
;; i8x16 comparisons
(assert_return
(invoke "i8x16.eq"
- (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
- (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
+ (v128.const i32x4 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
+ (v128.const i32x4 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
)
- (v128.const i32 -1 0 -1 0 0 0 0 0 -1 0 0 -1 0 0 0 0)
+ (v128.const i32x4 -1 0 -1 0 0 0 0 0 -1 0 0 -1 0 0 0 0)
)
(assert_return
(invoke "i8x16.ne"
- (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
- (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
+ (v128.const i32x4 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
+ (v128.const i32x4 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
)
- (v128.const i32 0 -1 0 -1 -1 -1 -1 -1 0 -1 -1 0 -1 -1 -1 -1)
+ (v128.const i32x4 0 -1 0 -1 -1 -1 -1 -1 0 -1 -1 0 -1 -1 -1 -1)
)
(assert_return
(invoke "i8x16.lt_s"
- (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
- (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
+ (v128.const i32x4 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
+ (v128.const i32x4 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
)
- (v128.const i32 0 0 0 -1 0 -1 -1 0 0 0 -1 0 0 -1 -1 0)
+ (v128.const i32x4 0 0 0 -1 0 -1 -1 0 0 0 -1 0 0 -1 -1 0)
)
(assert_return
(invoke "i8x16.lt_u"
- (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
- (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
+ (v128.const i32x4 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
+ (v128.const i32x4 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
)
- (v128.const i32 0 -1 0 0 -1 -1 0 -1 0 -1 0 0 -1 -1 0 -1)
+ (v128.const i32x4 0 -1 0 0 -1 -1 0 -1 0 -1 0 0 -1 -1 0 -1)
)
(assert_return
(invoke "i8x16.gt_s"
- (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
- (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
+ (v128.const i32x4 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
+ (v128.const i32x4 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
)
- (v128.const i32 0 -1 0 0 -1 0 0 -1 0 -1 0 0 -1 0 0 -1)
+ (v128.const i32x4 0 -1 0 0 -1 0 0 -1 0 -1 0 0 -1 0 0 -1)
)
(assert_return
(invoke "i8x16.gt_u"
- (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
- (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
+ (v128.const i32x4 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
+ (v128.const i32x4 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
)
- (v128.const i32 0 0 0 -1 0 0 -1 0 0 0 -1 0 0 0 -1 0)
+ (v128.const i32x4 0 0 0 -1 0 0 -1 0 0 0 -1 0 0 0 -1 0)
)
(assert_return
(invoke "i8x16.le_s"
- (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
- (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
+ (v128.const i32x4 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
+ (v128.const i32x4 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
)
- (v128.const i32 -1 0 -1 -1 0 -1 -1 0 -1 0 -1 -1 0 -1 -1 0)
+ (v128.const i32x4 -1 0 -1 -1 0 -1 -1 0 -1 0 -1 -1 0 -1 -1 0)
)
(assert_return
(invoke "i8x16.le_u"
- (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
- (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
+ (v128.const i32x4 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
+ (v128.const i32x4 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
)
- (v128.const i32 -1 -1 -1 0 -1 -1 0 -1 -1 -1 0 -1 -1 -1 0 -1)
+ (v128.const i32x4 -1 -1 -1 0 -1 -1 0 -1 -1 -1 0 -1 -1 -1 0 -1)
)
(assert_return
(invoke "i8x16.ge_s"
- (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
- (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
+ (v128.const i32x4 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
+ (v128.const i32x4 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
)
- (v128.const i32 -1 -1 -1 0 -1 0 0 -1 -1 -1 0 -1 -1 0 0 -1)
+ (v128.const i32x4 -1 -1 -1 0 -1 0 0 -1 -1 -1 0 -1 -1 0 0 -1)
)
(assert_return
(invoke "i8x16.ge_u"
- (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
- (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
+ (v128.const i32x4 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42)
+ (v128.const i32x4 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128)
)
- (v128.const i32 -1 0 -1 -1 0 0 -1 0 -1 0 -1 -1 0 0 -1 0)
+ (v128.const i32x4 -1 0 -1 -1 0 0 -1 0 -1 0 -1 -1 0 0 -1 0)
)
;; i16x8 comparisons
(assert_return (invoke "i16x8.eq"
- (v128.const i32 0 32767 13 32768 1 32769 42 40000)
- (v128.const i32 0 13 1 32767 32769 42 40000 32767)
+ (v128.const i32x4 0 32767 13 32768 1 32769 42 40000)
+ (v128.const i32x4 0 13 1 32767 32769 42 40000 32767)
)
- (v128.const i32 -1 0 0 0 0 0 0 0)
+ (v128.const i32x4 -1 0 0 0 0 0 0 0)
)
(assert_return
(invoke "i16x8.ne"
- (v128.const i32 0 32767 13 32768 1 32769 42 40000)
- (v128.const i32 0 13 1 32767 32769 42 40000 32767)
+ (v128.const i32x4 0 32767 13 32768 1 32769 42 40000)
+ (v128.const i32x4 0 13 1 32767 32769 42 40000 32767)
)
- (v128.const i32 0 -1 -1 -1 -1 -1 -1 -1)
+ (v128.const i32x4 0 -1 -1 -1 -1 -1 -1 -1)
)
(assert_return
(invoke "i16x8.lt_s"
- (v128.const i32 0 32767 13 32768 1 32769 42 40000)
- (v128.const i32 0 13 1 32767 32769 42 40000 32767)
+ (v128.const i32x4 0 32767 13 32768 1 32769 42 40000)
+ (v128.const i32x4 0 13 1 32767 32769 42 40000 32767)
)
- (v128.const i32 0 0 0 -1 0 -1 0 -1)
+ (v128.const i32x4 0 0 0 -1 0 -1 0 -1)
)
(assert_return
(invoke "i16x8.lt_u"
- (v128.const i32 0 32767 13 32768 1 32769 42 40000)
- (v128.const i32 0 13 1 32767 32769 42 40000 32767)
+ (v128.const i32x4 0 32767 13 32768 1 32769 42 40000)
+ (v128.const i32x4 0 13 1 32767 32769 42 40000 32767)
)
- (v128.const i32 0 0 0 0 -1 0 -1 0)
+ (v128.const i32x4 0 0 0 0 -1 0 -1 0)
)
(assert_return
(invoke "i16x8.gt_s"
- (v128.const i32 0 32767 13 32768 1 32769 42 40000)
- (v128.const i32 0 13 1 32767 32769 42 40000 32767)
+ (v128.const i32x4 0 32767 13 32768 1 32769 42 40000)
+ (v128.const i32x4 0 13 1 32767 32769 42 40000 32767)
)
- (v128.const i32 0 -1 -1 0 -1 0 -1 0)
+ (v128.const i32x4 0 -1 -1 0 -1 0 -1 0)
)
(assert_return
(invoke "i16x8.gt_u"
- (v128.const i32 0 32767 13 32768 1 32769 42 40000)
- (v128.const i32 0 13 1 32767 32769 42 40000 32767)
+ (v128.const i32x4 0 32767 13 32768 1 32769 42 40000)
+ (v128.const i32x4 0 13 1 32767 32769 42 40000 32767)
)
- (v128.const i32 0 -1 -1 -1 0 -1 0 -1)
+ (v128.const i32x4 0 -1 -1 -1 0 -1 0 -1)
)
(assert_return
(invoke "i16x8.le_s"
- (v128.const i32 0 32767 13 32768 1 32769 42 40000)
- (v128.const i32 0 13 1 32767 32769 42 40000 32767)
+ (v128.const i32x4 0 32767 13 32768 1 32769 42 40000)
+ (v128.const i32x4 0 13 1 32767 32769 42 40000 32767)
)
- (v128.const i32 -1 0 0 -1 0 -1 0 -1)
+ (v128.const i32x4 -1 0 0 -1 0 -1 0 -1)
)
(assert_return
(invoke "i16x8.le_u"
- (v128.const i32 0 32767 13 32768 1 32769 42 40000)
- (v128.const i32 0 13 1 32767 32769 42 40000 32767)
+ (v128.const i32x4 0 32767 13 32768 1 32769 42 40000)
+ (v128.const i32x4 0 13 1 32767 32769 42 40000 32767)
)
- (v128.const i32 -1 0 0 0 -1 0 -1 0)
+ (v128.const i32x4 -1 0 0 0 -1 0 -1 0)
)
(assert_return
(invoke "i16x8.ge_s"
- (v128.const i32 0 32767 13 32768 1 32769 42 40000)
- (v128.const i32 0 13 1 32767 32769 42 40000 32767)
+ (v128.const i32x4 0 32767 13 32768 1 32769 42 40000)
+ (v128.const i32x4 0 13 1 32767 32769 42 40000 32767)
)
- (v128.const i32 -1 -1 -1 0 -1 0 -1 0)
+ (v128.const i32x4 -1 -1 -1 0 -1 0 -1 0)
)
(assert_return
(invoke "i16x8.ge_u"
- (v128.const i32 0 32767 13 32768 1 32769 42 40000)
- (v128.const i32 0 13 1 32767 32769 42 40000 32767)
+ (v128.const i32x4 0 32767 13 32768 1 32769 42 40000)
+ (v128.const i32x4 0 13 1 32767 32769 42 40000 32767)
)
- (v128.const i32 -1 -1 -1 -1 0 -1 0 -1)
+ (v128.const i32x4 -1 -1 -1 -1 0 -1 0 -1)
)
;; i32x4 comparisons
-(assert_return (invoke "i32x4.eq" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 -1 0 0 0))
-(assert_return (invoke "i32x4.ne" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 0 -1 -1 -1))
-(assert_return (invoke "i32x4.lt_s" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 0 -1 0 -1))
-(assert_return (invoke "i32x4.lt_u" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 0 0 -1 -1))
-(assert_return (invoke "i32x4.gt_s" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 0 0 -1 0))
-(assert_return (invoke "i32x4.gt_u" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 0 -1 0 0))
-(assert_return (invoke "i32x4.le_s" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 -1 -1 0 -1))
-(assert_return (invoke "i32x4.le_u" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 -1 0 -1 -1))
-(assert_return (invoke "i32x4.ge_s" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 -1 0 -1 0))
-(assert_return (invoke "i32x4.ge_u" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 -1 -1 0 0))
+(assert_return (invoke "i32x4.eq" (v128.const i32x4 0 -1 53 -7) (v128.const i32x4 0 53 -7 -1)) (v128.const i32x4 -1 0 0 0))
+(assert_return (invoke "i32x4.ne" (v128.const i32x4 0 -1 53 -7) (v128.const i32x4 0 53 -7 -1)) (v128.const i32x4 0 -1 -1 -1))
+(assert_return (invoke "i32x4.lt_s" (v128.const i32x4 0 -1 53 -7) (v128.const i32x4 0 53 -7 -1)) (v128.const i32x4 0 -1 0 -1))
+(assert_return (invoke "i32x4.lt_u" (v128.const i32x4 0 -1 53 -7) (v128.const i32x4 0 53 -7 -1)) (v128.const i32x4 0 0 -1 -1))
+(assert_return (invoke "i32x4.gt_s" (v128.const i32x4 0 -1 53 -7) (v128.const i32x4 0 53 -7 -1)) (v128.const i32x4 0 0 -1 0))
+(assert_return (invoke "i32x4.gt_u" (v128.const i32x4 0 -1 53 -7) (v128.const i32x4 0 53 -7 -1)) (v128.const i32x4 0 -1 0 0))
+(assert_return (invoke "i32x4.le_s" (v128.const i32x4 0 -1 53 -7) (v128.const i32x4 0 53 -7 -1)) (v128.const i32x4 -1 -1 0 -1))
+(assert_return (invoke "i32x4.le_u" (v128.const i32x4 0 -1 53 -7) (v128.const i32x4 0 53 -7 -1)) (v128.const i32x4 -1 0 -1 -1))
+(assert_return (invoke "i32x4.ge_s" (v128.const i32x4 0 -1 53 -7) (v128.const i32x4 0 53 -7 -1)) (v128.const i32x4 -1 0 -1 0))
+(assert_return (invoke "i32x4.ge_u" (v128.const i32x4 0 -1 53 -7) (v128.const i32x4 0 53 -7 -1)) (v128.const i32x4 -1 -1 0 0))
;; f32x4 comparisons
-(assert_return (invoke "f32x4.eq" (v128.const f32 0 -1 1 0) (v128.const f32 0 0 -1 1)) (v128.const i32 -1 0 0 0))
-(assert_return (invoke "f32x4.ne" (v128.const f32 0 -1 1 0) (v128.const f32 0 0 -1 1)) (v128.const i32 0 -1 -1 -1))
-(assert_return (invoke "f32x4.lt" (v128.const f32 0 -1 1 0) (v128.const f32 0 0 -1 1)) (v128.const i32 0 -1 0 -1))
-(assert_return (invoke "f32x4.gt" (v128.const f32 0 -1 1 0) (v128.const f32 0 0 -1 1)) (v128.const i32 0 0 -1 0))
-(assert_return (invoke "f32x4.le" (v128.const f32 0 -1 1 0) (v128.const f32 0 0 -1 1)) (v128.const i32 -1 -1 0 -1))
-(assert_return (invoke "f32x4.ge" (v128.const f32 0 -1 1 0) (v128.const f32 0 0 -1 1)) (v128.const i32 -1 0 -1 0))
-(assert_return (invoke "f32x4.eq" (v128.const f32 nan 0 nan infinity) (v128.const f32 0 nan nan infinity)) (v128.const i32 0 0 0 -1))
-(assert_return (invoke "f32x4.ne" (v128.const f32 nan 0 nan infinity) (v128.const f32 0 nan nan infinity)) (v128.const i32 -1 -1 -1 0))
-(assert_return (invoke "f32x4.lt" (v128.const f32 nan 0 nan infinity) (v128.const f32 0 nan nan infinity)) (v128.const i32 0 0 0 0))
-(assert_return (invoke "f32x4.gt" (v128.const f32 nan 0 nan infinity) (v128.const f32 0 nan nan infinity)) (v128.const i32 0 0 0 0))
-(assert_return (invoke "f32x4.le" (v128.const f32 nan 0 nan infinity) (v128.const f32 0 nan nan infinity)) (v128.const i32 0 0 0 -1))
-(assert_return (invoke "f32x4.ge" (v128.const f32 nan 0 nan infinity) (v128.const f32 0 nan nan infinity)) (v128.const i32 0 0 0 -1))
-(assert_return (invoke "f32x4.eq" (v128.const f32 -infinity 0 nan -infinity) (v128.const f32 0 infinity infinity nan)) (v128.const i32 0 0 0 0))
-(assert_return (invoke "f32x4.ne" (v128.const f32 -infinity 0 nan -infinity) (v128.const f32 0 infinity infinity nan)) (v128.const i32 -1 -1 -1 -1))
-(assert_return (invoke "f32x4.lt" (v128.const f32 -infinity 0 nan -infinity) (v128.const f32 0 infinity infinity nan)) (v128.const i32 -1 -1 0 0))
-(assert_return (invoke "f32x4.gt" (v128.const f32 -infinity 0 nan -infinity) (v128.const f32 0 infinity infinity nan)) (v128.const i32 0 0 0 0))
-(assert_return (invoke "f32x4.le" (v128.const f32 -infinity 0 nan -infinity) (v128.const f32 0 infinity infinity nan)) (v128.const i32 -1 -1 0 0))
-(assert_return (invoke "f32x4.ge" (v128.const f32 -infinity 0 nan -infinity) (v128.const f32 0 infinity infinity nan)) (v128.const i32 0 0 0 0))
+(assert_return (invoke "f32x4.eq" (v128.const f32x4 0 -1 1 0) (v128.const f32x4 0 0 -1 1)) (v128.const i32x4 -1 0 0 0))
+(assert_return (invoke "f32x4.ne" (v128.const f32x4 0 -1 1 0) (v128.const f32x4 0 0 -1 1)) (v128.const i32x4 0 -1 -1 -1))
+(assert_return (invoke "f32x4.lt" (v128.const f32x4 0 -1 1 0) (v128.const f32x4 0 0 -1 1)) (v128.const i32x4 0 -1 0 -1))
+(assert_return (invoke "f32x4.gt" (v128.const f32x4 0 -1 1 0) (v128.const f32x4 0 0 -1 1)) (v128.const i32x4 0 0 -1 0))
+(assert_return (invoke "f32x4.le" (v128.const f32x4 0 -1 1 0) (v128.const f32x4 0 0 -1 1)) (v128.const i32x4 -1 -1 0 -1))
+(assert_return (invoke "f32x4.ge" (v128.const f32x4 0 -1 1 0) (v128.const f32x4 0 0 -1 1)) (v128.const i32x4 -1 0 -1 0))
+(assert_return (invoke "f32x4.eq" (v128.const f32x4 nan 0 nan infinity) (v128.const f32x4 0 nan nan infinity)) (v128.const i32x4 0 0 0 -1))
+(assert_return (invoke "f32x4.ne" (v128.const f32x4 nan 0 nan infinity) (v128.const f32x4 0 nan nan infinity)) (v128.const i32x4 -1 -1 -1 0))
+(assert_return (invoke "f32x4.lt" (v128.const f32x4 nan 0 nan infinity) (v128.const f32x4 0 nan nan infinity)) (v128.const i32x4 0 0 0 0))
+(assert_return (invoke "f32x4.gt" (v128.const f32x4 nan 0 nan infinity) (v128.const f32x4 0 nan nan infinity)) (v128.const i32x4 0 0 0 0))
+(assert_return (invoke "f32x4.le" (v128.const f32x4 nan 0 nan infinity) (v128.const f32x4 0 nan nan infinity)) (v128.const i32x4 0 0 0 -1))
+(assert_return (invoke "f32x4.ge" (v128.const f32x4 nan 0 nan infinity) (v128.const f32x4 0 nan nan infinity)) (v128.const i32x4 0 0 0 -1))
+(assert_return (invoke "f32x4.eq" (v128.const f32x4 -infinity 0 nan -infinity) (v128.const f32x4 0 infinity infinity nan)) (v128.const i32x4 0 0 0 0))
+(assert_return (invoke "f32x4.ne" (v128.const f32x4 -infinity 0 nan -infinity) (v128.const f32x4 0 infinity infinity nan)) (v128.const i32x4 -1 -1 -1 -1))
+(assert_return (invoke "f32x4.lt" (v128.const f32x4 -infinity 0 nan -infinity) (v128.const f32x4 0 infinity infinity nan)) (v128.const i32x4 -1 -1 0 0))
+(assert_return (invoke "f32x4.gt" (v128.const f32x4 -infinity 0 nan -infinity) (v128.const f32x4 0 infinity infinity nan)) (v128.const i32x4 0 0 0 0))
+(assert_return (invoke "f32x4.le" (v128.const f32x4 -infinity 0 nan -infinity) (v128.const f32x4 0 infinity infinity nan)) (v128.const i32x4 -1 -1 0 0))
+(assert_return (invoke "f32x4.ge" (v128.const f32x4 -infinity 0 nan -infinity) (v128.const f32x4 0 infinity infinity nan)) (v128.const i32x4 0 0 0 0))
;; f64x2 comparisons
-(assert_return (invoke "f64x2.eq" (v128.const f64 0 1) (v128.const f64 0 0)) (v128.const i64 -1 0))
-(assert_return (invoke "f64x2.ne" (v128.const f64 0 1) (v128.const f64 0 0)) (v128.const i64 0 -1))
-(assert_return (invoke "f64x2.lt" (v128.const f64 0 1) (v128.const f64 0 0)) (v128.const i64 0 0))
-(assert_return (invoke "f64x2.gt" (v128.const f64 0 1) (v128.const f64 0 0)) (v128.const i64 0 -1))
-(assert_return (invoke "f64x2.le" (v128.const f64 0 1) (v128.const f64 0 0)) (v128.const i64 -1 0))
-(assert_return (invoke "f64x2.ge" (v128.const f64 0 1) (v128.const f64 0 0)) (v128.const i64 -1 -1))
-(assert_return (invoke "f64x2.eq" (v128.const f64 nan 0) (v128.const f64 infinity infinity)) (v128.const i64 0 0))
-(assert_return (invoke "f64x2.ne" (v128.const f64 nan 0) (v128.const f64 infinity infinity)) (v128.const i64 -1 -1))
-(assert_return (invoke "f64x2.lt" (v128.const f64 nan 0) (v128.const f64 infinity infinity)) (v128.const i64 0 -1))
-(assert_return (invoke "f64x2.gt" (v128.const f64 nan 0) (v128.const f64 infinity infinity)) (v128.const i64 0 0))
-(assert_return (invoke "f64x2.le" (v128.const f64 nan 0) (v128.const f64 infinity infinity)) (v128.const i64 0 -1))
-(assert_return (invoke "f64x2.ge" (v128.const f64 nan 0) (v128.const f64 infinity infinity)) (v128.const i64 0 0))
+(assert_return (invoke "f64x2.eq" (v128.const f64x2 0 1) (v128.const f64x2 0 0)) (v128.const i64x2 -1 0))
+(assert_return (invoke "f64x2.ne" (v128.const f64x2 0 1) (v128.const f64x2 0 0)) (v128.const i64x2 0 -1))
+(assert_return (invoke "f64x2.lt" (v128.const f64x2 0 1) (v128.const f64x2 0 0)) (v128.const i64x2 0 0))
+(assert_return (invoke "f64x2.gt" (v128.const f64x2 0 1) (v128.const f64x2 0 0)) (v128.const i64x2 0 -1))
+(assert_return (invoke "f64x2.le" (v128.const f64x2 0 1) (v128.const f64x2 0 0)) (v128.const i64x2 -1 0))
+(assert_return (invoke "f64x2.ge" (v128.const f64x2 0 1) (v128.const f64x2 0 0)) (v128.const i64x2 -1 -1))
+(assert_return (invoke "f64x2.eq" (v128.const f64x2 nan 0) (v128.const f64x2 infinity infinity)) (v128.const i64x2 0 0))
+(assert_return (invoke "f64x2.ne" (v128.const f64x2 nan 0) (v128.const f64x2 infinity infinity)) (v128.const i64x2 -1 -1))
+(assert_return (invoke "f64x2.lt" (v128.const f64x2 nan 0) (v128.const f64x2 infinity infinity)) (v128.const i64x2 0 -1))
+(assert_return (invoke "f64x2.gt" (v128.const f64x2 nan 0) (v128.const f64x2 infinity infinity)) (v128.const i64x2 0 0))
+(assert_return (invoke "f64x2.le" (v128.const f64x2 nan 0) (v128.const f64x2 infinity infinity)) (v128.const i64x2 0 -1))
+(assert_return (invoke "f64x2.ge" (v128.const f64x2 nan 0) (v128.const f64x2 infinity infinity)) (v128.const i64x2 0 0))
;; bitwise operations
-(assert_return (invoke "v128.not" (v128.const i32 0 -1 0 -1)) (v128.const i32 -1 0 -1 0))
-(assert_return (invoke "v128.and" (v128.const i32 0 0 -1 -1) (v128.const i32 0 -1 0 -1)) (v128.const i32 0 0 0 -1))
-(assert_return (invoke "v128.or" (v128.const i32 0 0 -1 -1) (v128.const i32 0 -1 0 -1)) (v128.const i32 0 -1 -1 -1))
-(assert_return (invoke "v128.xor" (v128.const i32 0 0 -1 -1) (v128.const i32 0 -1 0 -1)) (v128.const i32 0 -1 -1 0))
+(assert_return (invoke "v128.not" (v128.const i32x4 0 -1 0 -1)) (v128.const i32x4 -1 0 -1 0))
+(assert_return (invoke "v128.and" (v128.const i32x4 0 0 -1 -1) (v128.const i32x4 0 -1 0 -1)) (v128.const i32x4 0 0 0 -1))
+(assert_return (invoke "v128.or" (v128.const i32x4 0 0 -1 -1) (v128.const i32x4 0 -1 0 -1)) (v128.const i32x4 0 -1 -1 -1))
+(assert_return (invoke "v128.xor" (v128.const i32x4 0 0 -1 -1) (v128.const i32x4 0 -1 0 -1)) (v128.const i32x4 0 -1 -1 0))
(assert_return (invoke "v128.bitselect"
- (v128.const i32 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA)
- (v128.const i32 0xBBBBBBBB 0xBBBBBBBB 0xBBBBBBBB 0xBBBBBBBB)
- (v128.const i32 0xF0F0F0F0 0xFFFFFFFF 0x00000000 0xFF00FF00)
+ (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA)
+ (v128.const i32x4 0xBBBBBBBB 0xBBBBBBBB 0xBBBBBBBB 0xBBBBBBBB)
+ (v128.const i32x4 0xF0F0F0F0 0xFFFFFFFF 0x00000000 0xFF00FF00)
)
- (v128.const i32 0xABABABAB 0xAAAAAAAA 0xBBBBBBBB 0xAABBAABB)
+ (v128.const i32x4 0xABABABAB 0xAAAAAAAA 0xBBBBBBBB 0xAABBAABB)
)
;; i8x16 arithmetic
-(assert_return (invoke "i8x16.neg" (v128.const i32 0 1 42 -3 -56 127 -128 -126 0 -1 -42 3 56 -127 -128 126))
- (v128.const i32 0 -1 -42 3 56 -127 -128 126 0 1 42 -3 -56 127 -128 -126)
+(assert_return (invoke "i8x16.neg" (v128.const i32x4 0 1 42 -3 -56 127 -128 -126 0 -1 -42 3 56 -127 -128 126))
+ (v128.const i32x4 0 -1 -42 3 56 -127 -128 126 0 1 42 -3 -56 127 -128 -126)
)
-(assert_return (invoke "i8x16.any_true" (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (i32.const 0))
-(assert_return (invoke "i8x16.any_true" (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0)) (i32.const 1))
-(assert_return (invoke "i8x16.any_true" (v128.const i32 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1)) (i32.const 1))
-(assert_return (invoke "i8x16.any_true" (v128.const i32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) (i32.const 1))
-(assert_return (invoke "i8x16.all_true" (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (i32.const 0))
-(assert_return (invoke "i8x16.all_true" (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0)) (i32.const 0))
-(assert_return (invoke "i8x16.all_true" (v128.const i32 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1)) (i32.const 0))
-(assert_return (invoke "i8x16.all_true" (v128.const i32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) (i32.const 1))
-(assert_return (invoke "i8x16.shl" (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 1))
- (v128.const i32 0 2 4 8 16 32 64 -128 0 6 12 24 48 96 -64 -128)
+(assert_return (invoke "i8x16.any_true" (v128.const i32x4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (i32.const 0))
+(assert_return (invoke "i8x16.any_true" (v128.const i32x4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0)) (i32.const 1))
+(assert_return (invoke "i8x16.any_true" (v128.const i32x4 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1)) (i32.const 1))
+(assert_return (invoke "i8x16.any_true" (v128.const i32x4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) (i32.const 1))
+(assert_return (invoke "i8x16.all_true" (v128.const i32x4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (i32.const 0))
+(assert_return (invoke "i8x16.all_true" (v128.const i32x4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0)) (i32.const 0))
+(assert_return (invoke "i8x16.all_true" (v128.const i32x4 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1)) (i32.const 0))
+(assert_return (invoke "i8x16.all_true" (v128.const i32x4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) (i32.const 1))
+(assert_return (invoke "i8x16.shl" (v128.const i32x4 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 1))
+ (v128.const i32x4 0 2 4 8 16 32 64 -128 0 6 12 24 48 96 -64 -128)
)
-(assert_return (invoke "i8x16.shl" (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 8))
- (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64)
+(assert_return (invoke "i8x16.shl" (v128.const i32x4 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 8))
+ (v128.const i32x4 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64)
)
-(assert_return (invoke "i8x16.shr_u" (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 1))
- (v128.const i32 0 0 1 2 4 8 16 32 64 1 3 6 12 24 48 96)
+(assert_return (invoke "i8x16.shr_u" (v128.const i32x4 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 1))
+ (v128.const i32x4 0 0 1 2 4 8 16 32 64 1 3 6 12 24 48 96)
)
-(assert_return (invoke "i8x16.shr_u" (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 8))
- (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64)
+(assert_return (invoke "i8x16.shr_u" (v128.const i32x4 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 8))
+ (v128.const i32x4 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64)
)
-(assert_return (invoke "i8x16.shr_s" (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 1))
- (v128.const i32 0 0 1 2 4 8 16 32 -64 1 3 6 12 24 48 -32)
+(assert_return (invoke "i8x16.shr_s" (v128.const i32x4 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 1))
+ (v128.const i32x4 0 0 1 2 4 8 16 32 -64 1 3 6 12 24 48 -32)
)
-(assert_return (invoke "i8x16.shr_s" (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 8))
- (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64)
+(assert_return (invoke "i8x16.shr_s" (v128.const i32x4 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 8))
+ (v128.const i32x4 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64)
)
(assert_return
(invoke "i8x16.add"
- (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
- (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
+ (v128.const i32x4 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
+ (v128.const i32x4 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
)
- (v128.const i32 3 17 0 0 0 135 109 46 145 225 48 184 17 249 128 215)
+ (v128.const i32x4 3 17 0 0 0 135 109 46 145 225 48 184 17 249 128 215)
)
(assert_return
(invoke "i8x16.add_saturate_s"
- (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
- (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
+ (v128.const i32x4 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
+ (v128.const i32x4 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
)
- (v128.const i32 3 17 0 128 0 135 109 46 127 225 48 184 17 249 127 215)
+ (v128.const i32x4 3 17 0 128 0 135 109 46 127 225 48 184 17 249 127 215)
)
(assert_return
(invoke "i8x16.add_saturate_u"
- (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
- (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
+ (v128.const i32x4 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
+ (v128.const i32x4 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
)
- (v128.const i32 3 255 255 255 255 135 109 46 145 225 255 184 17 255 128 215)
+ (v128.const i32x4 3 255 255 255 255 135 109 46 145 225 255 184 17 255 128 215)
)
(assert_return
(invoke "i8x16.sub"
- (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
- (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
+ (v128.const i32x4 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
+ (v128.const i32x4 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
)
- (v128.const i32 253 67 254 0 254 123 159 12 61 167 158 100 17 251 130 187)
+ (v128.const i32x4 253 67 254 0 254 123 159 12 61 167 158 100 17 251 130 187)
)
(assert_return
(invoke "i8x16.sub_saturate_s"
- (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
- (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
+ (v128.const i32x4 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
+ (v128.const i32x4 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
)
- (v128.const i32 253 67 254 0 127 128 159 12 61 167 158 128 17 251 130 127)
+ (v128.const i32x4 253 67 254 0 127 128 159 12 61 167 158 128 17 251 130 127)
)
(assert_return
(invoke "i8x16.sub_saturate_u"
- (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
- (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
+ (v128.const i32x4 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
+ (v128.const i32x4 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
)
- (v128.const i32 0 0 254 0 0 123 0 12 61 167 158 100 17 0 0 0)
+ (v128.const i32x4 0 0 254 0 0 123 0 12 61 167 158 100 17 0 0 0)
)
(assert_return
(invoke "i8x16.mul"
- (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
- (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
+ (v128.const i32x4 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73)
+ (v128.const i32x4 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142)
)
- (v128.const i32 0 230 255 0 255 6 106 237 230 52 223 76 0 6 127 126)
+ (v128.const i32x4 0 230 255 0 255 6 106 237 230 52 223 76 0 6 127 126)
)
;; i16x8 arithmetic
-(assert_return (invoke "i16x8.neg" (v128.const i32 0 1 42 -3 -56 32767 -32768 32766))
- (v128.const i32 0 -1 -42 3 56 -32767 -32768 -32766)
-)
-(assert_return (invoke "i16x8.any_true" (v128.const i32 0 0 0 0 0 0 0 0)) (i32.const 0))
-(assert_return (invoke "i16x8.any_true" (v128.const i32 0 0 1 0 0 0 0 0)) (i32.const 1))
-(assert_return (invoke "i16x8.any_true" (v128.const i32 1 1 1 1 1 0 1 1)) (i32.const 1))
-(assert_return (invoke "i16x8.any_true" (v128.const i32 1 1 1 1 1 1 1 1)) (i32.const 1))
-(assert_return (invoke "i16x8.all_true" (v128.const i32 0 0 0 0 0 0 0 0)) (i32.const 0))
-(assert_return (invoke "i16x8.all_true" (v128.const i32 0 0 1 0 0 0 0 0)) (i32.const 0))
-(assert_return (invoke "i16x8.all_true" (v128.const i32 1 1 1 1 1 0 1 1)) (i32.const 0))
-(assert_return (invoke "i16x8.all_true" (v128.const i32 1 1 1 1 1 1 1 1)) (i32.const 1))
-(assert_return (invoke "i16x8.shl" (v128.const i32 0 8 16 128 256 2048 4096 -32768) (i32.const 1)) (v128.const i32 0 16 32 256 512 4096 8192 0))
-(assert_return (invoke "i16x8.shl" (v128.const i32 0 8 16 128 256 2048 4096 -32768) (i32.const 16)) (v128.const i32 0 8 16 128 256 2048 4096 -32768))
-(assert_return (invoke "i16x8.shr_u" (v128.const i32 0 8 16 128 256 2048 4096 -32768) (i32.const 1)) (v128.const i32 0 4 8 64 128 1024 2048 16384))
-(assert_return (invoke "i16x8.shr_u" (v128.const i32 0 8 16 128 256 2048 4096 -32768) (i32.const 16)) (v128.const i32 0 8 16 128 256 2048 4096 -32768))
-(assert_return (invoke "i16x8.shr_s" (v128.const i32 0 8 16 128 256 2048 4096 -32768) (i32.const 1)) (v128.const i32 0 4 8 64 128 1024 2048 -16384))
-(assert_return (invoke "i16x8.shr_s" (v128.const i32 0 8 16 128 256 2048 4096 -32768) (i32.const 16)) (v128.const i32 0 8 16 128 256 2048 4096 -32768))
+(assert_return (invoke "i16x8.neg" (v128.const i32x4 0 1 42 -3 -56 32767 -32768 32766))
+ (v128.const i32x4 0 -1 -42 3 56 -32767 -32768 -32766)
+)
+(assert_return (invoke "i16x8.any_true" (v128.const i32x4 0 0 0 0 0 0 0 0)) (i32.const 0))
+(assert_return (invoke "i16x8.any_true" (v128.const i32x4 0 0 1 0 0 0 0 0)) (i32.const 1))
+(assert_return (invoke "i16x8.any_true" (v128.const i32x4 1 1 1 1 1 0 1 1)) (i32.const 1))
+(assert_return (invoke "i16x8.any_true" (v128.const i32x4 1 1 1 1 1 1 1 1)) (i32.const 1))
+(assert_return (invoke "i16x8.all_true" (v128.const i32x4 0 0 0 0 0 0 0 0)) (i32.const 0))
+(assert_return (invoke "i16x8.all_true" (v128.const i32x4 0 0 1 0 0 0 0 0)) (i32.const 0))
+(assert_return (invoke "i16x8.all_true" (v128.const i32x4 1 1 1 1 1 0 1 1)) (i32.const 0))
+(assert_return (invoke "i16x8.all_true" (v128.const i32x4 1 1 1 1 1 1 1 1)) (i32.const 1))
+(assert_return (invoke "i16x8.shl" (v128.const i32x4 0 8 16 128 256 2048 4096 -32768) (i32.const 1)) (v128.const i32x4 0 16 32 256 512 4096 8192 0))
+(assert_return (invoke "i16x8.shl" (v128.const i32x4 0 8 16 128 256 2048 4096 -32768) (i32.const 16)) (v128.const i32x4 0 8 16 128 256 2048 4096 -32768))
+(assert_return (invoke "i16x8.shr_u" (v128.const i32x4 0 8 16 128 256 2048 4096 -32768) (i32.const 1)) (v128.const i32x4 0 4 8 64 128 1024 2048 16384))
+(assert_return (invoke "i16x8.shr_u" (v128.const i32x4 0 8 16 128 256 2048 4096 -32768) (i32.const 16)) (v128.const i32x4 0 8 16 128 256 2048 4096 -32768))
+(assert_return (invoke "i16x8.shr_s" (v128.const i32x4 0 8 16 128 256 2048 4096 -32768) (i32.const 1)) (v128.const i32x4 0 4 8 64 128 1024 2048 -16384))
+(assert_return (invoke "i16x8.shr_s" (v128.const i32x4 0 8 16 128 256 2048 4096 -32768) (i32.const 16)) (v128.const i32x4 0 8 16 128 256 2048 4096 -32768))
(assert_return
(invoke "i16x8.add"
- (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766)
- (v128.const i32 768 1 32768 33024 1536 18688 65280 2)
+ (v128.const i32x4 0 65280 32768 32512 33024 59136 64000 32766)
+ (v128.const i32x4 768 1 32768 33024 1536 18688 65280 2)
)
- (v128.const i32 768 65281 0 0 34560 12288 63744 32768)
+ (v128.const i32x4 768 65281 0 0 34560 12288 63744 32768)
)
(assert_return
(invoke "i16x8.add_saturate_s"
- (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766)
- (v128.const i32 768 1 32768 33024 1536 18688 65280 2)
+ (v128.const i32x4 0 65280 32768 32512 33024 59136 64000 32766)
+ (v128.const i32x4 768 1 32768 33024 1536 18688 65280 2)
)
- (v128.const i32 768 65281 32768 0 34560 12288 63744 32767)
+ (v128.const i32x4 768 65281 32768 0 34560 12288 63744 32767)
)
(assert_return
(invoke "i16x8.add_saturate_u"
- (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766)
- (v128.const i32 768 1 32768 33024 1536 18688 65280 2)
+ (v128.const i32x4 0 65280 32768 32512 33024 59136 64000 32766)
+ (v128.const i32x4 768 1 32768 33024 1536 18688 65280 2)
)
- (v128.const i32 768 65281 65535 65535 34560 65535 65535 32768)
+ (v128.const i32x4 768 65281 65535 65535 34560 65535 65535 32768)
)
(assert_return
(invoke "i16x8.sub"
- (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766)
- (v128.const i32 768 1 32768 33024 1536 18688 65280 2)
+ (v128.const i32x4 0 65280 32768 32512 33024 59136 64000 32766)
+ (v128.const i32x4 768 1 32768 33024 1536 18688 65280 2)
)
- (v128.const i32 64768 65279 0 65024 31488 40448 64256 32764)
+ (v128.const i32x4 64768 65279 0 65024 31488 40448 64256 32764)
)
(assert_return
(invoke "i16x8.sub_saturate_s"
- (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766)
- (v128.const i32 768 1 32768 33024 1536 18688 65280 2)
+ (v128.const i32x4 0 65280 32768 32512 33024 59136 64000 32766)
+ (v128.const i32x4 768 1 32768 33024 1536 18688 65280 2)
)
- (v128.const i32 64768 65279 0 32767 32768 40448 64256 32764)
+ (v128.const i32x4 64768 65279 0 32767 32768 40448 64256 32764)
)
(assert_return
(invoke "i16x8.sub_saturate_u"
- (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766)
- (v128.const i32 768 1 32768 33024 1536 18688 65280 2)
+ (v128.const i32x4 0 65280 32768 32512 33024 59136 64000 32766)
+ (v128.const i32x4 768 1 32768 33024 1536 18688 65280 2)
)
- (v128.const i32 0 65279 0 0 31488 40448 0 32764)
+ (v128.const i32x4 0 65279 0 0 31488 40448 0 32764)
)
(assert_return
(invoke "i16x8.mul"
- (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766)
- (v128.const i32 768 1 32768 33024 1536 18688 65280 2)
+ (v128.const i32x4 0 65280 32768 32512 33024 59136 64000 32766)
+ (v128.const i32x4 768 1 32768 33024 1536 18688 65280 2)
)
- (v128.const i32 0 65280 0 0 0 0 0 65532)
+ (v128.const i32x4 0 65280 0 0 0 0 0 65532)
)
;; i32x4 arithmetic
-(assert_return (invoke "i32x4.neg" (v128.const i32 0 1 0x80000000 0x7fffffff)) (v128.const i32 0 -1 0x80000000 0x80000001))
-(assert_return (invoke "i32x4.any_true" (v128.const i32 0 0 0 0)) (i32.const 0))
-(assert_return (invoke "i32x4.any_true" (v128.const i32 0 0 1 0)) (i32.const 1))
-(assert_return (invoke "i32x4.any_true" (v128.const i32 1 0 1 1)) (i32.const 1))
-(assert_return (invoke "i32x4.any_true" (v128.const i32 1 1 1 1)) (i32.const 1))
-(assert_return (invoke "i32x4.all_true" (v128.const i32 0 0 0 0)) (i32.const 0))
-(assert_return (invoke "i32x4.all_true" (v128.const i32 0 0 1 0)) (i32.const 0))
-(assert_return (invoke "i32x4.all_true" (v128.const i32 1 0 1 1)) (i32.const 0))
-(assert_return (invoke "i32x4.all_true" (v128.const i32 1 1 1 1)) (i32.const 1))
-(assert_return (invoke "i32x4.shl" (v128.const i32 1 0x40000000 0x80000000 -1) (i32.const 1)) (v128.const i32 2 0x80000000 0 -2))
-(assert_return (invoke "i32x4.shl" (v128.const i32 1 0x40000000 0x80000000 -1) (i32.const 32)) (v128.const i32 1 0x40000000 0x80000000 -1))
-(assert_return (invoke "i32x4.shr_s" (v128.const i32 1 0x40000000 0x80000000 -1) (i32.const 1)) (v128.const i32 0 0x20000000 0xc0000000 -1))
-(assert_return (invoke "i32x4.shr_s" (v128.const i32 1 0x40000000 0x80000000 -1) (i32.const 32)) (v128.const i32 1 0x40000000 0x80000000 -1))
-(assert_return (invoke "i32x4.shr_u" (v128.const i32 1 0x40000000 0x80000000 -1) (i32.const 1)) (v128.const i32 0 0x20000000 0x40000000 0x7fffffff))
-(assert_return (invoke "i32x4.shr_u" (v128.const i32 1 0x40000000 0x80000000 -1) (i32.const 32)) (v128.const i32 1 0x40000000 0x80000000 -1))
-(assert_return (invoke "i32x4.add" (v128.const i32 0 0x80000001 42 5) (v128.const i32 0 0x80000001 5 42)) (v128.const i32 0 2 47 47))
-(assert_return (invoke "i32x4.sub" (v128.const i32 0 2 47 47) (v128.const i32 0 0x80000001 42 5)) (v128.const i32 0 0x80000001 5 42))
-(assert_return (invoke "i32x4.mul" (v128.const i32 0 0x80000001 42 5) (v128.const i32 0 0x80000001 42 5)) (v128.const i32 0 1 1764 25))
+(assert_return (invoke "i32x4.neg" (v128.const i32x4 0 1 0x80000000 0x7fffffff)) (v128.const i32x4 0 -1 0x80000000 0x80000001))
+(assert_return (invoke "i32x4.any_true" (v128.const i32x4 0 0 0 0)) (i32.const 0))
+(assert_return (invoke "i32x4.any_true" (v128.const i32x4 0 0 1 0)) (i32.const 1))
+(assert_return (invoke "i32x4.any_true" (v128.const i32x4 1 0 1 1)) (i32.const 1))
+(assert_return (invoke "i32x4.any_true" (v128.const i32x4 1 1 1 1)) (i32.const 1))
+(assert_return (invoke "i32x4.all_true" (v128.const i32x4 0 0 0 0)) (i32.const 0))
+(assert_return (invoke "i32x4.all_true" (v128.const i32x4 0 0 1 0)) (i32.const 0))
+(assert_return (invoke "i32x4.all_true" (v128.const i32x4 1 0 1 1)) (i32.const 0))
+(assert_return (invoke "i32x4.all_true" (v128.const i32x4 1 1 1 1)) (i32.const 1))
+(assert_return (invoke "i32x4.shl" (v128.const i32x4 1 0x40000000 0x80000000 -1) (i32.const 1)) (v128.const i32x4 2 0x80000000 0 -2))
+(assert_return (invoke "i32x4.shl" (v128.const i32x4 1 0x40000000 0x80000000 -1) (i32.const 32)) (v128.const i32x4 1 0x40000000 0x80000000 -1))
+(assert_return (invoke "i32x4.shr_s" (v128.const i32x4 1 0x40000000 0x80000000 -1) (i32.const 1)) (v128.const i32x4 0 0x20000000 0xc0000000 -1))
+(assert_return (invoke "i32x4.shr_s" (v128.const i32x4 1 0x40000000 0x80000000 -1) (i32.const 32)) (v128.const i32x4 1 0x40000000 0x80000000 -1))
+(assert_return (invoke "i32x4.shr_u" (v128.const i32x4 1 0x40000000 0x80000000 -1) (i32.const 1)) (v128.const i32x4 0 0x20000000 0x40000000 0x7fffffff))
+(assert_return (invoke "i32x4.shr_u" (v128.const i32x4 1 0x40000000 0x80000000 -1) (i32.const 32)) (v128.const i32x4 1 0x40000000 0x80000000 -1))
+(assert_return (invoke "i32x4.add" (v128.const i32x4 0 0x80000001 42 5) (v128.const i32x4 0 0x80000001 5 42)) (v128.const i32x4 0 2 47 47))
+(assert_return (invoke "i32x4.sub" (v128.const i32x4 0 2 47 47) (v128.const i32x4 0 0x80000001 42 5)) (v128.const i32x4 0 0x80000001 5 42))
+(assert_return (invoke "i32x4.mul" (v128.const i32x4 0 0x80000001 42 5) (v128.const i32x4 0 0x80000001 42 5)) (v128.const i32x4 0 1 1764 25))
;; i64x2 arithmetic
-(assert_return (invoke "i64x2.neg" (v128.const i64 0x8000000000000000 42)) (v128.const i64 0x8000000000000000 -42))
-(assert_return (invoke "i64x2.any_true" (v128.const i64 0 0)) (i32.const 0))
-(assert_return (invoke "i64x2.any_true" (v128.const i64 1 0)) (i32.const 1))
-(assert_return (invoke "i64x2.any_true" (v128.const i64 1 1)) (i32.const 1))
-(assert_return (invoke "i64x2.all_true" (v128.const i64 0 0)) (i32.const 0))
-(assert_return (invoke "i64x2.all_true" (v128.const i64 1 0)) (i32.const 0))
-(assert_return (invoke "i64x2.all_true" (v128.const i64 1 1)) (i32.const 1))
-(assert_return (invoke "i64x2.shl" (v128.const i64 1 0x8000000000000000) (i32.const 1)) (v128.const i64 2 0))
-(assert_return (invoke "i64x2.shl" (v128.const i64 1 0x8000000000000000) (i32.const 64)) (v128.const i64 1 0x8000000000000000))
-(assert_return (invoke "i64x2.shr_s" (v128.const i64 1 0x8000000000000000) (i32.const 1)) (v128.const i64 0 0xc000000000000000))
-(assert_return (invoke "i64x2.shr_s" (v128.const i64 1 0x8000000000000000) (i32.const 64)) (v128.const i64 1 0x8000000000000000))
-(assert_return (invoke "i64x2.shr_u" (v128.const i64 1 0x8000000000000000) (i32.const 1)) (v128.const i64 0 0x4000000000000000))
-(assert_return (invoke "i64x2.shr_u" (v128.const i64 1 0x8000000000000000) (i32.const 64)) (v128.const i64 1 0x8000000000000000))
-(assert_return (invoke "i64x2.add" (v128.const i64 0x8000000000000001 42) (v128.const i64 0x8000000000000001 0)) (v128.const i64 2 42))
-(assert_return (invoke "i64x2.sub" (v128.const i64 2 42) (v128.const i64 0x8000000000000001 0)) (v128.const i64 0x8000000000000001 42))
+(assert_return (invoke "i64x2.neg" (v128.const i64x2 0x8000000000000000 42)) (v128.const i64x2 0x8000000000000000 -42))
+(assert_return (invoke "i64x2.any_true" (v128.const i64x2 0 0)) (i32.const 0))
+(assert_return (invoke "i64x2.any_true" (v128.const i64x2 1 0)) (i32.const 1))
+(assert_return (invoke "i64x2.any_true" (v128.const i64x2 1 1)) (i32.const 1))
+(assert_return (invoke "i64x2.all_true" (v128.const i64x2 0 0)) (i32.const 0))
+(assert_return (invoke "i64x2.all_true" (v128.const i64x2 1 0)) (i32.const 0))
+(assert_return (invoke "i64x2.all_true" (v128.const i64x2 1 1)) (i32.const 1))
+(assert_return (invoke "i64x2.shl" (v128.const i64x2 1 0x8000000000000000) (i32.const 1)) (v128.const i64x2 2 0))
+(assert_return (invoke "i64x2.shl" (v128.const i64x2 1 0x8000000000000000) (i32.const 64)) (v128.const i64x2 1 0x8000000000000000))
+(assert_return (invoke "i64x2.shr_s" (v128.const i64x2 1 0x8000000000000000) (i32.const 1)) (v128.const i64x2 0 0xc000000000000000))
+(assert_return (invoke "i64x2.shr_s" (v128.const i64x2 1 0x8000000000000000) (i32.const 64)) (v128.const i64x2 1 0x8000000000000000))
+(assert_return (invoke "i64x2.shr_u" (v128.const i64x2 1 0x8000000000000000) (i32.const 1)) (v128.const i64x2 0 0x4000000000000000))
+(assert_return (invoke "i64x2.shr_u" (v128.const i64x2 1 0x8000000000000000) (i32.const 64)) (v128.const i64x2 1 0x8000000000000000))
+(assert_return (invoke "i64x2.add" (v128.const i64x2 0x8000000000000001 42) (v128.const i64x2 0x8000000000000001 0)) (v128.const i64x2 2 42))
+(assert_return (invoke "i64x2.sub" (v128.const i64x2 2 42) (v128.const i64x2 0x8000000000000001 0)) (v128.const i64x2 0x8000000000000001 42))
;; f32x4 arithmetic
-(assert_return (invoke "f32x4.abs" (v128.const f32 -0 nan -infinity 5)) (v128.const f32 0 nan infinity 5))
-(assert_return (invoke "f32x4.neg" (v128.const f32 -0 nan -infinity 5)) (v128.const f32 0 -nan infinity -5))
-(assert_return (invoke "f32x4.sqrt" (v128.const f32 -0 nan infinity 4)) (v128.const f32 -0 nan infinity 2))
-(assert_return (invoke "f32x4.add" (v128.const f32 nan -nan infinity 42) (v128.const f32 42 infinity infinity 1)) (v128.const f32 nan -nan infinity 43))
-(assert_return (invoke "f32x4.sub" (v128.const f32 nan -nan infinity 42) (v128.const f32 42 infinity -infinity 1)) (v128.const f32 nan -nan infinity 41))
-(assert_return (invoke "f32x4.mul" (v128.const f32 nan -nan infinity 42) (v128.const f32 42 infinity infinity 2)) (v128.const f32 nan -nan infinity 84))
-(assert_return (invoke "f32x4.div" (v128.const f32 nan -nan infinity 42) (v128.const f32 42 infinity 2 2)) (v128.const f32 nan -nan infinity 21))
-(assert_return (invoke "f32x4.min" (v128.const f32 -0 0 nan 5) (v128.const f32 0 -0 5 nan)) (v128.const f32 -0 -0 nan nan))
-(assert_return (invoke "f32x4.max" (v128.const f32 -0 0 nan 5) (v128.const f32 0 -0 5 nan)) (v128.const f32 0 0 nan nan))
+(assert_return (invoke "f32x4.abs" (v128.const f32x4 -0 nan -infinity 5)) (v128.const f32x4 0 nan infinity 5))
+(assert_return (invoke "f32x4.neg" (v128.const f32x4 -0 nan -infinity 5)) (v128.const f32x4 0 -nan infinity -5))
+(assert_return (invoke "f32x4.sqrt" (v128.const f32x4 -0 nan infinity 4)) (v128.const f32x4 -0 nan infinity 2))
+(assert_return (invoke "f32x4.add" (v128.const f32x4 nan -nan infinity 42) (v128.const f32x4 42 infinity infinity 1)) (v128.const f32x4 nan -nan infinity 43))
+(assert_return (invoke "f32x4.sub" (v128.const f32x4 nan -nan infinity 42) (v128.const f32x4 42 infinity -infinity 1)) (v128.const f32x4 nan -nan infinity 41))
+(assert_return (invoke "f32x4.mul" (v128.const f32x4 nan -nan infinity 42) (v128.const f32x4 42 infinity infinity 2)) (v128.const f32x4 nan -nan infinity 84))
+(assert_return (invoke "f32x4.div" (v128.const f32x4 nan -nan infinity 42) (v128.const f32x4 42 infinity 2 2)) (v128.const f32x4 nan -nan infinity 21))
+(assert_return (invoke "f32x4.min" (v128.const f32x4 -0 0 nan 5) (v128.const f32x4 0 -0 5 nan)) (v128.const f32x4 -0 -0 nan nan))
+(assert_return (invoke "f32x4.max" (v128.const f32x4 -0 0 nan 5) (v128.const f32x4 0 -0 5 nan)) (v128.const f32x4 0 0 nan nan))
;; f64x2 arithmetic
-(assert_return (invoke "f64x2.abs" (v128.const f64 -0 nan)) (v128.const f64 0 nan))
-(assert_return (invoke "f64x2.abs" (v128.const f64 -infinity 5)) (v128.const f64 infinity 5))
-(assert_return (invoke "f64x2.neg" (v128.const f64 -0 nan)) (v128.const f64 0 -nan))
-(assert_return (invoke "f64x2.neg" (v128.const f64 -infinity 5)) (v128.const f64 infinity -5))
-(assert_return (invoke "f64x2.sqrt" (v128.const f64 -0 nan)) (v128.const f64 -0 nan))
-(assert_return (invoke "f64x2.sqrt" (v128.const f64 infinity 4)) (v128.const f64 infinity 2))
-(assert_return (invoke "f64x2.add" (v128.const f64 nan -nan) (v128.const f64 42 infinity)) (v128.const f64 nan -nan))
-(assert_return (invoke "f64x2.add" (v128.const f64 infinity 42) (v128.const f64 infinity 1)) (v128.const f64 infinity 43))
-(assert_return (invoke "f64x2.sub" (v128.const f64 nan -nan) (v128.const f64 42 infinity)) (v128.const f64 nan -nan))
-(assert_return (invoke "f64x2.sub" (v128.const f64 infinity 42) (v128.const f64 -infinity 1)) (v128.const f64 infinity 41))
-(assert_return (invoke "f64x2.mul" (v128.const f64 nan -nan) (v128.const f64 42 infinity)) (v128.const f64 nan -nan))
-(assert_return (invoke "f64x2.mul" (v128.const f64 infinity 42) (v128.const f64 infinity 2)) (v128.const f64 infinity 84))
-(assert_return (invoke "f64x2.div" (v128.const f64 nan -nan) (v128.const f64 42 infinity)) (v128.const f64 nan -nan))
-(assert_return (invoke "f64x2.div" (v128.const f64 infinity 42) (v128.const f64 2 2)) (v128.const f64 infinity 21))
-(assert_return (invoke "f64x2.min" (v128.const f64 -0 0) (v128.const f64 0 -0)) (v128.const f64 -0 -0))
-(assert_return (invoke "f64x2.min" (v128.const f64 nan 5) (v128.const f64 5 nan)) (v128.const f64 nan nan))
-(assert_return (invoke "f64x2.max" (v128.const f64 -0 0) (v128.const f64 0 -0)) (v128.const f64 0 0))
-(assert_return (invoke "f64x2.max" (v128.const f64 nan 5) (v128.const f64 5 nan)) (v128.const f64 nan nan))
+(assert_return (invoke "f64x2.abs" (v128.const f64x2 -0 nan)) (v128.const f64x2 0 nan))
+(assert_return (invoke "f64x2.abs" (v128.const f64x2 -infinity 5)) (v128.const f64x2 infinity 5))
+(assert_return (invoke "f64x2.neg" (v128.const f64x2 -0 nan)) (v128.const f64x2 0 -nan))
+(assert_return (invoke "f64x2.neg" (v128.const f64x2 -infinity 5)) (v128.const f64x2 infinity -5))
+(assert_return (invoke "f64x2.sqrt" (v128.const f64x2 -0 nan)) (v128.const f64x2 -0 nan))
+(assert_return (invoke "f64x2.sqrt" (v128.const f64x2 infinity 4)) (v128.const f64x2 infinity 2))
+(assert_return (invoke "f64x2.add" (v128.const f64x2 nan -nan) (v128.const f64x2 42 infinity)) (v128.const f64x2 nan -nan))
+(assert_return (invoke "f64x2.add" (v128.const f64x2 infinity 42) (v128.const f64x2 infinity 1)) (v128.const f64x2 infinity 43))
+(assert_return (invoke "f64x2.sub" (v128.const f64x2 nan -nan) (v128.const f64x2 42 infinity)) (v128.const f64x2 nan -nan))
+(assert_return (invoke "f64x2.sub" (v128.const f64x2 infinity 42) (v128.const f64x2 -infinity 1)) (v128.const f64x2 infinity 41))
+(assert_return (invoke "f64x2.mul" (v128.const f64x2 nan -nan) (v128.const f64x2 42 infinity)) (v128.const f64x2 nan -nan))
+(assert_return (invoke "f64x2.mul" (v128.const f64x2 infinity 42) (v128.const f64x2 infinity 2)) (v128.const f64x2 infinity 84))
+(assert_return (invoke "f64x2.div" (v128.const f64x2 nan -nan) (v128.const f64x2 42 infinity)) (v128.const f64x2 nan -nan))
+(assert_return (invoke "f64x2.div" (v128.const f64x2 infinity 42) (v128.const f64x2 2 2)) (v128.const f64x2 infinity 21))
+(assert_return (invoke "f64x2.min" (v128.const f64x2 -0 0) (v128.const f64x2 0 -0)) (v128.const f64x2 -0 -0))
+(assert_return (invoke "f64x2.min" (v128.const f64x2 nan 5) (v128.const f64x2 5 nan)) (v128.const f64x2 nan nan))
+(assert_return (invoke "f64x2.max" (v128.const f64x2 -0 0) (v128.const f64x2 0 -0)) (v128.const f64x2 0 0))
+(assert_return (invoke "f64x2.max" (v128.const f64x2 nan 5) (v128.const f64x2 5 nan)) (v128.const f64x2 nan nan))
;; conversions
-(assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32 42 nan infinity -infinity)) (v128.const i32 42 0 2147483647 -2147483648))
-(assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32 42 nan infinity -infinity)) (v128.const i32 42 0 4294967295 0))
-(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64 42 nan)) (v128.const i64 42 0))
-(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64 infinity -infinity)) (v128.const i64 9223372036854775807 -9223372036854775808))
-(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64 42 nan)) (v128.const i64 42 0))
-(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64 infinity -infinity)) (v128.const i64 18446744073709551615 0))
-(assert_return (invoke "f32x4.convert_i32x4_s" (v128.const i32 0 -1 2147483647 -2147483648)) (v128.const f32 0 -1 2147483648 -2147483648))
-(assert_return (invoke "f32x4.convert_i32x4_u" (v128.const i32 0 -1 2147483647 -2147483648)) (v128.const f32 0 4294967296 2147483648 2147483648))
-(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64 0 -1)) (v128.const f64 0 -1))
-(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64 9223372036854775807 -9223372036854775808)) (v128.const f64 9223372036854775807 -9223372036854775808))
-(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64 0 -1)) (v128.const f64 0 18446744073709551616))
-(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64 9223372036854775807 -9223372036854775808)) (v128.const f64 9223372036854775807 9223372036854775808))
+(assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 42 nan infinity -infinity)) (v128.const i32x4 42 0 2147483647 -2147483648))
+(assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 42 nan infinity -infinity)) (v128.const i32x4 42 0 4294967295 0))
+(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 42 nan)) (v128.const i64x2 42 0))
+(assert_return (invoke "i64x2.trunc_sat_f64x2_s" (v128.const f64x2 infinity -infinity)) (v128.const i64x2 9223372036854775807 -9223372036854775808))
+(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 42 nan)) (v128.const i64x2 42 0))
+(assert_return (invoke "i64x2.trunc_sat_f64x2_u" (v128.const f64x2 infinity -infinity)) (v128.const i64x2 18446744073709551615 0))
+(assert_return (invoke "f32x4.convert_i32x4_s" (v128.const i32x4 0 -1 2147483647 -2147483648)) (v128.const f32x4 0 -1 2147483648 -2147483648))
+(assert_return (invoke "f32x4.convert_i32x4_u" (v128.const i32x4 0 -1 2147483647 -2147483648)) (v128.const f32x4 0 4294967296 2147483648 2147483648))
+(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 0 -1)) (v128.const f64x2 0 -1))
+(assert_return (invoke "f64x2.convert_i64x2_s" (v128.const i64x2 9223372036854775807 -9223372036854775808)) (v128.const f64x2 9223372036854775807 -9223372036854775808))
+(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 0 -1)) (v128.const f64x2 0 18446744073709551616))
+(assert_return (invoke "f64x2.convert_i64x2_u" (v128.const i64x2 9223372036854775807 -9223372036854775808)) (v128.const f64x2 9223372036854775807 9223372036854775808))