diff options
author | Thomas Lively <tlively@google.com> | 2024-08-20 17:16:44 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-20 17:16:44 -0700 |
commit | 435eeead73cf02a6fb5bc7d7a36dd45b8d700cb2 (patch) | |
tree | d079d92a6d934175d6f1b276deb0ef78d14d058b /test/spec | |
parent | 340ad71810484c279b1a36a9a7e458c9b18855b9 (diff) | |
download | binaryen-435eeead73cf02a6fb5bc7d7a36dd45b8d700cb2.tar.gz binaryen-435eeead73cf02a6fb5bc7d7a36dd45b8d700cb2.tar.bz2 binaryen-435eeead73cf02a6fb5bc7d7a36dd45b8d700cb2.zip |
Add the upstream spec testsuite as a submodule (#6853)
Run the upstream tests by default, except for a large list of them that
do not successfully run. Remove the local version of those that do
successfully run where the local version is entirely subsumed by the
upstream version.
Diffstat (limited to 'test/spec')
59 files changed, 0 insertions, 32132 deletions
diff --git a/test/spec/address64.wast b/test/spec/address64.wast deleted file mode 100644 index 29771ae77..000000000 --- a/test/spec/address64.wast +++ /dev/null @@ -1,582 +0,0 @@ -;; Load i32 data with different offset/align arguments - -(module - (memory i64 1) - (data (i64.const 0) "abcdefghijklmnopqrstuvwxyz") - - (func (export "8u_good1") (param $i i64) (result i32) - (i32.load8_u offset=0 (local.get $i)) ;; 97 'a' - ) - (func (export "8u_good2") (param $i i64) (result i32) - (i32.load8_u align=1 (local.get $i)) ;; 97 'a' - ) - (func (export "8u_good3") (param $i i64) (result i32) - (i32.load8_u offset=1 align=1 (local.get $i)) ;; 98 'b' - ) - (func (export "8u_good4") (param $i i64) (result i32) - (i32.load8_u offset=2 align=1 (local.get $i)) ;; 99 'c' - ) - (func (export "8u_good5") (param $i i64) (result i32) - (i32.load8_u offset=25 align=1 (local.get $i)) ;; 122 'z' - ) - - (func (export "8s_good1") (param $i i64) (result i32) - (i32.load8_s offset=0 (local.get $i)) ;; 97 'a' - ) - (func (export "8s_good2") (param $i i64) (result i32) - (i32.load8_s align=1 (local.get $i)) ;; 97 'a' - ) - (func (export "8s_good3") (param $i i64) (result i32) - (i32.load8_s offset=1 align=1 (local.get $i)) ;; 98 'b' - ) - (func (export "8s_good4") (param $i i64) (result i32) - (i32.load8_s offset=2 align=1 (local.get $i)) ;; 99 'c' - ) - (func (export "8s_good5") (param $i i64) (result i32) - (i32.load8_s offset=25 align=1 (local.get $i)) ;; 122 'z' - ) - - (func (export "16u_good1") (param $i i64) (result i32) - (i32.load16_u offset=0 (local.get $i)) ;; 25185 'ab' - ) - (func (export "16u_good2") (param $i i64) (result i32) - (i32.load16_u align=1 (local.get $i)) ;; 25185 'ab' - ) - (func (export "16u_good3") (param $i i64) (result i32) - (i32.load16_u offset=1 align=1 (local.get $i)) ;; 25442 'bc' - ) - (func (export "16u_good4") (param $i i64) (result i32) - (i32.load16_u offset=2 align=2 (local.get $i)) ;; 25699 'cd' - ) - (func (export "16u_good5") (param $i i64) (result i32) - (i32.load16_u offset=25 align=2 (local.get $i)) ;; 122 'z\0' - ) - - (func (export "16s_good1") (param $i i64) (result i32) - (i32.load16_s offset=0 (local.get $i)) ;; 25185 'ab' - ) - (func (export "16s_good2") (param $i i64) (result i32) - (i32.load16_s align=1 (local.get $i)) ;; 25185 'ab' - ) - (func (export "16s_good3") (param $i i64) (result i32) - (i32.load16_s offset=1 align=1 (local.get $i)) ;; 25442 'bc' - ) - (func (export "16s_good4") (param $i i64) (result i32) - (i32.load16_s offset=2 align=2 (local.get $i)) ;; 25699 'cd' - ) - (func (export "16s_good5") (param $i i64) (result i32) - (i32.load16_s offset=25 align=2 (local.get $i)) ;; 122 'z\0' - ) - - (func (export "32_good1") (param $i i64) (result i32) - (i32.load offset=0 (local.get $i)) ;; 1684234849 'abcd' - ) - (func (export "32_good2") (param $i i64) (result i32) - (i32.load align=1 (local.get $i)) ;; 1684234849 'abcd' - ) - (func (export "32_good3") (param $i i64) (result i32) - (i32.load offset=1 align=1 (local.get $i)) ;; 1701077858 'bcde' - ) - (func (export "32_good4") (param $i i64) (result i32) - (i32.load offset=2 align=2 (local.get $i)) ;; 1717920867 'cdef' - ) - (func (export "32_good5") (param $i i64) (result i32) - (i32.load offset=25 align=4 (local.get $i)) ;; 122 'z\0\0\0' - ) - - (func (export "8u_bad") (param $i i64) - (drop (i32.load8_u offset=4294967295 (local.get $i))) - ) - (func (export "8s_bad") (param $i i64) - (drop (i32.load8_s offset=4294967295 (local.get $i))) - ) - (func (export "16u_bad") (param $i i64) - (drop (i32.load16_u offset=4294967295 (local.get $i))) - ) - (func (export "16s_bad") (param $i i64) - (drop (i32.load16_s offset=4294967295 (local.get $i))) - ) - (func (export "32_bad") (param $i i64) - (drop (i32.load offset=4294967295 (local.get $i))) - ) -) - -(assert_return (invoke "8u_good1" (i64.const 0)) (i32.const 97)) -(assert_return (invoke "8u_good2" (i64.const 0)) (i32.const 97)) -(assert_return (invoke "8u_good3" (i64.const 0)) (i32.const 98)) -(assert_return (invoke "8u_good4" (i64.const 0)) (i32.const 99)) -(assert_return (invoke "8u_good5" (i64.const 0)) (i32.const 122)) - -(assert_return (invoke "8s_good1" (i64.const 0)) (i32.const 97)) -(assert_return (invoke "8s_good2" (i64.const 0)) (i32.const 97)) -(assert_return (invoke "8s_good3" (i64.const 0)) (i32.const 98)) -(assert_return (invoke "8s_good4" (i64.const 0)) (i32.const 99)) -(assert_return (invoke "8s_good5" (i64.const 0)) (i32.const 122)) - -(assert_return (invoke "16u_good1" (i64.const 0)) (i32.const 25185)) -(assert_return (invoke "16u_good2" (i64.const 0)) (i32.const 25185)) -(assert_return (invoke "16u_good3" (i64.const 0)) (i32.const 25442)) -(assert_return (invoke "16u_good4" (i64.const 0)) (i32.const 25699)) -(assert_return (invoke "16u_good5" (i64.const 0)) (i32.const 122)) - -(assert_return (invoke "16s_good1" (i64.const 0)) (i32.const 25185)) -(assert_return (invoke "16s_good2" (i64.const 0)) (i32.const 25185)) -(assert_return (invoke "16s_good3" (i64.const 0)) (i32.const 25442)) -(assert_return (invoke "16s_good4" (i64.const 0)) (i32.const 25699)) -(assert_return (invoke "16s_good5" (i64.const 0)) (i32.const 122)) - -(assert_return (invoke "32_good1" (i64.const 0)) (i32.const 1684234849)) -(assert_return (invoke "32_good2" (i64.const 0)) (i32.const 1684234849)) -(assert_return (invoke "32_good3" (i64.const 0)) (i32.const 1701077858)) -(assert_return (invoke "32_good4" (i64.const 0)) (i32.const 1717920867)) -(assert_return (invoke "32_good5" (i64.const 0)) (i32.const 122)) - -(assert_return (invoke "8u_good1" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "8u_good2" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "8u_good3" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "8u_good4" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "8u_good5" (i64.const 65507)) (i32.const 0)) - -(assert_return (invoke "8s_good1" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "8s_good2" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "8s_good3" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "8s_good4" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "8s_good5" (i64.const 65507)) (i32.const 0)) - -(assert_return (invoke "16u_good1" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "16u_good2" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "16u_good3" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "16u_good4" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "16u_good5" (i64.const 65507)) (i32.const 0)) - -(assert_return (invoke "16s_good1" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "16s_good2" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "16s_good3" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "16s_good4" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "16s_good5" (i64.const 65507)) (i32.const 0)) - -(assert_return (invoke "32_good1" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "32_good2" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "32_good3" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "32_good4" (i64.const 65507)) (i32.const 0)) -(assert_return (invoke "32_good5" (i64.const 65507)) (i32.const 0)) - -(assert_return (invoke "8u_good1" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "8u_good2" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "8u_good3" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "8u_good4" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "8u_good5" (i64.const 65508)) (i32.const 0)) - -(assert_return (invoke "8s_good1" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "8s_good2" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "8s_good3" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "8s_good4" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "8s_good5" (i64.const 65508)) (i32.const 0)) - -(assert_return (invoke "16u_good1" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "16u_good2" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "16u_good3" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "16u_good4" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "16u_good5" (i64.const 65508)) (i32.const 0)) - -(assert_return (invoke "16s_good1" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "16s_good2" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "16s_good3" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "16s_good4" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "16s_good5" (i64.const 65508)) (i32.const 0)) - -(assert_return (invoke "32_good1" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "32_good2" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "32_good3" (i64.const 65508)) (i32.const 0)) -(assert_return (invoke "32_good4" (i64.const 65508)) (i32.const 0)) -(assert_trap (invoke "32_good5" (i64.const 65508)) "out of bounds memory access") - -(assert_trap (invoke "8u_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "8s_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "16u_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "16s_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "32_bad" (i64.const 0)) "out of bounds memory access") - -(assert_trap (invoke "8u_bad" (i64.const 1)) "out of bounds memory access") -(assert_trap (invoke "8s_bad" (i64.const 1)) "out of bounds memory access") -(assert_trap (invoke "16u_bad" (i64.const 1)) "out of bounds memory access") -(assert_trap (invoke "16s_bad" (i64.const 1)) "out of bounds memory access") -(assert_trap (invoke "32_bad" (i64.const 1)) "out of bounds memory access") - - -;; Load i64 data with different offset/align arguments - -(module - (memory i64 1) - (data (i64.const 0) "abcdefghijklmnopqrstuvwxyz") - - (func (export "8u_good1") (param $i i64) (result i64) - (i64.load8_u offset=0 (local.get $i)) ;; 97 'a' - ) - (func (export "8u_good2") (param $i i64) (result i64) - (i64.load8_u align=1 (local.get $i)) ;; 97 'a' - ) - (func (export "8u_good3") (param $i i64) (result i64) - (i64.load8_u offset=1 align=1 (local.get $i)) ;; 98 'b' - ) - (func (export "8u_good4") (param $i i64) (result i64) - (i64.load8_u offset=2 align=1 (local.get $i)) ;; 99 'c' - ) - (func (export "8u_good5") (param $i i64) (result i64) - (i64.load8_u offset=25 align=1 (local.get $i)) ;; 122 'z' - ) - - (func (export "8s_good1") (param $i i64) (result i64) - (i64.load8_s offset=0 (local.get $i)) ;; 97 'a' - ) - (func (export "8s_good2") (param $i i64) (result i64) - (i64.load8_s align=1 (local.get $i)) ;; 97 'a' - ) - (func (export "8s_good3") (param $i i64) (result i64) - (i64.load8_s offset=1 align=1 (local.get $i)) ;; 98 'b' - ) - (func (export "8s_good4") (param $i i64) (result i64) - (i64.load8_s offset=2 align=1 (local.get $i)) ;; 99 'c' - ) - (func (export "8s_good5") (param $i i64) (result i64) - (i64.load8_s offset=25 align=1 (local.get $i)) ;; 122 'z' - ) - - (func (export "16u_good1") (param $i i64) (result i64) - (i64.load16_u offset=0 (local.get $i)) ;; 25185 'ab' - ) - (func (export "16u_good2") (param $i i64) (result i64) - (i64.load16_u align=1 (local.get $i)) ;; 25185 'ab' - ) - (func (export "16u_good3") (param $i i64) (result i64) - (i64.load16_u offset=1 align=1 (local.get $i)) ;; 25442 'bc' - ) - (func (export "16u_good4") (param $i i64) (result i64) - (i64.load16_u offset=2 align=2 (local.get $i)) ;; 25699 'cd' - ) - (func (export "16u_good5") (param $i i64) (result i64) - (i64.load16_u offset=25 align=2 (local.get $i)) ;; 122 'z\0' - ) - - (func (export "16s_good1") (param $i i64) (result i64) - (i64.load16_s offset=0 (local.get $i)) ;; 25185 'ab' - ) - (func (export "16s_good2") (param $i i64) (result i64) - (i64.load16_s align=1 (local.get $i)) ;; 25185 'ab' - ) - (func (export "16s_good3") (param $i i64) (result i64) - (i64.load16_s offset=1 align=1 (local.get $i)) ;; 25442 'bc' - ) - (func (export "16s_good4") (param $i i64) (result i64) - (i64.load16_s offset=2 align=2 (local.get $i)) ;; 25699 'cd' - ) - (func (export "16s_good5") (param $i i64) (result i64) - (i64.load16_s offset=25 align=2 (local.get $i)) ;; 122 'z\0' - ) - - (func (export "32u_good1") (param $i i64) (result i64) - (i64.load32_u offset=0 (local.get $i)) ;; 1684234849 'abcd' - ) - (func (export "32u_good2") (param $i i64) (result i64) - (i64.load32_u align=1 (local.get $i)) ;; 1684234849 'abcd' - ) - (func (export "32u_good3") (param $i i64) (result i64) - (i64.load32_u offset=1 align=1 (local.get $i)) ;; 1701077858 'bcde' - ) - (func (export "32u_good4") (param $i i64) (result i64) - (i64.load32_u offset=2 align=2 (local.get $i)) ;; 1717920867 'cdef' - ) - (func (export "32u_good5") (param $i i64) (result i64) - (i64.load32_u offset=25 align=4 (local.get $i)) ;; 122 'z\0\0\0' - ) - - (func (export "32s_good1") (param $i i64) (result i64) - (i64.load32_s offset=0 (local.get $i)) ;; 1684234849 'abcd' - ) - (func (export "32s_good2") (param $i i64) (result i64) - (i64.load32_s align=1 (local.get $i)) ;; 1684234849 'abcd' - ) - (func (export "32s_good3") (param $i i64) (result i64) - (i64.load32_s offset=1 align=1 (local.get $i)) ;; 1701077858 'bcde' - ) - (func (export "32s_good4") (param $i i64) (result i64) - (i64.load32_s offset=2 align=2 (local.get $i)) ;; 1717920867 'cdef' - ) - (func (export "32s_good5") (param $i i64) (result i64) - (i64.load32_s offset=25 align=4 (local.get $i)) ;; 122 'z\0\0\0' - ) - - (func (export "64_good1") (param $i i64) (result i64) - (i64.load offset=0 (local.get $i)) ;; 0x6867666564636261 'abcdefgh' - ) - (func (export "64_good2") (param $i i64) (result i64) - (i64.load align=1 (local.get $i)) ;; 0x6867666564636261 'abcdefgh' - ) - (func (export "64_good3") (param $i i64) (result i64) - (i64.load offset=1 align=1 (local.get $i)) ;; 0x6968676665646362 'bcdefghi' - ) - (func (export "64_good4") (param $i i64) (result i64) - (i64.load offset=2 align=2 (local.get $i)) ;; 0x6a69686766656463 'cdefghij' - ) - (func (export "64_good5") (param $i i64) (result i64) - (i64.load offset=25 align=8 (local.get $i)) ;; 122 'z\0\0\0\0\0\0\0' - ) - - (func (export "8u_bad") (param $i i64) - (drop (i64.load8_u offset=4294967295 (local.get $i))) - ) - (func (export "8s_bad") (param $i i64) - (drop (i64.load8_s offset=4294967295 (local.get $i))) - ) - (func (export "16u_bad") (param $i i64) - (drop (i64.load16_u offset=4294967295 (local.get $i))) - ) - (func (export "16s_bad") (param $i i64) - (drop (i64.load16_s offset=4294967295 (local.get $i))) - ) - (func (export "32u_bad") (param $i i64) - (drop (i64.load32_u offset=4294967295 (local.get $i))) - ) - (func (export "32s_bad") (param $i i64) - (drop (i64.load32_s offset=4294967295 (local.get $i))) - ) - (func (export "64_bad") (param $i i64) - (drop (i64.load offset=4294967295 (local.get $i))) - ) -) - -(assert_return (invoke "8u_good1" (i64.const 0)) (i64.const 97)) -(assert_return (invoke "8u_good2" (i64.const 0)) (i64.const 97)) -(assert_return (invoke "8u_good3" (i64.const 0)) (i64.const 98)) -(assert_return (invoke "8u_good4" (i64.const 0)) (i64.const 99)) -(assert_return (invoke "8u_good5" (i64.const 0)) (i64.const 122)) - -(assert_return (invoke "8s_good1" (i64.const 0)) (i64.const 97)) -(assert_return (invoke "8s_good2" (i64.const 0)) (i64.const 97)) -(assert_return (invoke "8s_good3" (i64.const 0)) (i64.const 98)) -(assert_return (invoke "8s_good4" (i64.const 0)) (i64.const 99)) -(assert_return (invoke "8s_good5" (i64.const 0)) (i64.const 122)) - -(assert_return (invoke "16u_good1" (i64.const 0)) (i64.const 25185)) -(assert_return (invoke "16u_good2" (i64.const 0)) (i64.const 25185)) -(assert_return (invoke "16u_good3" (i64.const 0)) (i64.const 25442)) -(assert_return (invoke "16u_good4" (i64.const 0)) (i64.const 25699)) -(assert_return (invoke "16u_good5" (i64.const 0)) (i64.const 122)) - -(assert_return (invoke "16s_good1" (i64.const 0)) (i64.const 25185)) -(assert_return (invoke "16s_good2" (i64.const 0)) (i64.const 25185)) -(assert_return (invoke "16s_good3" (i64.const 0)) (i64.const 25442)) -(assert_return (invoke "16s_good4" (i64.const 0)) (i64.const 25699)) -(assert_return (invoke "16s_good5" (i64.const 0)) (i64.const 122)) - -(assert_return (invoke "32u_good1" (i64.const 0)) (i64.const 1684234849)) -(assert_return (invoke "32u_good2" (i64.const 0)) (i64.const 1684234849)) -(assert_return (invoke "32u_good3" (i64.const 0)) (i64.const 1701077858)) -(assert_return (invoke "32u_good4" (i64.const 0)) (i64.const 1717920867)) -(assert_return (invoke "32u_good5" (i64.const 0)) (i64.const 122)) - -(assert_return (invoke "32s_good1" (i64.const 0)) (i64.const 1684234849)) -(assert_return (invoke "32s_good2" (i64.const 0)) (i64.const 1684234849)) -(assert_return (invoke "32s_good3" (i64.const 0)) (i64.const 1701077858)) -(assert_return (invoke "32s_good4" (i64.const 0)) (i64.const 1717920867)) -(assert_return (invoke "32s_good5" (i64.const 0)) (i64.const 122)) - -(assert_return (invoke "64_good1" (i64.const 0)) (i64.const 0x6867666564636261)) -(assert_return (invoke "64_good2" (i64.const 0)) (i64.const 0x6867666564636261)) -(assert_return (invoke "64_good3" (i64.const 0)) (i64.const 0x6968676665646362)) -(assert_return (invoke "64_good4" (i64.const 0)) (i64.const 0x6a69686766656463)) -(assert_return (invoke "64_good5" (i64.const 0)) (i64.const 122)) - -(assert_return (invoke "8u_good1" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "8u_good2" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "8u_good3" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "8u_good4" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "8u_good5" (i64.const 65503)) (i64.const 0)) - -(assert_return (invoke "8s_good1" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "8s_good2" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "8s_good3" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "8s_good4" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "8s_good5" (i64.const 65503)) (i64.const 0)) - -(assert_return (invoke "16u_good1" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "16u_good2" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "16u_good3" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "16u_good4" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "16u_good5" (i64.const 65503)) (i64.const 0)) - -(assert_return (invoke "16s_good1" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "16s_good2" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "16s_good3" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "16s_good4" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "16s_good5" (i64.const 65503)) (i64.const 0)) - -(assert_return (invoke "32u_good1" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "32u_good2" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "32u_good3" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "32u_good4" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "32u_good5" (i64.const 65503)) (i64.const 0)) - -(assert_return (invoke "32s_good1" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "32s_good2" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "32s_good3" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "32s_good4" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "32s_good5" (i64.const 65503)) (i64.const 0)) - -(assert_return (invoke "64_good1" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "64_good2" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "64_good3" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "64_good4" (i64.const 65503)) (i64.const 0)) -(assert_return (invoke "64_good5" (i64.const 65503)) (i64.const 0)) - -(assert_return (invoke "8u_good1" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "8u_good2" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "8u_good3" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "8u_good4" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "8u_good5" (i64.const 65504)) (i64.const 0)) - -(assert_return (invoke "8s_good1" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "8s_good2" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "8s_good3" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "8s_good4" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "8s_good5" (i64.const 65504)) (i64.const 0)) - -(assert_return (invoke "16u_good1" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "16u_good2" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "16u_good3" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "16u_good4" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "16u_good5" (i64.const 65504)) (i64.const 0)) - -(assert_return (invoke "16s_good1" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "16s_good2" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "16s_good3" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "16s_good4" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "16s_good5" (i64.const 65504)) (i64.const 0)) - -(assert_return (invoke "32u_good1" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "32u_good2" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "32u_good3" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "32u_good4" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "32u_good5" (i64.const 65504)) (i64.const 0)) - -(assert_return (invoke "32s_good1" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "32s_good2" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "32s_good3" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "32s_good4" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "32s_good5" (i64.const 65504)) (i64.const 0)) - -(assert_return (invoke "64_good1" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "64_good2" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "64_good3" (i64.const 65504)) (i64.const 0)) -(assert_return (invoke "64_good4" (i64.const 65504)) (i64.const 0)) -(assert_trap (invoke "64_good5" (i64.const 65504)) "out of bounds memory access") - -(assert_trap (invoke "8u_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "8s_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "16u_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "16s_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "32u_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "32s_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "64_bad" (i64.const 0)) "out of bounds memory access") - -(assert_trap (invoke "8u_bad" (i64.const 1)) "out of bounds memory access") -(assert_trap (invoke "8s_bad" (i64.const 1)) "out of bounds memory access") -(assert_trap (invoke "16u_bad" (i64.const 1)) "out of bounds memory access") -(assert_trap (invoke "16s_bad" (i64.const 1)) "out of bounds memory access") -(assert_trap (invoke "32u_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "32s_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "64_bad" (i64.const 1)) "out of bounds memory access") - -;; Load f32 data with different offset/align arguments - -(module - (memory i64 1) - (data (i64.const 0) "\00\00\00\00\00\00\a0\7f\01\00\d0\7f") - - (func (export "32_good1") (param $i i64) (result f32) - (f32.load offset=0 (local.get $i)) ;; 0.0 '\00\00\00\00' - ) - (func (export "32_good2") (param $i i64) (result f32) - (f32.load align=1 (local.get $i)) ;; 0.0 '\00\00\00\00' - ) - (func (export "32_good3") (param $i i64) (result f32) - (f32.load offset=1 align=1 (local.get $i)) ;; 0.0 '\00\00\00\00' - ) - (func (export "32_good4") (param $i i64) (result f32) - (f32.load offset=2 align=2 (local.get $i)) ;; 0.0 '\00\00\00\00' - ) - (func (export "32_good5") (param $i i64) (result f32) - (f32.load offset=8 align=4 (local.get $i)) ;; nan:0x500001 '\01\00\d0\7f' - ) - (func (export "32_bad") (param $i i64) - (drop (f32.load offset=4294967295 (local.get $i))) - ) -) - -(assert_return (invoke "32_good1" (i64.const 0)) (f32.const 0.0)) -(assert_return (invoke "32_good2" (i64.const 0)) (f32.const 0.0)) -(assert_return (invoke "32_good3" (i64.const 0)) (f32.const 0.0)) -(assert_return (invoke "32_good4" (i64.const 0)) (f32.const 0.0)) -(assert_return (invoke "32_good5" (i64.const 0)) (f32.const nan:0x500001)) - -(assert_return (invoke "32_good1" (i64.const 65524)) (f32.const 0.0)) -(assert_return (invoke "32_good2" (i64.const 65524)) (f32.const 0.0)) -(assert_return (invoke "32_good3" (i64.const 65524)) (f32.const 0.0)) -(assert_return (invoke "32_good4" (i64.const 65524)) (f32.const 0.0)) -(assert_return (invoke "32_good5" (i64.const 65524)) (f32.const 0.0)) - -(assert_return (invoke "32_good1" (i64.const 65525)) (f32.const 0.0)) -(assert_return (invoke "32_good2" (i64.const 65525)) (f32.const 0.0)) -(assert_return (invoke "32_good3" (i64.const 65525)) (f32.const 0.0)) -(assert_return (invoke "32_good4" (i64.const 65525)) (f32.const 0.0)) -(assert_trap (invoke "32_good5" (i64.const 65525)) "out of bounds memory access") - -(assert_trap (invoke "32_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "32_bad" (i64.const 1)) "out of bounds memory access") - -;; Load f64 data with different offset/align arguments - -(module - (memory i64 1) - (data (i64.const 0) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f4\7f\01\00\00\00\00\00\fc\7f") - - (func (export "64_good1") (param $i i64) (result f64) - (f64.load offset=0 (local.get $i)) ;; 0.0 '\00\00\00\00\00\00\00\00' - ) - (func (export "64_good2") (param $i i64) (result f64) - (f64.load align=1 (local.get $i)) ;; 0.0 '\00\00\00\00\00\00\00\00' - ) - (func (export "64_good3") (param $i i64) (result f64) - (f64.load offset=1 align=1 (local.get $i)) ;; 0.0 '\00\00\00\00\00\00\00\00' - ) - (func (export "64_good4") (param $i i64) (result f64) - (f64.load offset=2 align=2 (local.get $i)) ;; 0.0 '\00\00\00\00\00\00\00\00' - ) - (func (export "64_good5") (param $i i64) (result f64) - (f64.load offset=18 align=8 (local.get $i)) ;; nan:0xc000000000001 '\01\00\00\00\00\00\fc\7f' - ) - (func (export "64_bad") (param $i i64) - (drop (f64.load offset=4294967295 (local.get $i))) - ) -) - -(assert_return (invoke "64_good1" (i64.const 0)) (f64.const 0.0)) -(assert_return (invoke "64_good2" (i64.const 0)) (f64.const 0.0)) -(assert_return (invoke "64_good3" (i64.const 0)) (f64.const 0.0)) -(assert_return (invoke "64_good4" (i64.const 0)) (f64.const 0.0)) -(assert_return (invoke "64_good5" (i64.const 0)) (f64.const nan:0xc000000000001)) - -(assert_return (invoke "64_good1" (i64.const 65510)) (f64.const 0.0)) -(assert_return (invoke "64_good2" (i64.const 65510)) (f64.const 0.0)) -(assert_return (invoke "64_good3" (i64.const 65510)) (f64.const 0.0)) -(assert_return (invoke "64_good4" (i64.const 65510)) (f64.const 0.0)) -(assert_return (invoke "64_good5" (i64.const 65510)) (f64.const 0.0)) - -(assert_return (invoke "64_good1" (i64.const 65511)) (f64.const 0.0)) -(assert_return (invoke "64_good2" (i64.const 65511)) (f64.const 0.0)) -(assert_return (invoke "64_good3" (i64.const 65511)) (f64.const 0.0)) -(assert_return (invoke "64_good4" (i64.const 65511)) (f64.const 0.0)) -(assert_trap (invoke "64_good5" (i64.const 65511)) "out of bounds memory access") - -(assert_trap (invoke "64_bad" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "64_bad" (i64.const 1)) "out of bounds memory access") diff --git a/test/spec/align64.wast b/test/spec/align64.wast deleted file mode 100644 index da34947f6..000000000 --- a/test/spec/align64.wast +++ /dev/null @@ -1,866 +0,0 @@ -;; Test alignment annotation rules - -(module (memory i64 0) (func (drop (i32.load8_s align=1 (i64.const 0))))) -(module (memory i64 0) (func (drop (i32.load8_u align=1 (i64.const 0))))) -(module (memory i64 0) (func (drop (i32.load16_s align=2 (i64.const 0))))) -(module (memory i64 0) (func (drop (i32.load16_u align=2 (i64.const 0))))) -(module (memory i64 0) (func (drop (i32.load align=4 (i64.const 0))))) -(module (memory i64 0) (func (drop (i64.load8_s align=1 (i64.const 0))))) -(module (memory i64 0) (func (drop (i64.load8_u align=1 (i64.const 0))))) -(module (memory i64 0) (func (drop (i64.load16_s align=2 (i64.const 0))))) -(module (memory i64 0) (func (drop (i64.load16_u align=2 (i64.const 0))))) -(module (memory i64 0) (func (drop (i64.load32_s align=4 (i64.const 0))))) -(module (memory i64 0) (func (drop (i64.load32_u align=4 (i64.const 0))))) -(module (memory i64 0) (func (drop (i64.load align=8 (i64.const 0))))) -(module (memory i64 0) (func (drop (f32.load align=4 (i64.const 0))))) -(module (memory i64 0) (func (drop (f64.load align=8 (i64.const 0))))) -(module (memory i64 0) (func (i32.store8 align=1 (i64.const 0) (i32.const 1)))) -(module (memory i64 0) (func (i32.store16 align=2 (i64.const 0) (i32.const 1)))) -(module (memory i64 0) (func (i32.store align=4 (i64.const 0) (i32.const 1)))) -(module (memory i64 0) (func (i64.store8 align=1 (i64.const 0) (i64.const 1)))) -(module (memory i64 0) (func (i64.store16 align=2 (i64.const 0) (i64.const 1)))) -(module (memory i64 0) (func (i64.store32 align=4 (i64.const 0) (i64.const 1)))) -(module (memory i64 0) (func (i64.store align=8 (i64.const 0) (i64.const 1)))) -(module (memory i64 0) (func (f32.store align=4 (i64.const 0) (f32.const 1.0)))) -(module (memory i64 0) (func (f64.store align=8 (i64.const 0) (f64.const 1.0)))) - -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i32.load8_s align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i32.load8_s align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i32.load8_u align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i32.load8_u align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i32.load16_s align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i32.load16_s align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i32.load16_u align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i32.load16_u align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i32.load align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i32.load align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load8_s align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load8_s align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load8_u align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load8_u align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load16_s align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load16_s align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load16_u align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load16_u align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load32_s align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load32_s align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load32_u align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load32_u align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (i64.load align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (f32.load align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (f32.load align=7 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (f64.load align=0 (i64.const 0)))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (drop (f64.load align=7 (i64.const 0)))))" - ) - "alignment" -) - -(assert_malformed - (module quote - "(module (memory i64 0) (func (i32.store8 align=0 (i64.const 0) (i32.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i32.store8 align=7 (i64.const 0) (i32.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i32.store16 align=0 (i64.const 0) (i32.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i32.store16 align=7 (i64.const 0) (i32.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i32.store align=0 (i64.const 0) (i32.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i32.store align=7 (i64.const 0) (i32.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i64.store8 align=0 (i64.const 0) (i64.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i64.store8 align=7 (i64.const 0) (i64.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i64.store16 align=0 (i64.const 0) (i64.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i64.store16 align=7 (i64.const 0) (i64.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i64.store32 align=0 (i64.const 0) (i64.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i64.store32 align=7 (i64.const 0) (i64.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i64.store align=0 (i64.const 0) (i64.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (i64.store align=7 (i64.const 0) (i64.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (f32.store align=0 (i64.const 0) (f32.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (f32.store align=7 (i64.const 0) (f32.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (f64.store align=0 (i64.const 0) (f32.const 0))))" - ) - "alignment" -) -(assert_malformed - (module quote - "(module (memory i64 0) (func (f64.store align=7 (i64.const 0) (f32.const 0))))" - ) - "alignment" -) - -(assert_invalid - (module (memory i64 0) (func (drop (i32.load8_s align=2 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i32.load8_u align=2 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i32.load16_s align=4 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i32.load16_u align=4 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i32.load align=8 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load8_s align=2 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load8_u align=2 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load16_s align=4 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load16_u align=4 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load32_s align=8 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load32_u align=8 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load align=16 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (f32.load align=8 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (f64.load align=16 (i64.const 0))))) - "alignment must not be larger than natural" -) - -(assert_invalid - (module (memory i64 0) (func (drop (i32.load8_s align=2 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i32.load8_u align=2 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i32.load16_s align=4 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i32.load16_u align=4 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i32.load align=8 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load8_s align=2 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load8_u align=2 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load16_s align=4 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load16_u align=4 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load32_s align=8 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load32_u align=8 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (i64.load align=16 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (f32.load align=8 (i64.const 0))))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (drop (f64.load align=16 (i64.const 0))))) - "alignment must not be larger than natural" -) - -(assert_invalid - (module (memory i64 0) (func (i32.store8 align=2 (i64.const 0) (i32.const 0)))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (i32.store16 align=4 (i64.const 0) (i32.const 0)))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (i32.store align=8 (i64.const 0) (i32.const 0)))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (i64.store8 align=2 (i64.const 0) (i64.const 0)))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (i64.store16 align=4 (i64.const 0) (i64.const 0)))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (i64.store32 align=8 (i64.const 0) (i64.const 0)))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (i64.store align=16 (i64.const 0) (i64.const 0)))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (f32.store align=8 (i64.const 0) (f32.const 0)))) - "alignment must not be larger than natural" -) -(assert_invalid - (module (memory i64 0) (func (f64.store align=16 (i64.const 0) (f64.const 0)))) - "alignment must not be larger than natural" -) - -;; Test aligned and unaligned read/write - -(module - (memory i64 1) - - ;; $default: natural alignment, $1: align=1, $2: align=2, $4: align=4, $8: align=8 - - (func (export "f32_align_switch") (param i32) (result f32) - (local f32 f32) - (local.set 1 (f32.const 10.0)) - (block $4 - (block $2 - (block $1 - (block $default - (block $0 - (br_table $0 $default $1 $2 $4 (local.get 0)) - ) ;; 0 - (f32.store (i64.const 0) (local.get 1)) - (local.set 2 (f32.load (i64.const 0))) - (br $4) - ) ;; default - (f32.store align=1 (i64.const 0) (local.get 1)) - (local.set 2 (f32.load align=1 (i64.const 0))) - (br $4) - ) ;; 1 - (f32.store align=2 (i64.const 0) (local.get 1)) - (local.set 2 (f32.load align=2 (i64.const 0))) - (br $4) - ) ;; 2 - (f32.store align=4 (i64.const 0) (local.get 1)) - (local.set 2 (f32.load align=4 (i64.const 0))) - ) ;; 4 - (local.get 2) - ) - - (func (export "f64_align_switch") (param i32) (result f64) - (local f64 f64) - (local.set 1 (f64.const 10.0)) - (block $8 - (block $4 - (block $2 - (block $1 - (block $default - (block $0 - (br_table $0 $default $1 $2 $4 $8 (local.get 0)) - ) ;; 0 - (f64.store (i64.const 0) (local.get 1)) - (local.set 2 (f64.load (i64.const 0))) - (br $8) - ) ;; default - (f64.store align=1 (i64.const 0) (local.get 1)) - (local.set 2 (f64.load align=1 (i64.const 0))) - (br $8) - ) ;; 1 - (f64.store align=2 (i64.const 0) (local.get 1)) - (local.set 2 (f64.load align=2 (i64.const 0))) - (br $8) - ) ;; 2 - (f64.store align=4 (i64.const 0) (local.get 1)) - (local.set 2 (f64.load align=4 (i64.const 0))) - (br $8) - ) ;; 4 - (f64.store align=8 (i64.const 0) (local.get 1)) - (local.set 2 (f64.load align=8 (i64.const 0))) - ) ;; 8 - (local.get 2) - ) - - ;; $8s: i32/i64.load8_s, $8u: i32/i64.load8_u, $16s: i32/i64.load16_s, $16u: i32/i64.load16_u, $32: i32.load - ;; $32s: i64.load32_s, $32u: i64.load32_u, $64: i64.load - - (func (export "i32_align_switch") (param i32 i32) (result i32) - (local i32 i32) - (local.set 2 (i32.const 10)) - (block $32 - (block $16u - (block $16s - (block $8u - (block $8s - (block $0 - (br_table $0 $8s $8u $16s $16u $32 (local.get 0)) - ) ;; 0 - (if (i32.eq (local.get 1) (i32.const 0)) - (then - (i32.store8 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load8_s (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 1)) - (then - (i32.store8 align=1 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load8_s align=1 (i64.const 0))) - ) - ) - (br $32) - ) ;; 8s - (if (i32.eq (local.get 1) (i32.const 0)) - (then - (i32.store8 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load8_u (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 1)) - (then - (i32.store8 align=1 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load8_u align=1 (i64.const 0))) - ) - ) - (br $32) - ) ;; 8u - (if (i32.eq (local.get 1) (i32.const 0)) - (then - (i32.store16 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load16_s (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 1)) - (then - (i32.store16 align=1 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load16_s align=1 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 2)) - (then - (i32.store16 align=2 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load16_s align=2 (i64.const 0))) - ) - ) - (br $32) - ) ;; 16s - (if (i32.eq (local.get 1) (i32.const 0)) - (then - (i32.store16 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load16_u (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 1)) - (then - (i32.store16 align=1 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load16_u align=1 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 2)) - (then - (i32.store16 align=2 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load16_u align=2 (i64.const 0))) - ) - ) - (br $32) - ) ;; 16u - (if (i32.eq (local.get 1) (i32.const 0)) - (then - (i32.store (i64.const 0) (local.get 2)) - (local.set 3 (i32.load (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 1)) - (then - (i32.store align=1 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load align=1 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 2)) - (then - (i32.store align=2 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load align=2 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 4)) - (then - (i32.store align=4 (i64.const 0) (local.get 2)) - (local.set 3 (i32.load align=4 (i64.const 0))) - ) - ) - ) ;; 32 - (local.get 3) - ) - - (func (export "i64_align_switch") (param i32 i32) (result i64) - (local i64 i64) - (local.set 2 (i64.const 10)) - (block $64 - (block $32u - (block $32s - (block $16u - (block $16s - (block $8u - (block $8s - (block $0 - (br_table $0 $8s $8u $16s $16u $32s $32u $64 (local.get 0)) - ) ;; 0 - (if (i32.eq (local.get 1) (i32.const 0)) - (then - (i64.store8 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load8_s (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 1)) - (then - (i64.store8 align=1 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load8_s align=1 (i64.const 0))) - ) - ) - (br $64) - ) ;; 8s - (if (i32.eq (local.get 1) (i32.const 0)) - (then - (i64.store8 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load8_u (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 1)) - (then - (i64.store8 align=1 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load8_u align=1 (i64.const 0))) - ) - ) - (br $64) - ) ;; 8u - (if (i32.eq (local.get 1) (i32.const 0)) - (then - (i64.store16 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load16_s (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 1)) - (then - (i64.store16 align=1 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load16_s align=1 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 2)) - (then - (i64.store16 align=2 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load16_s align=2 (i64.const 0))) - ) - ) - (br $64) - ) ;; 16s - (if (i32.eq (local.get 1) (i32.const 0)) - (then - (i64.store16 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load16_u (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 1)) - (then - (i64.store16 align=1 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load16_u align=1 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 2)) - (then - (i64.store16 align=2 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load16_u align=2 (i64.const 0))) - ) - ) - (br $64) - ) ;; 16u - (if (i32.eq (local.get 1) (i32.const 0)) - (then - (i64.store32 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load32_s (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 1)) - (then - (i64.store32 align=1 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load32_s align=1 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 2)) - (then - (i64.store32 align=2 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load32_s align=2 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 4)) - (then - (i64.store32 align=4 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load32_s align=4 (i64.const 0))) - ) - ) - (br $64) - ) ;; 32s - (if (i32.eq (local.get 1) (i32.const 0)) - (then - (i64.store32 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load32_u (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 1)) - (then - (i64.store32 align=1 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load32_u align=1 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 2)) - (then - (i64.store32 align=2 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load32_u align=2 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 4)) - (then - (i64.store32 align=4 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load32_u align=4 (i64.const 0))) - ) - ) - (br $64) - ) ;; 32u - (if (i32.eq (local.get 1) (i32.const 0)) - (then - (i64.store (i64.const 0) (local.get 2)) - (local.set 3 (i64.load (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 1)) - (then - (i64.store align=1 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load align=1 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 2)) - (then - (i64.store align=2 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load align=2 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 4)) - (then - (i64.store align=4 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load align=4 (i64.const 0))) - ) - ) - (if (i32.eq (local.get 1) (i32.const 8)) - (then - (i64.store align=8 (i64.const 0) (local.get 2)) - (local.set 3 (i64.load align=8 (i64.const 0))) - ) - ) - ) ;; 64 - (local.get 3) - ) -) - -(assert_return (invoke "f32_align_switch" (i32.const 0)) (f32.const 10.0)) -(assert_return (invoke "f32_align_switch" (i32.const 1)) (f32.const 10.0)) -(assert_return (invoke "f32_align_switch" (i32.const 2)) (f32.const 10.0)) -(assert_return (invoke "f32_align_switch" (i32.const 3)) (f32.const 10.0)) - -(assert_return (invoke "f64_align_switch" (i32.const 0)) (f64.const 10.0)) -(assert_return (invoke "f64_align_switch" (i32.const 1)) (f64.const 10.0)) -(assert_return (invoke "f64_align_switch" (i32.const 2)) (f64.const 10.0)) -(assert_return (invoke "f64_align_switch" (i32.const 3)) (f64.const 10.0)) -(assert_return (invoke "f64_align_switch" (i32.const 4)) (f64.const 10.0)) - -(assert_return (invoke "i32_align_switch" (i32.const 0) (i32.const 0)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 0) (i32.const 1)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 1) (i32.const 0)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 1) (i32.const 1)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 2) (i32.const 0)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 2) (i32.const 1)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 2) (i32.const 2)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 3) (i32.const 0)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 3) (i32.const 1)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 3) (i32.const 2)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 4) (i32.const 0)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 4) (i32.const 1)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 4) (i32.const 2)) (i32.const 10)) -(assert_return (invoke "i32_align_switch" (i32.const 4) (i32.const 4)) (i32.const 10)) - -(assert_return (invoke "i64_align_switch" (i32.const 0) (i32.const 0)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 0) (i32.const 1)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 1) (i32.const 0)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 1) (i32.const 1)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 2) (i32.const 0)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 2) (i32.const 1)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 2) (i32.const 2)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 3) (i32.const 0)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 3) (i32.const 1)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 3) (i32.const 2)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 4) (i32.const 0)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 4) (i32.const 1)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 4) (i32.const 2)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 4) (i32.const 4)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 5) (i32.const 0)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 5) (i32.const 1)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 5) (i32.const 2)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 5) (i32.const 4)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 6) (i32.const 0)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 6) (i32.const 1)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 6) (i32.const 2)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 6) (i32.const 4)) (i64.const 10)) -(assert_return (invoke "i64_align_switch" (i32.const 6) (i32.const 8)) (i64.const 10)) - -;; Test that an i64 store with 4-byte alignment that's 4 bytes out of bounds traps without storing anything - -(module - (memory i64 1) - (func (export "store") (param i64 i64) - (i64.store align=4 (local.get 0) (local.get 1)) - ) - (func (export "load") (param i64) (result i32) - (i32.load (local.get 0)) - ) -) - -(assert_trap (invoke "store" (i64.const 65532) (i64.const -1)) "out of bounds memory access") -;; No memory was changed -(assert_return (invoke "load" (i64.const 65532)) (i32.const 0)) diff --git a/test/spec/br.wast b/test/spec/br.wast deleted file mode 100644 index 98a3a34bd..000000000 --- a/test/spec/br.wast +++ /dev/null @@ -1,606 +0,0 @@ -;; Test `br` operator - -(module - ;; Auxiliary definition - (func $dummy) - - (func (export "type-i32") (block (drop (i32.ctz (br 0))))) - (func (export "type-i64") (block (drop (i64.ctz (br 0))))) - (func (export "type-f32") (block (drop (f32.neg (br 0))))) - (func (export "type-f64") (block (drop (f64.neg (br 0))))) - - (func (export "type-i32-value") (result i32) - (block (result i32) (i32.ctz (br 0 (i32.const 1)))) - ) - (func (export "type-i64-value") (result i64) - (block (result i64) (i64.ctz (br 0 (i64.const 2)))) - ) - (func (export "type-f32-value") (result f32) - (block (result f32) (f32.neg (br 0 (f32.const 3)))) - ) - (func (export "type-f64-value") (result f64) - (block (result f64) (f64.neg (br 0 (f64.const 4)))) - ) - - (func (export "as-block-first") - (block (br 0) (call $dummy)) - ) - (func (export "as-block-mid") - (block (call $dummy) (br 0) (call $dummy)) - ) - (func (export "as-block-last") - (block (nop) (call $dummy) (br 0)) - ) - (func (export "as-block-value") (result i32) - (block (result i32) (nop) (call $dummy) (br 0 (i32.const 2))) - ) - - (func (export "as-loop-first") (result i32) - (block (result i32) (loop (result i32) (br 1 (i32.const 3)) (i32.const 2))) - ) - (func (export "as-loop-mid") (result i32) - (block (result i32) - (loop (result i32) (call $dummy) (br 1 (i32.const 4)) (i32.const 2)) - ) - ) - (func (export "as-loop-last") (result i32) - (block (result i32) - (loop (result i32) (nop) (call $dummy) (br 1 (i32.const 5))) - ) - ) - - (func (export "as-br-value") (result i32) - (block (result i32) (br 0 (br 0 (i32.const 9)))) - ) - - (func (export "as-br_if-cond") - (block (br_if 0 (br 0))) - ) - (func (export "as-br_if-value") (result i32) - (block (result i32) - (drop (br_if 0 (br 0 (i32.const 8)) (i32.const 1))) (i32.const 7) - ) - ) - (func (export "as-br_if-value-cond") (result i32) - (block (result i32) - (drop (br_if 0 (i32.const 6) (br 0 (i32.const 9)))) (i32.const 7) - ) - ) - - (func (export "as-br_table-index") - (block (br_table 0 0 0 (br 0))) - ) - (func (export "as-br_table-value") (result i32) - (block (result i32) - (br_table 0 0 0 (br 0 (i32.const 10)) (i32.const 1)) (i32.const 7) - ) - ) - (func (export "as-br_table-value-index") (result i32) - (block (result i32) - (br_table 0 0 (i32.const 6) (br 0 (i32.const 11))) (i32.const 7) - ) - ) - - (func (export "as-return-value") (result i64) - (block (result i64) (return (br 0 (i64.const 7)))) - ) - - (func (export "as-if-cond") (result i32) - (block (result i32) - (if (result i32) (br 0 (i32.const 2)) - (then (i32.const 0)) - (else (i32.const 1)) - ) - ) - ) - (func (export "as-if-then") (param i32 i32) (result i32) - (block (result i32) - (if (result i32) (local.get 0) - (then (br 1 (i32.const 3))) - (else (local.get 1)) - ) - ) - ) - (func (export "as-if-else") (param i32 i32) (result i32) - (block (result i32) - (if (result i32) (local.get 0) - (then (local.get 1)) - (else (br 1 (i32.const 4))) - ) - ) - ) - - (func (export "as-select-first") (param i32 i32) (result i32) - (block (result i32) - (select (br 0 (i32.const 5)) (local.get 0) (local.get 1)) - ) - ) - (func (export "as-select-second") (param i32 i32) (result i32) - (block (result i32) - (select (local.get 0) (br 0 (i32.const 6)) (local.get 1)) - ) - ) - (func (export "as-select-cond") (result i32) - (block (result i32) - (select (i32.const 0) (i32.const 1) (br 0 (i32.const 7))) - ) - ) - - (func $f (param i32 i32 i32) (result i32) (i32.const -1)) - (func (export "as-call-first") (result i32) - (block (result i32) - (call $f (br 0 (i32.const 12)) (i32.const 2) (i32.const 3)) - ) - ) - (func (export "as-call-mid") (result i32) - (block (result i32) - (call $f (i32.const 1) (br 0 (i32.const 13)) (i32.const 3)) - ) - ) - (func (export "as-call-last") (result i32) - (block (result i32) - (call $f (i32.const 1) (i32.const 2) (br 0 (i32.const 14))) - ) - ) - - (type $sig (func (param i32 i32 i32) (result i32))) - (table funcref (elem $f)) - (func (export "as-call_indirect-func") (result i32) - (block (result i32) - (call_indirect (type $sig) - (br 0 (i32.const 20)) - (i32.const 1) (i32.const 2) (i32.const 3) - ) - ) - ) - (func (export "as-call_indirect-first") (result i32) - (block (result i32) - (call_indirect (type $sig) - (i32.const 0) - (br 0 (i32.const 21)) (i32.const 2) (i32.const 3) - ) - ) - ) - (func (export "as-call_indirect-mid") (result i32) - (block (result i32) - (call_indirect (type $sig) - (i32.const 0) - (i32.const 1) (br 0 (i32.const 22)) (i32.const 3) - ) - ) - ) - (func (export "as-call_indirect-last") (result i32) - (block (result i32) - (call_indirect (type $sig) - (i32.const 0) - (i32.const 1) (i32.const 2) (br 0 (i32.const 23)) - ) - ) - ) - - (func (export "as-local.set-value") (result i32) (local f32) - (block (result i32) (local.set 0 (br 0 (i32.const 17))) (i32.const -1)) - ) - (func (export "as-local.tee-value") (result i32) (local i32) - (block (result i32) (local.tee 0 (br 0 (i32.const 1)))) - ) - (global $a (mut i32) (i32.const 10)) - (func (export "as-global.set-value") (result i32) - (block (result i32) (global.set $a (br 0 (i32.const 1)))) - ) - - (memory 1) - (func (export "as-load-address") (result f32) - (block (result f32) (f32.load (br 0 (f32.const 1.7)))) - ) - (func (export "as-loadN-address") (result i64) - (block (result i64) (i64.load8_s (br 0 (i64.const 30)))) - ) - - (func (export "as-store-address") (result i32) - (block (result i32) - (f64.store (br 0 (i32.const 30)) (f64.const 7)) (i32.const -1) - ) - ) - (func (export "as-store-value") (result i32) - (block (result i32) - (i64.store (i32.const 2) (br 0 (i32.const 31))) (i32.const -1) - ) - ) - - (func (export "as-storeN-address") (result i32) - (block (result i32) - (i32.store8 (br 0 (i32.const 32)) (i32.const 7)) (i32.const -1) - ) - ) - (func (export "as-storeN-value") (result i32) - (block (result i32) - (i64.store16 (i32.const 2) (br 0 (i32.const 33))) (i32.const -1) - ) - ) - - (func (export "as-unary-operand") (result f32) - (block (result f32) (f32.neg (br 0 (f32.const 3.4)))) - ) - - (func (export "as-binary-left") (result i32) - (block (result i32) (i32.add (br 0 (i32.const 3)) (i32.const 10))) - ) - (func (export "as-binary-right") (result i64) - (block (result i64) (i64.sub (i64.const 10) (br 0 (i64.const 45)))) - ) - - (func (export "as-test-operand") (result i32) - (block (result i32) (i32.eqz (br 0 (i32.const 44)))) - ) - - (func (export "as-compare-left") (result i32) - (block (result i32) (f64.le (br 0 (i32.const 43)) (f64.const 10))) - ) - (func (export "as-compare-right") (result i32) - (block (result i32) (f32.ne (f32.const 10) (br 0 (i32.const 42)))) - ) - - (func (export "as-convert-operand") (result i32) - (block (result i32) (i32.wrap_i64 (br 0 (i32.const 41)))) - ) - - (func (export "as-memory.grow-size") (result i32) - (block (result i32) (memory.grow (br 0 (i32.const 40)))) - ) - - (func (export "nested-block-value") (result i32) - (i32.add - (i32.const 1) - (block (result i32) - (call $dummy) - (i32.add (i32.const 4) (br 0 (i32.const 8))) - ) - ) - ) - - (func (export "nested-br-value") (result i32) - (i32.add - (i32.const 1) - (block (result i32) - (drop (i32.const 2)) - (drop - (block (result i32) - (drop (i32.const 4)) - (br 0 (br 1 (i32.const 8))) - ) - ) - (i32.const 16) - ) - ) - ) - - (func (export "nested-br_if-value") (result i32) - (i32.add - (i32.const 1) - (block (result i32) - (drop (i32.const 2)) - (drop - (block (result i32) - (drop (i32.const 4)) - (drop (br_if 0 (br 1 (i32.const 8)) (i32.const 1))) - (i32.const 32) - ) - ) - (i32.const 16) - ) - ) - ) - - (func (export "nested-br_if-value-cond") (result i32) - (i32.add - (i32.const 1) - (block (result i32) - (drop (i32.const 2)) - (drop (br_if 0 (i32.const 4) (br 0 (i32.const 8)))) - (i32.const 16) - ) - ) - ) - - (func (export "nested-br_table-value") (result i32) - (i32.add - (i32.const 1) - (block (result i32) - (drop (i32.const 2)) - (drop - (block (result i32) - (drop (i32.const 4)) - (br_table 0 (br 1 (i32.const 8)) (i32.const 1)) - ) - ) - (i32.const 16) - ) - ) - ) - - (func (export "nested-br_table-value-index") (result i32) - (i32.add - (i32.const 1) - (block (result i32) - (drop (i32.const 2)) - (br_table 0 (i32.const 4) (br 0 (i32.const 8))) - (i32.const 16) - ) - ) - ) -) - -(assert_return (invoke "type-i32")) -(assert_return (invoke "type-i64")) -(assert_return (invoke "type-f32")) -(assert_return (invoke "type-f64")) - -(assert_return (invoke "type-i32-value") (i32.const 1)) -(assert_return (invoke "type-i64-value") (i64.const 2)) -(assert_return (invoke "type-f32-value") (f32.const 3)) -(assert_return (invoke "type-f64-value") (f64.const 4)) - -(assert_return (invoke "as-block-first")) -(assert_return (invoke "as-block-mid")) -(assert_return (invoke "as-block-last")) -(assert_return (invoke "as-block-value") (i32.const 2)) - -(assert_return (invoke "as-loop-first") (i32.const 3)) -(assert_return (invoke "as-loop-mid") (i32.const 4)) -(assert_return (invoke "as-loop-last") (i32.const 5)) - -(assert_return (invoke "as-br-value") (i32.const 9)) - -(assert_return (invoke "as-br_if-cond")) -(assert_return (invoke "as-br_if-value") (i32.const 8)) -(assert_return (invoke "as-br_if-value-cond") (i32.const 9)) - -(assert_return (invoke "as-br_table-index")) -(assert_return (invoke "as-br_table-value") (i32.const 10)) -(assert_return (invoke "as-br_table-value-index") (i32.const 11)) - -(assert_return (invoke "as-return-value") (i64.const 7)) - -(assert_return (invoke "as-if-cond") (i32.const 2)) -(assert_return (invoke "as-if-then" (i32.const 1) (i32.const 6)) (i32.const 3)) -(assert_return (invoke "as-if-then" (i32.const 0) (i32.const 6)) (i32.const 6)) -(assert_return (invoke "as-if-else" (i32.const 0) (i32.const 6)) (i32.const 4)) -(assert_return (invoke "as-if-else" (i32.const 1) (i32.const 6)) (i32.const 6)) - -(assert_return (invoke "as-select-first" (i32.const 0) (i32.const 6)) (i32.const 5)) -(assert_return (invoke "as-select-first" (i32.const 1) (i32.const 6)) (i32.const 5)) -(assert_return (invoke "as-select-second" (i32.const 0) (i32.const 6)) (i32.const 6)) -(assert_return (invoke "as-select-second" (i32.const 1) (i32.const 6)) (i32.const 6)) -(assert_return (invoke "as-select-cond") (i32.const 7)) - -(assert_return (invoke "as-call-first") (i32.const 12)) -(assert_return (invoke "as-call-mid") (i32.const 13)) -(assert_return (invoke "as-call-last") (i32.const 14)) - -(assert_return (invoke "as-call_indirect-func") (i32.const 20)) -(assert_return (invoke "as-call_indirect-first") (i32.const 21)) -(assert_return (invoke "as-call_indirect-mid") (i32.const 22)) -(assert_return (invoke "as-call_indirect-last") (i32.const 23)) - -(assert_return (invoke "as-local.set-value") (i32.const 17)) -(assert_return (invoke "as-local.tee-value") (i32.const 1)) -(assert_return (invoke "as-global.set-value") (i32.const 1)) - -(assert_return (invoke "as-load-address") (f32.const 1.7)) -(assert_return (invoke "as-loadN-address") (i64.const 30)) - -(assert_return (invoke "as-store-address") (i32.const 30)) -(assert_return (invoke "as-store-value") (i32.const 31)) -(assert_return (invoke "as-storeN-address") (i32.const 32)) -(assert_return (invoke "as-storeN-value") (i32.const 33)) - -(assert_return (invoke "as-unary-operand") (f32.const 3.4)) - -(assert_return (invoke "as-binary-left") (i32.const 3)) -(assert_return (invoke "as-binary-right") (i64.const 45)) - -(assert_return (invoke "as-test-operand") (i32.const 44)) - -(assert_return (invoke "as-compare-left") (i32.const 43)) -(assert_return (invoke "as-compare-right") (i32.const 42)) - -(assert_return (invoke "as-convert-operand") (i32.const 41)) - -(assert_return (invoke "as-memory.grow-size") (i32.const 40)) - -(assert_return (invoke "nested-block-value") (i32.const 9)) -(assert_return (invoke "nested-br-value") (i32.const 9)) -(assert_return (invoke "nested-br_if-value") (i32.const 9)) -(assert_return (invoke "nested-br_if-value-cond") (i32.const 9)) -(assert_return (invoke "nested-br_table-value") (i32.const 9)) -(assert_return (invoke "nested-br_table-value-index") (i32.const 9)) - -(assert_invalid - (module (func $type-arg-empty-vs-num (result i32) - (block (result i32) (br 0) (i32.const 1)) - )) - "type mismatch" -) - -(assert_invalid - (module (func $type-arg-void-vs-num (result i32) - (block (result i32) (br 0 (nop)) (i32.const 1)) - )) - "type mismatch" -) -(assert_invalid - (module (func $type-arg-void-vs-num-nested (result i32) - (block (result i32) (i32.const 0) (block (br 1))) - )) - "type mismatch" -) -(assert_invalid - (module (func $type-arg-num-vs-num (result i32) - (block (result i32) (br 0 (i64.const 1)) (i32.const 1)) - )) - "type mismatch" -) - -(assert_invalid - (module - (func $type-arg-empty-in-br - (i32.const 0) - (block (result i32) (br 0 (br 0))) (i32.eqz) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-arg-empty-in-br_if - (i32.const 0) - (block (result i32) (br_if 0 (br 0) (i32.const 1))) (i32.eqz) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-arg-empty-in-br_table - (i32.const 0) - (block (result i32) (br_table 0 (br 0))) (i32.eqz) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-arg-empty-in-return - (block (result i32) - (return (br 0)) - ) - (i32.eqz) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-arg-empty-in-select - (block (result i32) - (select (br 0) (i32.const 1) (i32.const 2)) - ) - (i32.eqz) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-arg-empty-in-call - (block (result i32) - (call 1 (br 0)) - ) - (i32.eqz) (drop) - ) - (func (param i32) (result i32) (local.get 0)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $f (param i32) (result i32) (local.get 0)) - (type $sig (func (param i32) (result i32))) - (table funcref (elem $f)) - (func $type-arg-empty-in-call_indirect - (block (result i32) - (call_indirect (type $sig) - (br 0) (i32.const 0) - ) - ) - (i32.eqz) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-arg-empty-in-local.set - (local i32) - (block (result i32) - (local.set 0 (br 0)) (local.get 0) - ) - (i32.eqz) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-arg-empty-in-local.tee - (local i32) - (block (result i32) - (local.tee 0 (br 0)) - ) - (i32.eqz) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (global $x (mut i32) (i32.const 0)) - (func $type-arg-empty-in-global.set - (block (result i32) - (global.set $x (br 0)) (global.get $x) - ) - (i32.eqz) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-arg-empty-in-memory.grow - (block (result i32) - (memory.grow (br 0)) - ) - (i32.eqz) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-arg-empty-in-load - (block (result i32) - (i32.load (br 0)) - ) - (i32.eqz) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-arg-empty-in-store - (block (result i32) - (i32.store (br 0) (i32.const 0)) - ) - (i32.eqz) (drop) - ) - ) - "type mismatch" -) - -(assert_invalid - (module (func $unbound-label (br 1))) - "unknown label" -) -(assert_invalid - (module (func $unbound-nested-label (block (block (br 5))))) - "unknown label" -) -(assert_invalid - (module (func $large-label (br 0x10000001))) - "unknown label" -) diff --git a/test/spec/call.wast b/test/spec/call.wast deleted file mode 100644 index 4d0f1a7c2..000000000 --- a/test/spec/call.wast +++ /dev/null @@ -1,463 +0,0 @@ -;; Test `call` operator - -(module - ;; Auxiliary definitions - (func $const-i32 (result i32) (i32.const 0x132)) - (func $const-i64 (result i64) (i64.const 0x164)) - (func $const-f32 (result f32) (f32.const 0xf32)) - (func $const-f64 (result f64) (f64.const 0xf64)) - - (func $id-i32 (param i32) (result i32) (local.get 0)) - (func $id-i64 (param i64) (result i64) (local.get 0)) - (func $id-f32 (param f32) (result f32) (local.get 0)) - (func $id-f64 (param f64) (result f64) (local.get 0)) - - (func $f32-i32 (param f32 i32) (result i32) (local.get 1)) - (func $i32-i64 (param i32 i64) (result i64) (local.get 1)) - (func $f64-f32 (param f64 f32) (result f32) (local.get 1)) - (func $i64-f64 (param i64 f64) (result f64) (local.get 1)) - - ;; Typing - - (func (export "type-i32") (result i32) (call $const-i32)) - (func (export "type-i64") (result i64) (call $const-i64)) - (func (export "type-f32") (result f32) (call $const-f32)) - (func (export "type-f64") (result f64) (call $const-f64)) - - (func (export "type-first-i32") (result i32) (call $id-i32 (i32.const 32))) - (func (export "type-first-i64") (result i64) (call $id-i64 (i64.const 64))) - (func (export "type-first-f32") (result f32) (call $id-f32 (f32.const 1.32))) - (func (export "type-first-f64") (result f64) (call $id-f64 (f64.const 1.64))) - - (func (export "type-second-i32") (result i32) - (call $f32-i32 (f32.const 32.1) (i32.const 32)) - ) - (func (export "type-second-i64") (result i64) - (call $i32-i64 (i32.const 32) (i64.const 64)) - ) - (func (export "type-second-f32") (result f32) - (call $f64-f32 (f64.const 64) (f32.const 32)) - ) - (func (export "type-second-f64") (result f64) - (call $i64-f64 (i64.const 64) (f64.const 64.1)) - ) - - ;; Recursion - - (func $fac (export "fac") (param i64) (result i64) - (if (result i64) (i64.eqz (local.get 0)) - (then (i64.const 1)) - (else - (i64.mul - (local.get 0) - (call $fac (i64.sub (local.get 0) (i64.const 1))) - ) - ) - ) - ) - - (func $fac-acc (export "fac-acc") (param i64 i64) (result i64) - (if (result i64) (i64.eqz (local.get 0)) - (then (local.get 1)) - (else - (call $fac-acc - (i64.sub (local.get 0) (i64.const 1)) - (i64.mul (local.get 0) (local.get 1)) - ) - ) - ) - ) - - (func $fib (export "fib") (param i64) (result i64) - (if (result i64) (i64.le_u (local.get 0) (i64.const 1)) - (then (i64.const 1)) - (else - (i64.add - (call $fib (i64.sub (local.get 0) (i64.const 2))) - (call $fib (i64.sub (local.get 0) (i64.const 1))) - ) - ) - ) - ) - - (func $even (export "even") (param i64) (result i32) - (if (result i32) (i64.eqz (local.get 0)) - (then (i32.const 44)) - (else (call $odd (i64.sub (local.get 0) (i64.const 1)))) - ) - ) - (func $odd (export "odd") (param i64) (result i32) - (if (result i32) (i64.eqz (local.get 0)) - (then (i32.const 99)) - (else (call $even (i64.sub (local.get 0) (i64.const 1)))) - ) - ) - - ;; Stack exhaustion - - ;; Implementations are required to have every call consume some abstract - ;; resource towards exhausting some abstract finite limit, such that - ;; infinitely recursive test cases reliably trap in finite time. This is - ;; because otherwise applications could come to depend on it on those - ;; implementations and be incompatible with implementations that don't do - ;; it (or don't do it under the same circumstances). - - (func $runaway (export "runaway") (call $runaway)) - - (func $mutual-runaway1 (export "mutual-runaway") (call $mutual-runaway2)) - (func $mutual-runaway2 (call $mutual-runaway1)) - - ;; As parameter of control constructs and instructions - - (memory 1) - - (func (export "as-select-first") (result i32) - (select (call $const-i32) (i32.const 2) (i32.const 3)) - ) - (func (export "as-select-mid") (result i32) - (select (i32.const 2) (call $const-i32) (i32.const 3)) - ) - (func (export "as-select-last") (result i32) - (select (i32.const 2) (i32.const 3) (call $const-i32)) - ) - - (func (export "as-if-condition") (result i32) - (if (result i32) (call $const-i32) (then (i32.const 1)) (else (i32.const 2))) - ) - - (func (export "as-br_if-first") (result i32) - (block (result i32) (br_if 0 (call $const-i32) (i32.const 2))) - ) - (func (export "as-br_if-last") (result i32) - (block (result i32) (br_if 0 (i32.const 2) (call $const-i32))) - ) - - (func (export "as-br_table-first") (result i32) - (block (result i32) (call $const-i32) (i32.const 2) (br_table 0 0)) - ) - (func (export "as-br_table-last") (result i32) - (block (result i32) (i32.const 2) (call $const-i32) (br_table 0 0)) - ) - - (func $func (param i32 i32) (result i32) (local.get 0)) - (type $check (func (param i32 i32) (result i32))) - (table funcref (elem $func)) - (func (export "as-call_indirect-first") (result i32) - (block (result i32) - (call_indirect (type $check) - (call $const-i32) (i32.const 2) (i32.const 0) - ) - ) - ) - (func (export "as-call_indirect-mid") (result i32) - (block (result i32) - (call_indirect (type $check) - (i32.const 2) (call $const-i32) (i32.const 0) - ) - ) - ) - (func (export "as-call_indirect-last") (result i32) - (block (result i32) - (call_indirect (type $check) - (i32.const 1) (i32.const 2) (call $const-i32) - ) - ) - ) - - (func (export "as-store-first") - (call $const-i32) (i32.const 1) (i32.store) - ) - (func (export "as-store-last") - (i32.const 10) (call $const-i32) (i32.store) - ) - - (func (export "as-memory.grow-value") (result i32) - (memory.grow (call $const-i32)) - ) - (func (export "as-return-value") (result i32) - (call $const-i32) (return) - ) - (func (export "as-drop-operand") - (call $const-i32) (drop) - ) - (func (export "as-br-value") (result i32) - (block (result i32) (br 0 (call $const-i32))) - ) - (func (export "as-local.set-value") (result i32) - (local i32) (local.set 0 (call $const-i32)) (local.get 0) - ) - (func (export "as-local.tee-value") (result i32) - (local i32) (local.tee 0 (call $const-i32)) - ) - (global $a (mut i32) (i32.const 10)) - (func (export "as-global.set-value") (result i32) - (global.set $a (call $const-i32)) - (global.get $a) - ) - (func (export "as-load-operand") (result i32) - (i32.load (call $const-i32)) - ) - - (func $dummy (param i32) (result i32) (local.get 0)) - (func $du (param f32) (result f32) (local.get 0)) - (func (export "as-unary-operand") (result f32) - (block (result f32) (f32.sqrt (call $du (f32.const 0x0p+0)))) - ) - - (func (export "as-binary-left") (result i32) - (block (result i32) (i32.add (call $dummy (i32.const 1)) (i32.const 10))) - ) - (func (export "as-binary-right") (result i32) - (block (result i32) (i32.sub (i32.const 10) (call $dummy (i32.const 1)))) - ) - - (func (export "as-test-operand") (result i32) - (block (result i32) (i32.eqz (call $dummy (i32.const 1)))) - ) - - (func (export "as-compare-left") (result i32) - (block (result i32) (i32.le_u (call $dummy (i32.const 1)) (i32.const 10))) - ) - (func (export "as-compare-right") (result i32) - (block (result i32) (i32.ne (i32.const 10) (call $dummy (i32.const 1)))) - ) - - (func (export "as-convert-operand") (result i64) - (block (result i64) (i64.extend_i32_s (call $dummy (i32.const 1)))) - ) - - ;; Test correct argument passing - - (func $return-from-long-argument-list-helper (param f32 i32 i32 f64 f32 f32 f32 f64 f32 i32 i32 f32 f64 i64 i64 i32 i64 i64 f32 i64 i64 i64 i32 f32 f32 f32 f64 f32 i32 i64 f32 f64 f64 f32 i32 f32 f32 f64 i64 f64 i32 i64 f32 f64 i32 i32 i32 i64 f64 i32 i64 i64 f64 f64 f64 f64 f64 f64 i32 f32 f64 f64 i32 i64 f32 f32 f32 i32 f64 f64 f64 f64 f64 f32 i64 i64 i32 i32 i32 f32 f64 i32 i64 f32 f32 f32 i32 i32 f32 f64 i64 f32 f64 f32 f32 f32 i32 f32 i64 i32) (result i32) - (local.get 99) - ) - - (func (export "return-from-long-argument-list") (param i32) (result i32) - (call $return-from-long-argument-list-helper (f32.const 0) (i32.const 0) (i32.const 0) (f64.const 0) (f32.const 0) (f32.const 0) (f32.const 0) (f64.const 0) (f32.const 0) (i32.const 0) (i32.const 0) (f32.const 0) (f64.const 0) (i64.const 0) (i64.const 0) (i32.const 0) (i64.const 0) (i64.const 0) (f32.const 0) (i64.const 0) (i64.const 0) (i64.const 0) (i32.const 0) (f32.const 0) (f32.const 0) (f32.const 0) (f64.const 0) (f32.const 0) (i32.const 0) (i64.const 0) (f32.const 0) (f64.const 0) (f64.const 0) (f32.const 0) (i32.const 0) (f32.const 0) (f32.const 0) (f64.const 0) (i64.const 0) (f64.const 0) (i32.const 0) (i64.const 0) (f32.const 0) (f64.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i64.const 0) (f64.const 0) (i32.const 0) (i64.const 0) (i64.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (i32.const 0) (f32.const 0) (f64.const 0) (f64.const 0) (i32.const 0) (i64.const 0) (f32.const 0) (f32.const 0) (f32.const 0) (i32.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (f64.const 0) (f32.const 0) (i64.const 0) (i64.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (f32.const 0) (f64.const 0) (i32.const 0) (i64.const 0) (f32.const 0) (f32.const 0) (f32.const 0) (i32.const 0) (i32.const 0) (f32.const 0) (f64.const 0) (i64.const 0) (f32.const 0) (f64.const 0) (f32.const 0) (f32.const 0) (f32.const 0) (i32.const 0) (f32.const 0) (i64.const 0) (local.get 0)) - ) -) - -(assert_return (invoke "type-i32") (i32.const 0x132)) -(assert_return (invoke "type-i64") (i64.const 0x164)) -(assert_return (invoke "type-f32") (f32.const 0xf32)) -(assert_return (invoke "type-f64") (f64.const 0xf64)) - -(assert_return (invoke "type-first-i32") (i32.const 32)) -(assert_return (invoke "type-first-i64") (i64.const 64)) -(assert_return (invoke "type-first-f32") (f32.const 1.32)) -(assert_return (invoke "type-first-f64") (f64.const 1.64)) - -(assert_return (invoke "type-second-i32") (i32.const 32)) -(assert_return (invoke "type-second-i64") (i64.const 64)) -(assert_return (invoke "type-second-f32") (f32.const 32)) -(assert_return (invoke "type-second-f64") (f64.const 64.1)) - -(assert_return (invoke "fac" (i64.const 0)) (i64.const 1)) -(assert_return (invoke "fac" (i64.const 1)) (i64.const 1)) -(assert_return (invoke "fac" (i64.const 5)) (i64.const 120)) -(assert_return (invoke "fac" (i64.const 25)) (i64.const 7034535277573963776)) -(assert_return (invoke "fac-acc" (i64.const 0) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "fac-acc" (i64.const 1) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "fac-acc" (i64.const 5) (i64.const 1)) (i64.const 120)) -(assert_return - (invoke "fac-acc" (i64.const 25) (i64.const 1)) - (i64.const 7034535277573963776) -) - -(assert_return (invoke "fib" (i64.const 0)) (i64.const 1)) -(assert_return (invoke "fib" (i64.const 1)) (i64.const 1)) -(assert_return (invoke "fib" (i64.const 2)) (i64.const 2)) -(assert_return (invoke "fib" (i64.const 5)) (i64.const 8)) -(assert_return (invoke "fib" (i64.const 20)) (i64.const 10946)) - -(assert_return (invoke "even" (i64.const 0)) (i32.const 44)) -(assert_return (invoke "even" (i64.const 1)) (i32.const 99)) -(assert_return (invoke "even" (i64.const 100)) (i32.const 44)) -(assert_return (invoke "even" (i64.const 77)) (i32.const 99)) -(assert_return (invoke "odd" (i64.const 0)) (i32.const 99)) -(assert_return (invoke "odd" (i64.const 1)) (i32.const 44)) -(assert_return (invoke "odd" (i64.const 200)) (i32.const 99)) -(assert_return (invoke "odd" (i64.const 77)) (i32.const 44)) - -(assert_exhaustion (invoke "runaway") "call stack exhausted") -(assert_exhaustion (invoke "mutual-runaway") "call stack exhausted") - -(assert_return (invoke "as-select-first") (i32.const 0x132)) -(assert_return (invoke "as-select-mid") (i32.const 2)) -(assert_return (invoke "as-select-last") (i32.const 2)) - -(assert_return (invoke "as-if-condition") (i32.const 1)) - -(assert_return (invoke "as-br_if-first") (i32.const 0x132)) -(assert_return (invoke "as-br_if-last") (i32.const 2)) - -(assert_return (invoke "as-br_table-first") (i32.const 0x132)) -(assert_return (invoke "as-br_table-last") (i32.const 2)) - -(assert_return (invoke "as-call_indirect-first") (i32.const 0x132)) -(assert_return (invoke "as-call_indirect-mid") (i32.const 2)) -(assert_trap (invoke "as-call_indirect-last") "undefined element") - -(assert_return (invoke "as-store-first")) -(assert_return (invoke "as-store-last")) - -(assert_return (invoke "as-memory.grow-value") (i32.const 1)) -(assert_return (invoke "as-return-value") (i32.const 0x132)) -(assert_return (invoke "as-drop-operand")) -(assert_return (invoke "as-br-value") (i32.const 0x132)) -(assert_return (invoke "as-local.set-value") (i32.const 0x132)) -(assert_return (invoke "as-local.tee-value") (i32.const 0x132)) -(assert_return (invoke "as-global.set-value") (i32.const 0x132)) -(assert_return (invoke "as-load-operand") (i32.const 1)) - -(assert_return (invoke "as-unary-operand") (f32.const 0x0p+0)) -(assert_return (invoke "as-binary-left") (i32.const 11)) -(assert_return (invoke "as-binary-right") (i32.const 9)) -(assert_return (invoke "as-test-operand") (i32.const 0)) -(assert_return (invoke "as-compare-left") (i32.const 1)) -(assert_return (invoke "as-compare-right") (i32.const 1)) -(assert_return (invoke "as-convert-operand") (i64.const 1)) - -(assert_return (invoke "return-from-long-argument-list" (i32.const 42)) (i32.const 42)) - -;; Invalid typing - -(assert_invalid - (module - (func $type-void-vs-num (i32.eqz (call 1))) - (func) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-num-vs-num (i32.eqz (call 1))) - (func (result i64) (i64.const 1)) - ) - "type mismatch" -) - -(assert_invalid - (module - (func $arity-0-vs-1 (call 1)) - (func (param i32)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $arity-0-vs-2 (call 1)) - (func (param f64 i32)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $arity-1-vs-0 (call 1 (i32.const 1))) - (func) - ) - "type mismatch" -) -(assert_invalid - (module - (func $arity-2-vs-0 (call 1 (f64.const 2) (i32.const 1))) - (func) - ) - "type mismatch" -) - -(assert_invalid - (module - (func $type-first-void-vs-num (call 1 (nop) (i32.const 1))) - (func (param i32 i32)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-second-void-vs-num (call 1 (i32.const 1) (nop))) - (func (param i32 i32)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-first-num-vs-num (call 1 (f64.const 1) (i32.const 1))) - (func (param i32 f64)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-second-num-vs-num (call 1 (i32.const 1) (f64.const 1))) - (func (param f64 i32)) - ) - "type mismatch" -) - -(assert_invalid - (module - (func $type-first-empty-in-block - (block (call 1)) - ) - (func (param i32)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-second-empty-in-block - (block (call 1 (i32.const 0))) - ) - (func (param i32 i32)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-first-empty-in-loop - (loop (call 1)) - ) - (func (param i32)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-second-empty-in-loop - (loop (call 1 (i32.const 0))) - ) - (func (param i32 i32)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-first-empty-in-then - (if (i32.const 0) (then (call 1))) - ) - (func (param i32)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-second-empty-in-then - (if (i32.const 0) (then (call 1 (i32.const 0)))) - ) - (func (param i32 i32)) - ) - "type mismatch" -) - - -;; Unbound function - -(assert_invalid - (module (func $unbound-func (call 1))) - "unknown function" -) -(assert_invalid - (module (func $large-func (call 1012321300))) - "unknown function" -) diff --git a/test/spec/call_ref.wast b/test/spec/call_ref.wast deleted file mode 100644 index 071aa8bbf..000000000 --- a/test/spec/call_ref.wast +++ /dev/null @@ -1,136 +0,0 @@ -(module - (type $ii (func (param i32) (result i32))) - - (func $apply (param $f (ref $ii)) (param $x i32) (result i32) - (call_ref $ii (local.get $x) (local.get $f)) - ) - - (func $f (type $ii) (i32.mul (local.get 0) (local.get 0))) - (func $g (type $ii) (i32.sub (i32.const 0) (local.get 0))) - - (elem declare func $f $g) - - (func (export "run") (param $x i32) (result i32) - (local $rf (ref null $ii)) - (local $rg (ref null $ii)) - (local.set $rf (ref.func $f)) - (local.set $rg (ref.func $g)) - (call_ref $ii (call_ref $ii (local.get $x) (local.get $rf)) (local.get $rg)) - ) - - (func (export "null") (result i32) - (call_ref $ii (i32.const 1) (ref.null $ii)) - ) - - ;; Recursion - - (type $ll (func (param i64) (result i64))) - (type $lll (func (param i64 i64) (result i64))) - - (elem declare func $fac) - (global $fac (ref $ll) (ref.func $fac)) - - (func $fac (export "fac") (type $ll) - (if (result i64) (i64.eqz (local.get 0)) - (then (i64.const 1)) - (else - (i64.mul - (local.get 0) - (call_ref $ll (i64.sub (local.get 0) (i64.const 1)) (global.get $fac)) - ) - ) - ) - ) - - (elem declare func $fac-acc) - (global $fac-acc (ref $lll) (ref.func $fac-acc)) - - (func $fac-acc (export "fac-acc") (type $lll) - (if (result i64) (i64.eqz (local.get 0)) - (then (local.get 1)) - (else - (call_ref $lll - (i64.sub (local.get 0) (i64.const 1)) - (i64.mul (local.get 0) (local.get 1)) - (global.get $fac-acc) - ) - ) - ) - ) - - (elem declare func $fib) - (global $fib (ref $ll) (ref.func $fib)) - - (func $fib (export "fib") (type $ll) - (if (result i64) (i64.le_u (local.get 0) (i64.const 1)) - (then (i64.const 1)) - (else - (i64.add - (call_ref $ll (i64.sub (local.get 0) (i64.const 2)) (global.get $fib)) - (call_ref $ll (i64.sub (local.get 0) (i64.const 1)) (global.get $fib)) - ) - ) - ) - ) - - (elem declare func $even $odd) - (global $even (ref $ll) (ref.func $even)) - (global $odd (ref $ll) (ref.func $odd)) - - (func $even (export "even") (type $ll) - (if (result i64) (i64.eqz (local.get 0)) - (then (i64.const 44)) - (else (call_ref $ll (i64.sub (local.get 0) (i64.const 1)) (global.get $odd))) - ) - ) - (func $odd (export "odd") (type $ll) - (if (result i64) (i64.eqz (local.get 0)) - (then (i64.const 99)) - (else (call_ref $ll (i64.sub (local.get 0) (i64.const 1)) (global.get $even))) - ) - ) -) - -(assert_return (invoke "run" (i32.const 0)) (i32.const 0)) -(assert_return (invoke "run" (i32.const 3)) (i32.const -9)) - -(assert_trap (invoke "null") "null function") - -(assert_return (invoke "fac" (i64.const 0)) (i64.const 1)) -(assert_return (invoke "fac" (i64.const 1)) (i64.const 1)) -(assert_return (invoke "fac" (i64.const 5)) (i64.const 120)) -(assert_return (invoke "fac" (i64.const 25)) (i64.const 7034535277573963776)) -(assert_return (invoke "fac-acc" (i64.const 0) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "fac-acc" (i64.const 1) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "fac-acc" (i64.const 5) (i64.const 1)) (i64.const 120)) -(assert_return - (invoke "fac-acc" (i64.const 25) (i64.const 1)) - (i64.const 7034535277573963776) -) - -(assert_return (invoke "fib" (i64.const 0)) (i64.const 1)) -(assert_return (invoke "fib" (i64.const 1)) (i64.const 1)) -(assert_return (invoke "fib" (i64.const 2)) (i64.const 2)) -(assert_return (invoke "fib" (i64.const 5)) (i64.const 8)) -(assert_return (invoke "fib" (i64.const 20)) (i64.const 10946)) - -(assert_return (invoke "even" (i64.const 0)) (i64.const 44)) -(assert_return (invoke "even" (i64.const 1)) (i64.const 99)) -(assert_return (invoke "even" (i64.const 100)) (i64.const 44)) -(assert_return (invoke "even" (i64.const 77)) (i64.const 99)) -(assert_return (invoke "odd" (i64.const 0)) (i64.const 99)) -(assert_return (invoke "odd" (i64.const 1)) (i64.const 44)) -(assert_return (invoke "odd" (i64.const 200)) (i64.const 99)) -(assert_return (invoke "odd" (i64.const 77)) (i64.const 44)) - - - -(assert_invalid - (module - (type $t (func)) - (func $f (param $r externref) - (call_ref $t (local.get $r)) - ) - ) - "type mismatch" -) diff --git a/test/spec/custom.wast b/test/spec/custom.wast deleted file mode 100644 index fb04f2f6b..000000000 --- a/test/spec/custom.wast +++ /dev/null @@ -1,120 +0,0 @@ -(module binary - "\00asm" "\01\00\00\00" - "\00\24\10" "a custom section" "this is the payload" - "\00\20\10" "a custom section" "this is payload" - "\00\11\10" "a custom section" "" - "\00\10\00" "" "this is payload" - "\00\01\00" "" "" - "\00\24\10" "\00\00custom sectio\00" "this is the payload" - "\00\24\10" "\ef\bb\bfa custom sect" "this is the payload" - "\00\24\10" "a custom sect\e2\8c\a3" "this is the payload" - "\00\1f\16" "module within a module" "\00asm" "\01\00\00\00" -) - -(module binary - "\00asm" "\01\00\00\00" - "\00\0e\06" "custom" "payload" - "\00\0e\06" "custom" "payload" - "\01\01\00" ;; type section - "\00\0e\06" "custom" "payload" - "\00\0e\06" "custom" "payload" - "\02\01\00" ;; import section - "\00\0e\06" "custom" "payload" - "\00\0e\06" "custom" "payload" - "\03\01\00" ;; function section - "\00\0e\06" "custom" "payload" - "\00\0e\06" "custom" "payload" - "\04\01\00" ;; table section - "\00\0e\06" "custom" "payload" - "\00\0e\06" "custom" "payload" - "\05\01\00" ;; memory section - "\00\0e\06" "custom" "payload" - "\00\0e\06" "custom" "payload" - "\06\01\00" ;; global section - "\00\0e\06" "custom" "payload" - "\00\0e\06" "custom" "payload" - "\07\01\00" ;; export section - "\00\0e\06" "custom" "payload" - "\00\0e\06" "custom" "payload" - "\09\01\00" ;; element section - "\00\0e\06" "custom" "payload" - "\00\0e\06" "custom" "payload" - "\0a\01\00" ;; code section - "\00\0e\06" "custom" "payload" - "\00\0e\06" "custom" "payload" - "\0b\01\00" ;; data section - "\00\0e\06" "custom" "payload" - "\00\0e\06" "custom" "payload" -) - -(module binary - "\00asm" "\01\00\00\00" - "\01\07\01\60\02\7f\7f\01\7f" ;; type section - "\00\1a\06" "custom" "this is the payload" ;; custom section - "\03\02\01\00" ;; function section - "\07\0a\01\06\61\64\64\54\77\6f\00\00" ;; export section - "\0a\09\01\07\00\20\00\20\01\6a\0b" ;; code section - "\00\1b\07" "custom2" "this is the payload" ;; custom section -) - -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00" - ) - "unexpected end" -) - -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\00" - ) - "unexpected end" -) - -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\00\00\05\01\00\07\00\00" - ) - "unexpected end" -) - -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\26\10" "a custom section" "this is the payload" - ) - "unexpected end" -) - -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\25\10" "a custom section" "this is the payload" - "\00\24\10" "a custom section" "this is the payload" - ) - "invalid section id" -) - -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\01\07\01\60\02\7f\7f\01\7f" ;; type section - "\00\25\10" "a custom section" "this is the payload" ;; invalid length! - "\03\02\01\00" ;; function section - "\0a\09\01\07\00\20\00\20\01\6a\0b" ;; code section - "\00\1b\07" "custom2" "this is the payload" ;; custom section - ) - "function and code section have inconsistent lengths" -) - -;; Test concatenated modules. -(assert_malformed - (module binary - "\00asm\01\00\00\00" - "\00asm\01\00\00\00" - ) - "length out of bounds" -) diff --git a/test/spec/endianness.wast b/test/spec/endianness.wast deleted file mode 100644 index 4f28a168f..000000000 --- a/test/spec/endianness.wast +++ /dev/null @@ -1,217 +0,0 @@ -(module - (memory 1) - - ;; Stores an i16 value in little-endian-format - (func $i16_store_little (param $address i32) (param $value i32) - (i32.store8 (local.get $address) (local.get $value)) - (i32.store8 (i32.add (local.get $address) (i32.const 1)) (i32.shr_u (local.get $value) (i32.const 8))) - ) - - ;; Stores an i32 value in little-endian format - (func $i32_store_little (param $address i32) (param $value i32) - (call $i16_store_little (local.get $address) (local.get $value)) - (call $i16_store_little (i32.add (local.get $address) (i32.const 2)) (i32.shr_u (local.get $value) (i32.const 16))) - ) - - ;; Stores an i64 value in little-endian format - (func $i64_store_little (param $address i32) (param $value i64) - (call $i32_store_little (local.get $address) (i32.wrap_i64 (local.get $value))) - (call $i32_store_little (i32.add (local.get $address) (i32.const 4)) (i32.wrap_i64 (i64.shr_u (local.get $value) (i64.const 32)))) - ) - - ;; Loads an i16 value in little-endian format - (func $i16_load_little (param $address i32) (result i32) - (i32.or - (i32.load8_u (local.get $address)) - (i32.shl (i32.load8_u (i32.add (local.get $address) (i32.const 1))) (i32.const 8)) - ) - ) - - ;; Loads an i32 value in little-endian format - (func $i32_load_little (param $address i32) (result i32) - (i32.or - (call $i16_load_little (local.get $address)) - (i32.shl (call $i16_load_little (i32.add (local.get $address) (i32.const 2))) (i32.const 16)) - ) - ) - - ;; Loads an i64 value in little-endian format - (func $i64_load_little (param $address i32) (result i64) - (i64.or - (i64.extend_i32_u (call $i32_load_little (local.get $address))) - (i64.shl (i64.extend_i32_u (call $i32_load_little (i32.add (local.get $address) (i32.const 4)))) (i64.const 32)) - ) - ) - - (func (export "i32_load16_s") (param $value i32) (result i32) - (call $i16_store_little (i32.const 0) (local.get $value)) - (i32.load16_s (i32.const 0)) - ) - - (func (export "i32_load16_u") (param $value i32) (result i32) - (call $i16_store_little (i32.const 0) (local.get $value)) - (i32.load16_u (i32.const 0)) - ) - - (func (export "i32_load") (param $value i32) (result i32) - (call $i32_store_little (i32.const 0) (local.get $value)) - (i32.load (i32.const 0)) - ) - - (func (export "i64_load16_s") (param $value i64) (result i64) - (call $i16_store_little (i32.const 0) (i32.wrap_i64 (local.get $value))) - (i64.load16_s (i32.const 0)) - ) - - (func (export "i64_load16_u") (param $value i64) (result i64) - (call $i16_store_little (i32.const 0) (i32.wrap_i64 (local.get $value))) - (i64.load16_u (i32.const 0)) - ) - - (func (export "i64_load32_s") (param $value i64) (result i64) - (call $i32_store_little (i32.const 0) (i32.wrap_i64 (local.get $value))) - (i64.load32_s (i32.const 0)) - ) - - (func (export "i64_load32_u") (param $value i64) (result i64) - (call $i32_store_little (i32.const 0) (i32.wrap_i64 (local.get $value))) - (i64.load32_u (i32.const 0)) - ) - - (func (export "i64_load") (param $value i64) (result i64) - (call $i64_store_little (i32.const 0) (local.get $value)) - (i64.load (i32.const 0)) - ) - - (func (export "f32_load") (param $value f32) (result f32) - (call $i32_store_little (i32.const 0) (i32.reinterpret_f32 (local.get $value))) - (f32.load (i32.const 0)) - ) - - (func (export "f64_load") (param $value f64) (result f64) - (call $i64_store_little (i32.const 0) (i64.reinterpret_f64 (local.get $value))) - (f64.load (i32.const 0)) - ) - - - (func (export "i32_store16") (param $value i32) (result i32) - (i32.store16 (i32.const 0) (local.get $value)) - (call $i16_load_little (i32.const 0)) - ) - - (func (export "i32_store") (param $value i32) (result i32) - (i32.store (i32.const 0) (local.get $value)) - (call $i32_load_little (i32.const 0)) - ) - - (func (export "i64_store16") (param $value i64) (result i64) - (i64.store16 (i32.const 0) (local.get $value)) - (i64.extend_i32_u (call $i16_load_little (i32.const 0))) - ) - - (func (export "i64_store32") (param $value i64) (result i64) - (i64.store32 (i32.const 0) (local.get $value)) - (i64.extend_i32_u (call $i32_load_little (i32.const 0))) - ) - - (func (export "i64_store") (param $value i64) (result i64) - (i64.store (i32.const 0) (local.get $value)) - (call $i64_load_little (i32.const 0)) - ) - - (func (export "f32_store") (param $value f32) (result f32) - (f32.store (i32.const 0) (local.get $value)) - (f32.reinterpret_i32 (call $i32_load_little (i32.const 0))) - ) - - (func (export "f64_store") (param $value f64) (result f64) - (f64.store (i32.const 0) (local.get $value)) - (f64.reinterpret_i64 (call $i64_load_little (i32.const 0))) - ) -) - -(assert_return (invoke "i32_load16_s" (i32.const -1)) (i32.const -1)) -(assert_return (invoke "i32_load16_s" (i32.const -4242)) (i32.const -4242)) -(assert_return (invoke "i32_load16_s" (i32.const 42)) (i32.const 42)) -(assert_return (invoke "i32_load16_s" (i32.const 0x3210)) (i32.const 0x3210)) - -(assert_return (invoke "i32_load16_u" (i32.const -1)) (i32.const 0xFFFF)) -(assert_return (invoke "i32_load16_u" (i32.const -4242)) (i32.const 61294)) -(assert_return (invoke "i32_load16_u" (i32.const 42)) (i32.const 42)) -(assert_return (invoke "i32_load16_u" (i32.const 0xCAFE)) (i32.const 0xCAFE)) - -(assert_return (invoke "i32_load" (i32.const -1)) (i32.const -1)) -(assert_return (invoke "i32_load" (i32.const -42424242)) (i32.const -42424242)) -(assert_return (invoke "i32_load" (i32.const 42424242)) (i32.const 42424242)) -(assert_return (invoke "i32_load" (i32.const 0xABAD1DEA)) (i32.const 0xABAD1DEA)) - -(assert_return (invoke "i64_load16_s" (i64.const -1)) (i64.const -1)) -(assert_return (invoke "i64_load16_s" (i64.const -4242)) (i64.const -4242)) -(assert_return (invoke "i64_load16_s" (i64.const 42)) (i64.const 42)) -(assert_return (invoke "i64_load16_s" (i64.const 0x3210)) (i64.const 0x3210)) - -(assert_return (invoke "i64_load16_u" (i64.const -1)) (i64.const 0xFFFF)) -(assert_return (invoke "i64_load16_u" (i64.const -4242)) (i64.const 61294)) -(assert_return (invoke "i64_load16_u" (i64.const 42)) (i64.const 42)) -(assert_return (invoke "i64_load16_u" (i64.const 0xCAFE)) (i64.const 0xCAFE)) - -(assert_return (invoke "i64_load32_s" (i64.const -1)) (i64.const -1)) -(assert_return (invoke "i64_load32_s" (i64.const -42424242)) (i64.const -42424242)) -(assert_return (invoke "i64_load32_s" (i64.const 42424242)) (i64.const 42424242)) -(assert_return (invoke "i64_load32_s" (i64.const 0x12345678)) (i64.const 0x12345678)) - -(assert_return (invoke "i64_load32_u" (i64.const -1)) (i64.const 0xFFFFFFFF)) -(assert_return (invoke "i64_load32_u" (i64.const -42424242)) (i64.const 4252543054)) -(assert_return (invoke "i64_load32_u" (i64.const 42424242)) (i64.const 42424242)) -(assert_return (invoke "i64_load32_u" (i64.const 0xABAD1DEA)) (i64.const 0xABAD1DEA)) - -(assert_return (invoke "i64_load" (i64.const -1)) (i64.const -1)) -(assert_return (invoke "i64_load" (i64.const -42424242)) (i64.const -42424242)) -(assert_return (invoke "i64_load" (i64.const 0xABAD1DEA)) (i64.const 0xABAD1DEA)) -(assert_return (invoke "i64_load" (i64.const 0xABADCAFEDEAD1DEA)) (i64.const 0xABADCAFEDEAD1DEA)) - -(assert_return (invoke "f32_load" (f32.const -1)) (f32.const -1)) -(assert_return (invoke "f32_load" (f32.const 1234e-5)) (f32.const 1234e-5)) -(assert_return (invoke "f32_load" (f32.const 4242.4242)) (f32.const 4242.4242)) -(assert_return (invoke "f32_load" (f32.const 0x1.fffffep+127)) (f32.const 0x1.fffffep+127)) - -(assert_return (invoke "f64_load" (f64.const -1)) (f64.const -1)) -(assert_return (invoke "f64_load" (f64.const 123456789e-5)) (f64.const 123456789e-5)) -(assert_return (invoke "f64_load" (f64.const 424242.424242)) (f64.const 424242.424242)) -(assert_return (invoke "f64_load" (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1.fffffffffffffp+1023)) - - -(assert_return (invoke "i32_store16" (i32.const -1)) (i32.const 0xFFFF)) -(assert_return (invoke "i32_store16" (i32.const -4242)) (i32.const 61294)) -(assert_return (invoke "i32_store16" (i32.const 42)) (i32.const 42)) -(assert_return (invoke "i32_store16" (i32.const 0xCAFE)) (i32.const 0xCAFE)) - -(assert_return (invoke "i32_store" (i32.const -1)) (i32.const -1)) -(assert_return (invoke "i32_store" (i32.const -4242)) (i32.const -4242)) -(assert_return (invoke "i32_store" (i32.const 42424242)) (i32.const 42424242)) -(assert_return (invoke "i32_store" (i32.const 0xDEADCAFE)) (i32.const 0xDEADCAFE)) - -(assert_return (invoke "i64_store16" (i64.const -1)) (i64.const 0xFFFF)) -(assert_return (invoke "i64_store16" (i64.const -4242)) (i64.const 61294)) -(assert_return (invoke "i64_store16" (i64.const 42)) (i64.const 42)) -(assert_return (invoke "i64_store16" (i64.const 0xCAFE)) (i64.const 0xCAFE)) - -(assert_return (invoke "i64_store32" (i64.const -1)) (i64.const 0xFFFFFFFF)) -(assert_return (invoke "i64_store32" (i64.const -4242)) (i64.const 4294963054)) -(assert_return (invoke "i64_store32" (i64.const 42424242)) (i64.const 42424242)) -(assert_return (invoke "i64_store32" (i64.const 0xDEADCAFE)) (i64.const 0xDEADCAFE)) - -(assert_return (invoke "i64_store" (i64.const -1)) (i64.const -1)) -(assert_return (invoke "i64_store" (i64.const -42424242)) (i64.const -42424242)) -(assert_return (invoke "i64_store" (i64.const 0xABAD1DEA)) (i64.const 0xABAD1DEA)) -(assert_return (invoke "i64_store" (i64.const 0xABADCAFEDEAD1DEA)) (i64.const 0xABADCAFEDEAD1DEA)) - -(assert_return (invoke "f32_store" (f32.const -1)) (f32.const -1)) -(assert_return (invoke "f32_store" (f32.const 1234e-5)) (f32.const 1234e-5)) -(assert_return (invoke "f32_store" (f32.const 4242.4242)) (f32.const 4242.4242)) -(assert_return (invoke "f32_store" (f32.const 0x1.fffffep+127)) (f32.const 0x1.fffffep+127)) - -(assert_return (invoke "f64_store" (f64.const -1)) (f64.const -1)) -(assert_return (invoke "f64_store" (f64.const 123456789e-5)) (f64.const 123456789e-5)) -(assert_return (invoke "f64_store" (f64.const 424242.424242)) (f64.const 424242.424242)) -(assert_return (invoke "f64_store" (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1.fffffffffffffp+1023)) diff --git a/test/spec/endianness64.wast b/test/spec/endianness64.wast deleted file mode 100644 index e583ea9b4..000000000 --- a/test/spec/endianness64.wast +++ /dev/null @@ -1,217 +0,0 @@ -(module - (memory i64 1) - - ;; Stores an i16 value in little-endian-format - (func $i16_store_little (param $address i64) (param $value i32) - (i32.store8 (local.get $address) (local.get $value)) - (i32.store8 (i64.add (local.get $address) (i64.const 1)) (i32.shr_u (local.get $value) (i32.const 8))) - ) - - ;; Stores an i32 value in little-endian format - (func $i32_store_little (param $address i64) (param $value i32) - (call $i16_store_little (local.get $address) (local.get $value)) - (call $i16_store_little (i64.add (local.get $address) (i64.const 2)) (i32.shr_u (local.get $value) (i32.const 16))) - ) - - ;; Stores an i64 value in little-endian format - (func $i64_store_little (param $address i64) (param $value i64) - (call $i32_store_little (local.get $address) (i32.wrap_i64 (local.get $value))) - (call $i32_store_little (i64.add (local.get $address) (i64.const 4)) (i32.wrap_i64 (i64.shr_u (local.get $value) (i64.const 32)))) - ) - - ;; Loads an i16 value in little-endian format - (func $i16_load_little (param $address i64) (result i32) - (i32.or - (i32.load8_u (local.get $address)) - (i32.shl (i32.load8_u (i64.add (local.get $address) (i64.const 1))) (i32.const 8)) - ) - ) - - ;; Loads an i32 value in little-endian format - (func $i32_load_little (param $address i64) (result i32) - (i32.or - (call $i16_load_little (local.get $address)) - (i32.shl (call $i16_load_little (i64.add (local.get $address) (i64.const 2))) (i32.const 16)) - ) - ) - - ;; Loads an i64 value in little-endian format - (func $i64_load_little (param $address i64) (result i64) - (i64.or - (i64.extend_i32_u (call $i32_load_little (local.get $address))) - (i64.shl (i64.extend_i32_u (call $i32_load_little (i64.add (local.get $address) (i64.const 4)))) (i64.const 32)) - ) - ) - - (func (export "i32_load16_s") (param $value i32) (result i32) - (call $i16_store_little (i64.const 0) (local.get $value)) - (i32.load16_s (i64.const 0)) - ) - - (func (export "i32_load16_u") (param $value i32) (result i32) - (call $i16_store_little (i64.const 0) (local.get $value)) - (i32.load16_u (i64.const 0)) - ) - - (func (export "i32_load") (param $value i32) (result i32) - (call $i32_store_little (i64.const 0) (local.get $value)) - (i32.load (i64.const 0)) - ) - - (func (export "i64_load16_s") (param $value i64) (result i64) - (call $i16_store_little (i64.const 0) (i32.wrap_i64 (local.get $value))) - (i64.load16_s (i64.const 0)) - ) - - (func (export "i64_load16_u") (param $value i64) (result i64) - (call $i16_store_little (i64.const 0) (i32.wrap_i64 (local.get $value))) - (i64.load16_u (i64.const 0)) - ) - - (func (export "i64_load32_s") (param $value i64) (result i64) - (call $i32_store_little (i64.const 0) (i32.wrap_i64 (local.get $value))) - (i64.load32_s (i64.const 0)) - ) - - (func (export "i64_load32_u") (param $value i64) (result i64) - (call $i32_store_little (i64.const 0) (i32.wrap_i64 (local.get $value))) - (i64.load32_u (i64.const 0)) - ) - - (func (export "i64_load") (param $value i64) (result i64) - (call $i64_store_little (i64.const 0) (local.get $value)) - (i64.load (i64.const 0)) - ) - - (func (export "f32_load") (param $value f32) (result f32) - (call $i32_store_little (i64.const 0) (i32.reinterpret_f32 (local.get $value))) - (f32.load (i64.const 0)) - ) - - (func (export "f64_load") (param $value f64) (result f64) - (call $i64_store_little (i64.const 0) (i64.reinterpret_f64 (local.get $value))) - (f64.load (i64.const 0)) - ) - - - (func (export "i32_store16") (param $value i32) (result i32) - (i32.store16 (i64.const 0) (local.get $value)) - (call $i16_load_little (i64.const 0)) - ) - - (func (export "i32_store") (param $value i32) (result i32) - (i32.store (i64.const 0) (local.get $value)) - (call $i32_load_little (i64.const 0)) - ) - - (func (export "i64_store16") (param $value i64) (result i64) - (i64.store16 (i64.const 0) (local.get $value)) - (i64.extend_i32_u (call $i16_load_little (i64.const 0))) - ) - - (func (export "i64_store32") (param $value i64) (result i64) - (i64.store32 (i64.const 0) (local.get $value)) - (i64.extend_i32_u (call $i32_load_little (i64.const 0))) - ) - - (func (export "i64_store") (param $value i64) (result i64) - (i64.store (i64.const 0) (local.get $value)) - (call $i64_load_little (i64.const 0)) - ) - - (func (export "f32_store") (param $value f32) (result f32) - (f32.store (i64.const 0) (local.get $value)) - (f32.reinterpret_i32 (call $i32_load_little (i64.const 0))) - ) - - (func (export "f64_store") (param $value f64) (result f64) - (f64.store (i64.const 0) (local.get $value)) - (f64.reinterpret_i64 (call $i64_load_little (i64.const 0))) - ) -) - -(assert_return (invoke "i32_load16_s" (i32.const -1)) (i32.const -1)) -(assert_return (invoke "i32_load16_s" (i32.const -4242)) (i32.const -4242)) -(assert_return (invoke "i32_load16_s" (i32.const 42)) (i32.const 42)) -(assert_return (invoke "i32_load16_s" (i32.const 0x3210)) (i32.const 0x3210)) - -(assert_return (invoke "i32_load16_u" (i32.const -1)) (i32.const 0xFFFF)) -(assert_return (invoke "i32_load16_u" (i32.const -4242)) (i32.const 61294)) -(assert_return (invoke "i32_load16_u" (i32.const 42)) (i32.const 42)) -(assert_return (invoke "i32_load16_u" (i32.const 0xCAFE)) (i32.const 0xCAFE)) - -(assert_return (invoke "i32_load" (i32.const -1)) (i32.const -1)) -(assert_return (invoke "i32_load" (i32.const -42424242)) (i32.const -42424242)) -(assert_return (invoke "i32_load" (i32.const 42424242)) (i32.const 42424242)) -(assert_return (invoke "i32_load" (i32.const 0xABAD1DEA)) (i32.const 0xABAD1DEA)) - -(assert_return (invoke "i64_load16_s" (i64.const -1)) (i64.const -1)) -(assert_return (invoke "i64_load16_s" (i64.const -4242)) (i64.const -4242)) -(assert_return (invoke "i64_load16_s" (i64.const 42)) (i64.const 42)) -(assert_return (invoke "i64_load16_s" (i64.const 0x3210)) (i64.const 0x3210)) - -(assert_return (invoke "i64_load16_u" (i64.const -1)) (i64.const 0xFFFF)) -(assert_return (invoke "i64_load16_u" (i64.const -4242)) (i64.const 61294)) -(assert_return (invoke "i64_load16_u" (i64.const 42)) (i64.const 42)) -(assert_return (invoke "i64_load16_u" (i64.const 0xCAFE)) (i64.const 0xCAFE)) - -(assert_return (invoke "i64_load32_s" (i64.const -1)) (i64.const -1)) -(assert_return (invoke "i64_load32_s" (i64.const -42424242)) (i64.const -42424242)) -(assert_return (invoke "i64_load32_s" (i64.const 42424242)) (i64.const 42424242)) -(assert_return (invoke "i64_load32_s" (i64.const 0x12345678)) (i64.const 0x12345678)) - -(assert_return (invoke "i64_load32_u" (i64.const -1)) (i64.const 0xFFFFFFFF)) -(assert_return (invoke "i64_load32_u" (i64.const -42424242)) (i64.const 4252543054)) -(assert_return (invoke "i64_load32_u" (i64.const 42424242)) (i64.const 42424242)) -(assert_return (invoke "i64_load32_u" (i64.const 0xABAD1DEA)) (i64.const 0xABAD1DEA)) - -(assert_return (invoke "i64_load" (i64.const -1)) (i64.const -1)) -(assert_return (invoke "i64_load" (i64.const -42424242)) (i64.const -42424242)) -(assert_return (invoke "i64_load" (i64.const 0xABAD1DEA)) (i64.const 0xABAD1DEA)) -(assert_return (invoke "i64_load" (i64.const 0xABADCAFEDEAD1DEA)) (i64.const 0xABADCAFEDEAD1DEA)) - -(assert_return (invoke "f32_load" (f32.const -1)) (f32.const -1)) -(assert_return (invoke "f32_load" (f32.const 1234e-5)) (f32.const 1234e-5)) -(assert_return (invoke "f32_load" (f32.const 4242.4242)) (f32.const 4242.4242)) -(assert_return (invoke "f32_load" (f32.const 0x1.fffffep+127)) (f32.const 0x1.fffffep+127)) - -(assert_return (invoke "f64_load" (f64.const -1)) (f64.const -1)) -(assert_return (invoke "f64_load" (f64.const 123456789e-5)) (f64.const 123456789e-5)) -(assert_return (invoke "f64_load" (f64.const 424242.424242)) (f64.const 424242.424242)) -(assert_return (invoke "f64_load" (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1.fffffffffffffp+1023)) - - -(assert_return (invoke "i32_store16" (i32.const -1)) (i32.const 0xFFFF)) -(assert_return (invoke "i32_store16" (i32.const -4242)) (i32.const 61294)) -(assert_return (invoke "i32_store16" (i32.const 42)) (i32.const 42)) -(assert_return (invoke "i32_store16" (i32.const 0xCAFE)) (i32.const 0xCAFE)) - -(assert_return (invoke "i32_store" (i32.const -1)) (i32.const -1)) -(assert_return (invoke "i32_store" (i32.const -4242)) (i32.const -4242)) -(assert_return (invoke "i32_store" (i32.const 42424242)) (i32.const 42424242)) -(assert_return (invoke "i32_store" (i32.const 0xDEADCAFE)) (i32.const 0xDEADCAFE)) - -(assert_return (invoke "i64_store16" (i64.const -1)) (i64.const 0xFFFF)) -(assert_return (invoke "i64_store16" (i64.const -4242)) (i64.const 61294)) -(assert_return (invoke "i64_store16" (i64.const 42)) (i64.const 42)) -(assert_return (invoke "i64_store16" (i64.const 0xCAFE)) (i64.const 0xCAFE)) - -(assert_return (invoke "i64_store32" (i64.const -1)) (i64.const 0xFFFFFFFF)) -(assert_return (invoke "i64_store32" (i64.const -4242)) (i64.const 4294963054)) -(assert_return (invoke "i64_store32" (i64.const 42424242)) (i64.const 42424242)) -(assert_return (invoke "i64_store32" (i64.const 0xDEADCAFE)) (i64.const 0xDEADCAFE)) - -(assert_return (invoke "i64_store" (i64.const -1)) (i64.const -1)) -(assert_return (invoke "i64_store" (i64.const -42424242)) (i64.const -42424242)) -(assert_return (invoke "i64_store" (i64.const 0xABAD1DEA)) (i64.const 0xABAD1DEA)) -(assert_return (invoke "i64_store" (i64.const 0xABADCAFEDEAD1DEA)) (i64.const 0xABADCAFEDEAD1DEA)) - -(assert_return (invoke "f32_store" (f32.const -1)) (f32.const -1)) -(assert_return (invoke "f32_store" (f32.const 1234e-5)) (f32.const 1234e-5)) -(assert_return (invoke "f32_store" (f32.const 4242.4242)) (f32.const 4242.4242)) -(assert_return (invoke "f32_store" (f32.const 0x1.fffffep+127)) (f32.const 0x1.fffffep+127)) - -(assert_return (invoke "f64_store" (f64.const -1)) (f64.const -1)) -(assert_return (invoke "f64_store" (f64.const 123456789e-5)) (f64.const 123456789e-5)) -(assert_return (invoke "f64_store" (f64.const 424242.424242)) (f64.const 424242.424242)) -(assert_return (invoke "f64_store" (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1.fffffffffffffp+1023)) diff --git a/test/spec/exports.wast b/test/spec/exports.wast deleted file mode 100644 index ef1c4c17e..000000000 --- a/test/spec/exports.wast +++ /dev/null @@ -1,198 +0,0 @@ -;; Functions - -(module (func) (export "a" (func 0))) -(module (func) (export "a" (func 0)) (export "b" (func 0))) -(module (func) (func) (export "a" (func 0)) (export "b" (func 1))) - -(module (func (export "a"))) -(module (func (export "a") (export "b") (export "c"))) -(module (func (export "a") (export "b") (param i32))) -(module (func) (export "a" (func 0))) -(module (func $a (export "a"))) -(module (func $a) (export "a" (func $a))) -(module (export "a" (func 0)) (func)) -(module (export "a" (func $a)) (func $a)) - -(module $Func - (export "e" (func $f)) - (func $f (param $n i32) (result i32) - (return (i32.add (local.get $n) (i32.const 1))) - ) -) -(assert_return (invoke "e" (i32.const 42)) (i32.const 43)) -(assert_return (invoke $Func "e" (i32.const 42)) (i32.const 43)) -(module) -(module $Other1) -(assert_return (invoke $Func "e" (i32.const 42)) (i32.const 43)) - -(assert_invalid - (module (func) (export "a" (func 1))) - "unknown function" -) -(assert_invalid - (module (func) (export "a" (func 0)) (export "a" (func 0))) - "duplicate export name" -) -(assert_invalid - (module (func) (func) (export "a" (func 0)) (export "a" (func 1))) - "duplicate export name" -) -(assert_invalid - (module (func) (global i32 (i32.const 0)) (export "a" (func 0)) (export "a" (global 0))) - "duplicate export name" -) -(assert_invalid - (module (func) (table 0 funcref) (export "a" (func 0)) (export "a" (table 0))) - "duplicate export name" -) -(assert_invalid - (module (func) (memory 0) (export "a" (func 0)) (export "a" (memory 0))) - "duplicate export name" -) - - -;; Globals - -(module (global i32 (i32.const 0)) (export "a" (global 0))) -(module (global i32 (i32.const 0)) (export "a" (global 0)) (export "b" (global 0))) -(module (global i32 (i32.const 0)) (global i32 (i32.const 0)) (export "a" (global 0)) (export "b" (global 1))) - -(module (global (export "a") i32 (i32.const 0))) -(module (global i32 (i32.const 0)) (export "a" (global 0))) -(module (global $a (export "a") i32 (i32.const 0))) -(module (global $a i32 (i32.const 0)) (export "a" (global $a))) -(module (export "a" (global 0)) (global i32 (i32.const 0))) -(module (export "a" (global $a)) (global $a i32 (i32.const 0))) - -(module $Global - (export "e" (global $g)) - (global $g i32 (i32.const 42)) -) -(assert_return (get "e") (i32.const 42)) -(assert_return (get $Global "e") (i32.const 42)) -(module) -(module $Other2) -(assert_return (get $Global "e") (i32.const 42)) - -(assert_invalid - (module (global i32 (i32.const 0)) (export "a" (global 1))) - "unknown global" -) -(assert_invalid - (module (global i32 (i32.const 0)) (export "a" (global 0)) (export "a" (global 0))) - "duplicate export name" -) -(assert_invalid - (module (global i32 (i32.const 0)) (global i32 (i32.const 0)) (export "a" (global 0)) (export "a" (global 1))) - "duplicate export name" -) -(assert_invalid - (module (global i32 (i32.const 0)) (func) (export "a" (global 0)) (export "a" (func 0))) - "duplicate export name" -) -(assert_invalid - (module (global i32 (i32.const 0)) (table 0 funcref) (export "a" (global 0)) (export "a" (table 0))) - "duplicate export name" -) -(assert_invalid - (module (global i32 (i32.const 0)) (memory 0) (export "a" (global 0)) (export "a" (memory 0))) - "duplicate export name" -) - - -;; Tables - -(module (table 0 funcref) (export "a" (table 0))) -(module (table 0 funcref) (export "a" (table 0)) (export "b" (table 0))) -;; No multiple tables yet. -;; (module (table 0 funcref) (table 0 funcref) (export "a" (table 0)) (export "b" (table 1))) - -(module (table (export "a") 0 funcref)) -(module (table (export "a") 0 1 funcref)) -(module (table 0 funcref) (export "a" (table 0))) -(module (table 0 1 funcref) (export "a" (table 0))) -(module (table $a (export "a") 0 funcref)) -(module (table $a (export "a") 0 1 funcref)) -(module (table $a 0 funcref) (export "a" (table $a))) -(module (table $a 0 1 funcref) (export "a" (table $a))) -(module (export "a" (table 0)) (table 0 funcref)) -(module (export "a" (table 0)) (table 0 1 funcref)) -(module (export "a" (table $a)) (table $a 0 funcref)) -(module (export "a" (table $a)) (table $a 0 1 funcref)) - -(; TODO: access table ;) - -(assert_invalid - (module (table 0 funcref) (export "a" (table 1))) - "unknown table" -) -(assert_invalid - (module (table 0 funcref) (export "a" (table 0)) (export "a" (table 0))) - "duplicate export name" -) -;; No multiple tables yet. -;; (assert_invalid -;; (module (table 0 funcref) (table 0 funcref) (export "a" (table 0)) (export "a" (table 1))) -;; "duplicate export name" -;; ) -(assert_invalid - (module (table 0 funcref) (func) (export "a" (table 0)) (export "a" (func 0))) - "duplicate export name" -) -(assert_invalid - (module (table 0 funcref) (global i32 (i32.const 0)) (export "a" (table 0)) (export "a" (global 0))) - "duplicate export name" -) -(assert_invalid - (module (table 0 funcref) (memory 0) (export "a" (table 0)) (export "a" (memory 0))) - "duplicate export name" -) - - -;; Memories - -(module (memory 0) (export "a" (memory 0))) -(module (memory 0) (export "a" (memory 0)) (export "b" (memory 0))) -;; No multiple memories yet. -;; (module (memory 0) (memory 0) (export "a" (memory 0)) (export "b" (memory 1))) - -(module (memory (export "a") 0)) -(module (memory (export "a") 0 1)) -(module (memory 0) (export "a" (memory 0))) -(module (memory 0 1) (export "a" (memory 0))) -(module (memory $a (export "a") 0)) -(module (memory $a (export "a") 0 1)) -(module (memory $a 0) (export "a" (memory $a))) -(module (memory $a 0 1) (export "a" (memory $a))) -(module (export "a" (memory 0)) (memory 0)) -(module (export "a" (memory 0)) (memory 0 1)) -(module (export "a" (memory $a)) (memory $a 0)) -(module (export "a" (memory $a)) (memory $a 0 1)) - -(; TODO: access memory ;) - -(assert_invalid - (module (memory 0) (export "a" (memory 1))) - "unknown memory" -) -(assert_invalid - (module (memory 0) (export "a" (memory 0)) (export "a" (memory 0))) - "duplicate export name" -) -;; No multiple memories yet. -;; (assert_invalid -;; (module (memory 0) (memory 0) (export "a" (memory 0)) (export "a" (memory 1))) -;; "duplicate export name" -;; ) -(assert_invalid - (module (memory 0) (func) (export "a" (memory 0)) (export "a" (func 0))) - "duplicate export name" -) -(assert_invalid - (module (memory 0) (global i32 (i32.const 0)) (export "a" (memory 0)) (export "a" (global 0))) - "duplicate export name" -) -(assert_invalid - (module (memory 0) (table 0 funcref) (export "a" (memory 0)) (export "a" (table 0))) - "duplicate export name" -) diff --git a/test/spec/f32_bitwise.wast b/test/spec/f32_bitwise.wast deleted file mode 100644 index 8554d6741..000000000 --- a/test/spec/f32_bitwise.wast +++ /dev/null @@ -1,376 +0,0 @@ -;; Test all the f32 bitwise operators on major boundary values and all special -;; values. - -(module - (func (export "abs") (param $x f32) (result f32) (f32.abs (local.get $x))) - (func (export "neg") (param $x f32) (result f32) (f32.neg (local.get $x))) - (func (export "copysign") (param $x f32) (param $y f32) (result f32) (f32.copysign (local.get $x) (local.get $y))) -) - -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const -0x0p+0)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const 0x0p+0)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const -0x0p+0)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const 0x0p+0)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const -0x1p-149)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const 0x1p-149)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const -0x1p-149)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const 0x1p-149)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const -0x1p-126)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const 0x1p-126)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const -0x1p-126)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const 0x1p-126)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const -0x1p-1)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const 0x1p-1)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const -0x1p-1)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const 0x1p-1)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const -0x1p+0)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const 0x1p+0)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const -0x1p+0)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const 0x1p+0)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const -0x1.921fb6p+2)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const 0x1.921fb6p+2)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const -0x1.921fb6p+2)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const 0x1.921fb6p+2)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const -0x1.fffffep+127)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const 0x1.fffffep+127)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const -0x1.fffffep+127)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const 0x1.fffffep+127)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const -inf)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const inf)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const -inf)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const inf)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const -nan)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x0p+0) (f32.const nan)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const -nan)) (f32.const -0x0p+0)) -(assert_return (invoke "copysign" (f32.const 0x0p+0) (f32.const nan)) (f32.const 0x0p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const -0x0p+0)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const 0x0p+0)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const -0x0p+0)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const 0x0p+0)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const -0x1p-149)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const 0x1p-149)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const -0x1p-149)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const 0x1p-149)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const -0x1p-126)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const 0x1p-126)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const -0x1p-126)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const 0x1p-126)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const -0x1p-1)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const 0x1p-1)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const -0x1p-1)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const 0x1p-1)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const -0x1p+0)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const 0x1p+0)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const -0x1p+0)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const 0x1p+0)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const -0x1.921fb6p+2)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const 0x1.921fb6p+2)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const -0x1.921fb6p+2)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const 0x1.921fb6p+2)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const -0x1.fffffep+127)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const 0x1.fffffep+127)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const -0x1.fffffep+127)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const 0x1.fffffep+127)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const -inf)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const inf)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const -inf)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const inf)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const -nan)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-149) (f32.const nan)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const -nan)) (f32.const -0x1p-149)) -(assert_return (invoke "copysign" (f32.const 0x1p-149) (f32.const nan)) (f32.const 0x1p-149)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const -0x0p+0)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const 0x0p+0)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const -0x0p+0)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const 0x0p+0)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const -0x1p-149)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const 0x1p-149)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const -0x1p-149)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const 0x1p-149)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const -0x1p-126)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const 0x1p-126)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const -0x1p-126)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const 0x1p-126)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const -0x1p-1)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const 0x1p-1)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const -0x1p-1)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const 0x1p-1)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const -0x1p+0)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const 0x1p+0)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const -0x1p+0)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const 0x1p+0)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const -0x1.921fb6p+2)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const 0x1.921fb6p+2)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const -0x1.921fb6p+2)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const 0x1.921fb6p+2)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const -0x1.fffffep+127)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const 0x1.fffffep+127)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const -0x1.fffffep+127)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const 0x1.fffffep+127)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const -inf)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const inf)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const -inf)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const inf)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const -nan)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-126) (f32.const nan)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const -nan)) (f32.const -0x1p-126)) -(assert_return (invoke "copysign" (f32.const 0x1p-126) (f32.const nan)) (f32.const 0x1p-126)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const -0x0p+0)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const 0x0p+0)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const -0x0p+0)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const 0x0p+0)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const -0x1p-149)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const 0x1p-149)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const -0x1p-149)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const 0x1p-149)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const -0x1p-126)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const 0x1p-126)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const -0x1p-126)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const 0x1p-126)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const -0x1p-1)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const 0x1p-1)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const -0x1p-1)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const 0x1p-1)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const -0x1p+0)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const 0x1p+0)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const -0x1p+0)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const 0x1p+0)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const -0x1.921fb6p+2)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const 0x1.921fb6p+2)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const -0x1.921fb6p+2)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const 0x1.921fb6p+2)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const -0x1.fffffep+127)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const 0x1.fffffep+127)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const -0x1.fffffep+127)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const 0x1.fffffep+127)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const -inf)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const inf)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const -inf)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const inf)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const -nan)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p-1) (f32.const nan)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const -nan)) (f32.const -0x1p-1)) -(assert_return (invoke "copysign" (f32.const 0x1p-1) (f32.const nan)) (f32.const 0x1p-1)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const -0x0p+0)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const 0x0p+0)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const -0x0p+0)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const 0x0p+0)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const -0x1p-149)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const 0x1p-149)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const -0x1p-149)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const 0x1p-149)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const -0x1p-126)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const 0x1p-126)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const -0x1p-126)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const 0x1p-126)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const -0x1p-1)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const 0x1p-1)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const -0x1p-1)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const 0x1p-1)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const -0x1p+0)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const 0x1p+0)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const -0x1p+0)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const 0x1p+0)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const -0x1.921fb6p+2)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const 0x1.921fb6p+2)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const -0x1.921fb6p+2)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const 0x1.921fb6p+2)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const -0x1.fffffep+127)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const 0x1.fffffep+127)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const -0x1.fffffep+127)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const 0x1.fffffep+127)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const -inf)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const inf)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const -inf)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const inf)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const -nan)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1p+0) (f32.const nan)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const -nan)) (f32.const -0x1p+0)) -(assert_return (invoke "copysign" (f32.const 0x1p+0) (f32.const nan)) (f32.const 0x1p+0)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const -0x0p+0)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const 0x0p+0)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const -0x0p+0)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const 0x0p+0)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-149)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-149)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-149)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-149)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-126)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-126)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-126)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-126)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-1)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-1)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-1)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-1)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const -0x1p+0)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const 0x1p+0)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const -0x1p+0)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const 0x1p+0)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const -inf)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const inf)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const -inf)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const inf)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const -nan)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.921fb6p+2) (f32.const nan)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const -nan)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const 0x1.921fb6p+2) (f32.const nan)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const -0x0p+0)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const 0x0p+0)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const -0x0p+0)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const 0x0p+0)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const -0x1p-149)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const 0x1p-149)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const -0x1p-149)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const 0x1p-149)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const -0x1p-126)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const 0x1p-126)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const -0x1p-126)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const 0x1p-126)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const -0x1p-1)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const 0x1p-1)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const -0x1p-1)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const 0x1p-1)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const -0x1p+0)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const 0x1p+0)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const -0x1p+0)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const 0x1p+0)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const -inf)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const inf)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const -inf)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const inf)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const -nan)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -0x1.fffffep+127) (f32.const nan)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const -nan)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const 0x1.fffffep+127) (f32.const nan)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const -0x0p+0)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const 0x0p+0)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const -0x0p+0)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const 0x0p+0)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const -0x1p-149)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const 0x1p-149)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const -0x1p-149)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const 0x1p-149)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const -0x1p-126)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const 0x1p-126)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const -0x1p-126)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const 0x1p-126)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const -0x1p-1)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const 0x1p-1)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const -0x1p-1)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const 0x1p-1)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const -0x1p+0)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const 0x1p+0)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const -0x1p+0)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const 0x1p+0)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const -0x1.921fb6p+2)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const 0x1.921fb6p+2)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const -0x1.921fb6p+2)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const 0x1.921fb6p+2)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const -0x1.fffffep+127)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const 0x1.fffffep+127)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const -0x1.fffffep+127)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const 0x1.fffffep+127)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const -inf)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const inf)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const -inf)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const inf)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const -nan)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const -inf) (f32.const nan)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const -nan)) (f32.const -inf)) -(assert_return (invoke "copysign" (f32.const inf) (f32.const nan)) (f32.const inf)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const -0x0p+0)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const 0x0p+0)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const -0x0p+0)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const 0x0p+0)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const -0x1p-149)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const 0x1p-149)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const -0x1p-149)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const 0x1p-149)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const -0x1p-126)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const 0x1p-126)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const -0x1p-126)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const 0x1p-126)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const -0x1p-1)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const 0x1p-1)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const -0x1p-1)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const 0x1p-1)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const -0x1p+0)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const 0x1p+0)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const -0x1p+0)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const 0x1p+0)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const -0x1.921fb6p+2)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const 0x1.921fb6p+2)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const -0x1.921fb6p+2)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const 0x1.921fb6p+2)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const -0x1.fffffep+127)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const 0x1.fffffep+127)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const -0x1.fffffep+127)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const 0x1.fffffep+127)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const -inf)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const inf)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const -inf)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const inf)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const -nan)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const -nan) (f32.const nan)) (f32.const nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const -nan)) (f32.const -nan)) -(assert_return (invoke "copysign" (f32.const nan) (f32.const nan)) (f32.const nan)) -(assert_return (invoke "abs" (f32.const -0x0p+0)) (f32.const 0x0p+0)) -(assert_return (invoke "abs" (f32.const 0x0p+0)) (f32.const 0x0p+0)) -(assert_return (invoke "abs" (f32.const -0x1p-149)) (f32.const 0x1p-149)) -(assert_return (invoke "abs" (f32.const 0x1p-149)) (f32.const 0x1p-149)) -(assert_return (invoke "abs" (f32.const -0x1p-126)) (f32.const 0x1p-126)) -(assert_return (invoke "abs" (f32.const 0x1p-126)) (f32.const 0x1p-126)) -(assert_return (invoke "abs" (f32.const -0x1p-1)) (f32.const 0x1p-1)) -(assert_return (invoke "abs" (f32.const 0x1p-1)) (f32.const 0x1p-1)) -(assert_return (invoke "abs" (f32.const -0x1p+0)) (f32.const 0x1p+0)) -(assert_return (invoke "abs" (f32.const 0x1p+0)) (f32.const 0x1p+0)) -(assert_return (invoke "abs" (f32.const -0x1.921fb6p+2)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "abs" (f32.const 0x1.921fb6p+2)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "abs" (f32.const -0x1.fffffep+127)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "abs" (f32.const 0x1.fffffep+127)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "abs" (f32.const -inf)) (f32.const inf)) -(assert_return (invoke "abs" (f32.const inf)) (f32.const inf)) -(assert_return (invoke "abs" (f32.const -nan)) (f32.const nan)) -(assert_return (invoke "abs" (f32.const nan)) (f32.const nan)) -(assert_return (invoke "neg" (f32.const -0x0p+0)) (f32.const 0x0p+0)) -(assert_return (invoke "neg" (f32.const 0x0p+0)) (f32.const -0x0p+0)) -(assert_return (invoke "neg" (f32.const -0x1p-149)) (f32.const 0x1p-149)) -(assert_return (invoke "neg" (f32.const 0x1p-149)) (f32.const -0x1p-149)) -(assert_return (invoke "neg" (f32.const -0x1p-126)) (f32.const 0x1p-126)) -(assert_return (invoke "neg" (f32.const 0x1p-126)) (f32.const -0x1p-126)) -(assert_return (invoke "neg" (f32.const -0x1p-1)) (f32.const 0x1p-1)) -(assert_return (invoke "neg" (f32.const 0x1p-1)) (f32.const -0x1p-1)) -(assert_return (invoke "neg" (f32.const -0x1p+0)) (f32.const 0x1p+0)) -(assert_return (invoke "neg" (f32.const 0x1p+0)) (f32.const -0x1p+0)) -(assert_return (invoke "neg" (f32.const -0x1.921fb6p+2)) (f32.const 0x1.921fb6p+2)) -(assert_return (invoke "neg" (f32.const 0x1.921fb6p+2)) (f32.const -0x1.921fb6p+2)) -(assert_return (invoke "neg" (f32.const -0x1.fffffep+127)) (f32.const 0x1.fffffep+127)) -(assert_return (invoke "neg" (f32.const 0x1.fffffep+127)) (f32.const -0x1.fffffep+127)) -(assert_return (invoke "neg" (f32.const -inf)) (f32.const inf)) -(assert_return (invoke "neg" (f32.const inf)) (f32.const -inf)) -(assert_return (invoke "neg" (f32.const -nan)) (f32.const nan)) -(assert_return (invoke "neg" (f32.const nan)) (f32.const -nan)) - - -;; Type check - -(assert_invalid (module (func (result f32) (f32.copysign (i64.const 0) (f64.const 0)))) "type mismatch") -(assert_invalid (module (func (result f32) (f32.abs (i64.const 0)))) "type mismatch") -(assert_invalid (module (func (result f32) (f32.neg (i64.const 0)))) "type mismatch") diff --git a/test/spec/f32_cmp.wast b/test/spec/f32_cmp.wast deleted file mode 100644 index 0dd7167c0..000000000 --- a/test/spec/f32_cmp.wast +++ /dev/null @@ -1,2422 +0,0 @@ -;; Test all the f32 comparison operators on major boundary values and all -;; special values. - -(module - (func (export "eq") (param $x f32) (param $y f32) (result i32) (f32.eq (local.get $x) (local.get $y))) - (func (export "ne") (param $x f32) (param $y f32) (result i32) (f32.ne (local.get $x) (local.get $y))) - (func (export "lt") (param $x f32) (param $y f32) (result i32) (f32.lt (local.get $x) (local.get $y))) - (func (export "le") (param $x f32) (param $y f32) (result i32) (f32.le (local.get $x) (local.get $y))) - (func (export "gt") (param $x f32) (param $y f32) (result i32) (f32.gt (local.get $x) (local.get $y))) - (func (export "ge") (param $x f32) (param $y f32) (result i32) (f32.ge (local.get $x) (local.get $y))) -) - -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x0p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x0p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-149) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-149) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-126) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-126) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p-1) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p-1) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.921fb6p+2) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.921fb6p+2) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -0x1.fffffep+127) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const 0x1.fffffep+127) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -inf) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const inf) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const -nan:0x200000) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "eq" (f32.const nan:0x200000) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x0p+0) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x0p+0) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-149) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-149) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-126) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-126) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p-1) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p-1) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1p+0) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1p+0) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.921fb6p+2) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.921fb6p+2) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -0x1.fffffep+127) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const 0x1.fffffep+127) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -inf) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const inf) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const -nan:0x200000) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const -nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "ne" (f32.const nan:0x200000) (f32.const nan:0x200000)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x0p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x0p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-149) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-149) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-126) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-126) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p-1) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p-1) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.921fb6p+2) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.921fb6p+2) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -0x1.fffffep+127) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const 0x1.fffffep+127) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const inf) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const inf) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const inf) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const inf) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const inf) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const inf) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const inf) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const inf) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const inf) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const inf) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const inf) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const inf) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const inf) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const inf) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f32.const inf) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const inf) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -inf) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const inf) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const inf) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const inf) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const inf) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const -nan:0x200000) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "lt" (f32.const nan:0x200000) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x0p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x0p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-149) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-149) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-126) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-126) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p-1) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p-1) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.921fb6p+2) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.921fb6p+2) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -0x1.fffffep+127) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const 0x1.fffffep+127) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -inf) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -inf) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const inf) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const inf) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -inf) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -inf) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "le" (f32.const inf) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const inf) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -inf) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -inf) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "le" (f32.const inf) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const inf) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -inf) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -inf) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f32.const inf) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const inf) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -inf) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -inf) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f32.const inf) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const inf) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -inf) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -inf) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "le" (f32.const inf) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const inf) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -inf) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -inf) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "le" (f32.const inf) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const inf) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -inf) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -inf) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const inf) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const inf) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f32.const -inf) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -inf) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -inf) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -inf) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const inf) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const inf) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const inf) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const inf) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const -nan:0x200000) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "le" (f32.const nan:0x200000) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x0p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x0p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-149) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-149) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-126) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-126) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p-1) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p-1) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.921fb6p+2) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.921fb6p+2) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -0x1.fffffep+127) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const 0x1.fffffep+127) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const inf) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const inf) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const inf) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const inf) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const inf) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const inf) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const inf) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const inf) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const inf) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const inf) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const inf) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const inf) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const inf) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const inf) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const inf) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f32.const inf) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -inf) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const inf) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const inf) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const inf) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const inf) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const -nan:0x200000) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "gt" (f32.const nan:0x200000) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x0p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x0p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-149) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-149) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-126) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-126) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p-1) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p-1) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1p+0) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.921fb6p+2) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.921fb6p+2) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -0x1.fffffep+127) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const 0x1.fffffep+127) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const inf) (f32.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const inf) (f32.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const inf) (f32.const -0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const inf) (f32.const 0x1p-149)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const inf) (f32.const -0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const inf) (f32.const 0x1p-126)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const inf) (f32.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const inf) (f32.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const inf) (f32.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const inf) (f32.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const inf) (f32.const -0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const inf) (f32.const 0x1.921fb6p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const inf) (f32.const -0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const inf) (f32.const 0x1.fffffep+127)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const inf) (f32.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const inf) (f32.const inf)) (i32.const 1)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -inf) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const inf) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const inf) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const inf) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const inf) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const -0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const 0x1p-149)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const -0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const 0x1p-126)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const -0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const 0x1.921fb6p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const -0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const 0x1.fffffep+127)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const -inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const -nan:0x200000) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const -nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan) (f32.const nan:0x200000)) (i32.const 0)) -(assert_return (invoke "ge" (f32.const nan:0x200000) (f32.const nan:0x200000)) (i32.const 0)) - - -;; Type check - -(assert_invalid (module (func (result f32) (f32.eq (i64.const 0) (f64.const 0)))) "type mismatch") -(assert_invalid (module (func (result f32) (f32.ge (i64.const 0) (f64.const 0)))) "type mismatch") -(assert_invalid (module (func (result f32) (f32.gt (i64.const 0) (f64.const 0)))) "type mismatch") -(assert_invalid (module (func (result f32) (f32.le (i64.const 0) (f64.const 0)))) "type mismatch") -(assert_invalid (module (func (result f32) (f32.lt (i64.const 0) (f64.const 0)))) "type mismatch") -(assert_invalid (module (func (result f32) (f32.ne (i64.const 0) (f64.const 0)))) "type mismatch") diff --git a/test/spec/f64_bitwise.wast b/test/spec/f64_bitwise.wast deleted file mode 100644 index f268a3e18..000000000 --- a/test/spec/f64_bitwise.wast +++ /dev/null @@ -1,376 +0,0 @@ -;; Test all the f64 bitwise operators on major boundary values and all special -;; values. - -(module - (func (export "abs") (param $x f64) (result f64) (f64.abs (local.get $x))) - (func (export "neg") (param $x f64) (result f64) (f64.neg (local.get $x))) - (func (export "copysign") (param $x f64) (param $y f64) (result f64) (f64.copysign (local.get $x) (local.get $y))) -) - -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const -0x0p+0)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const 0x0p+0)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const -0x0p+0)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const 0x0p+0)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const -0x1p-1022)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const 0x1p-1022)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const -0x1p-1022)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const 0x1p-1022)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const -0x1p-1)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const 0x1p-1)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const -0x1p-1)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const 0x1p-1)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const -0x1p+0)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const 0x1p+0)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const -0x1p+0)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const 0x1p+0)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const -inf)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const inf)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const -inf)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const inf)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const -nan)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0p+0) (f64.const nan)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const -nan)) (f64.const -0x0p+0)) -(assert_return (invoke "copysign" (f64.const 0x0p+0) (f64.const nan)) (f64.const 0x0p+0)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0p+0)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0p+0)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0p+0)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0p+0)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p+0)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p+0)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p+0)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p+0)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const -inf)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const inf)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const -inf)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const inf)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const -nan)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x0.0000000000001p-1022) (f64.const nan)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const -nan)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const 0x0.0000000000001p-1022) (f64.const nan)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const -0x0p+0)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const 0x0p+0)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const -0x0p+0)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const 0x0p+0)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const -0x1p-1022)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const 0x1p-1022)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const -0x1p-1022)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const 0x1p-1022)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const -0x1p-1)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const 0x1p-1)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const -0x1p-1)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const 0x1p-1)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const -0x1p+0)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const 0x1p+0)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const -0x1p+0)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const 0x1p+0)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const -inf)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const inf)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const -inf)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const inf)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const -nan)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1022) (f64.const nan)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const -nan)) (f64.const -0x1p-1022)) -(assert_return (invoke "copysign" (f64.const 0x1p-1022) (f64.const nan)) (f64.const 0x1p-1022)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const -0x0p+0)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const 0x0p+0)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const -0x0p+0)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const 0x0p+0)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const -0x1p-1022)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const 0x1p-1022)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const -0x1p-1022)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const 0x1p-1022)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const -0x1p-1)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const 0x1p-1)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const -0x1p-1)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const 0x1p-1)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const -0x1p+0)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const 0x1p+0)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const -0x1p+0)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const 0x1p+0)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const -inf)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const inf)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const -inf)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const inf)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const -nan)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p-1) (f64.const nan)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const -nan)) (f64.const -0x1p-1)) -(assert_return (invoke "copysign" (f64.const 0x1p-1) (f64.const nan)) (f64.const 0x1p-1)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const -0x0p+0)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const 0x0p+0)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const -0x0p+0)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const 0x0p+0)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const -0x1p-1022)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const 0x1p-1022)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const -0x1p-1022)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const 0x1p-1022)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const -0x1p-1)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const 0x1p-1)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const -0x1p-1)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const 0x1p-1)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const -0x1p+0)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const 0x1p+0)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const -0x1p+0)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const 0x1p+0)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const -inf)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const inf)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const -inf)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const inf)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const -nan)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1p+0) (f64.const nan)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const -nan)) (f64.const -0x1p+0)) -(assert_return (invoke "copysign" (f64.const 0x1p+0) (f64.const nan)) (f64.const 0x1p+0)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const -inf)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const inf)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const -inf)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const inf)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.921fb54442d18p+2) (f64.const nan)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const 0x1.921fb54442d18p+2) (f64.const nan)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const -inf)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const inf)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const -inf)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const inf)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const -0x0p+0)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const 0x0p+0)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const -0x0p+0)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const 0x0p+0)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const -0x0.0000000000001p-1022)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const 0x0.0000000000001p-1022)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const -0x0.0000000000001p-1022)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const 0x0.0000000000001p-1022)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const -0x1p-1022)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const 0x1p-1022)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const -0x1p-1022)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const 0x1p-1022)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const -0x1p-1)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const 0x1p-1)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const -0x1p-1)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const 0x1p-1)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const -0x1p+0)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const 0x1p+0)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const -0x1p+0)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const 0x1p+0)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const -0x1.921fb54442d18p+2)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const 0x1.921fb54442d18p+2)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const -0x1.921fb54442d18p+2)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const 0x1.921fb54442d18p+2)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const 0x1.fffffffffffffp+1023)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const 0x1.fffffffffffffp+1023)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const -inf)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const inf)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const -inf)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const inf)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const -nan)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const -inf) (f64.const nan)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const -nan)) (f64.const -inf)) -(assert_return (invoke "copysign" (f64.const inf) (f64.const nan)) (f64.const inf)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x0p+0)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x0p+0)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const -0x0p+0)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const 0x0p+0)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x0.0000000000001p-1022)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x0.0000000000001p-1022)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const -0x0.0000000000001p-1022)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const 0x0.0000000000001p-1022)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x1p-1022)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x1p-1022)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const -0x1p-1022)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const 0x1p-1022)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x1p-1)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x1p-1)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const -0x1p-1)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const 0x1p-1)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x1p+0)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x1p+0)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const -0x1p+0)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const 0x1p+0)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x1.921fb54442d18p+2)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x1.921fb54442d18p+2)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const -0x1.921fb54442d18p+2)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const 0x1.921fb54442d18p+2)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const 0x1.fffffffffffffp+1023)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const -0x1.fffffffffffffp+1023)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const 0x1.fffffffffffffp+1023)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const -inf)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const inf)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const -inf)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const inf)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const -nan)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const -nan) (f64.const nan)) (f64.const nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const -nan)) (f64.const -nan)) -(assert_return (invoke "copysign" (f64.const nan) (f64.const nan)) (f64.const nan)) -(assert_return (invoke "abs" (f64.const -0x0p+0)) (f64.const 0x0p+0)) -(assert_return (invoke "abs" (f64.const 0x0p+0)) (f64.const 0x0p+0)) -(assert_return (invoke "abs" (f64.const -0x0.0000000000001p-1022)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "abs" (f64.const 0x0.0000000000001p-1022)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "abs" (f64.const -0x1p-1022)) (f64.const 0x1p-1022)) -(assert_return (invoke "abs" (f64.const 0x1p-1022)) (f64.const 0x1p-1022)) -(assert_return (invoke "abs" (f64.const -0x1p-1)) (f64.const 0x1p-1)) -(assert_return (invoke "abs" (f64.const 0x1p-1)) (f64.const 0x1p-1)) -(assert_return (invoke "abs" (f64.const -0x1p+0)) (f64.const 0x1p+0)) -(assert_return (invoke "abs" (f64.const 0x1p+0)) (f64.const 0x1p+0)) -(assert_return (invoke "abs" (f64.const -0x1.921fb54442d18p+2)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "abs" (f64.const 0x1.921fb54442d18p+2)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "abs" (f64.const -0x1.fffffffffffffp+1023)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "abs" (f64.const 0x1.fffffffffffffp+1023)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "abs" (f64.const -inf)) (f64.const inf)) -(assert_return (invoke "abs" (f64.const inf)) (f64.const inf)) -(assert_return (invoke "abs" (f64.const -nan)) (f64.const nan)) -(assert_return (invoke "abs" (f64.const nan)) (f64.const nan)) -(assert_return (invoke "neg" (f64.const -0x0p+0)) (f64.const 0x0p+0)) -(assert_return (invoke "neg" (f64.const 0x0p+0)) (f64.const -0x0p+0)) -(assert_return (invoke "neg" (f64.const -0x0.0000000000001p-1022)) (f64.const 0x0.0000000000001p-1022)) -(assert_return (invoke "neg" (f64.const 0x0.0000000000001p-1022)) (f64.const -0x0.0000000000001p-1022)) -(assert_return (invoke "neg" (f64.const -0x1p-1022)) (f64.const 0x1p-1022)) -(assert_return (invoke "neg" (f64.const 0x1p-1022)) (f64.const -0x1p-1022)) -(assert_return (invoke "neg" (f64.const -0x1p-1)) (f64.const 0x1p-1)) -(assert_return (invoke "neg" (f64.const 0x1p-1)) (f64.const -0x1p-1)) -(assert_return (invoke "neg" (f64.const -0x1p+0)) (f64.const 0x1p+0)) -(assert_return (invoke "neg" (f64.const 0x1p+0)) (f64.const -0x1p+0)) -(assert_return (invoke "neg" (f64.const -0x1.921fb54442d18p+2)) (f64.const 0x1.921fb54442d18p+2)) -(assert_return (invoke "neg" (f64.const 0x1.921fb54442d18p+2)) (f64.const -0x1.921fb54442d18p+2)) -(assert_return (invoke "neg" (f64.const -0x1.fffffffffffffp+1023)) (f64.const 0x1.fffffffffffffp+1023)) -(assert_return (invoke "neg" (f64.const 0x1.fffffffffffffp+1023)) (f64.const -0x1.fffffffffffffp+1023)) -(assert_return (invoke "neg" (f64.const -inf)) (f64.const inf)) -(assert_return (invoke "neg" (f64.const inf)) (f64.const -inf)) -(assert_return (invoke "neg" (f64.const -nan)) (f64.const nan)) -(assert_return (invoke "neg" (f64.const nan)) (f64.const -nan)) - - -;; Type check - -(assert_invalid (module (func (result f64) (f64.copysign (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result f64) (f64.abs (i64.const 0)))) "type mismatch") -(assert_invalid (module (func (result f64) (f64.neg (i64.const 0)))) "type mismatch") diff --git a/test/spec/f64_cmp.wast b/test/spec/f64_cmp.wast deleted file mode 100644 index dd79929d2..000000000 --- a/test/spec/f64_cmp.wast +++ /dev/null @@ -1,2422 +0,0 @@ -;; Test all the f64 comparison operators on major boundary values and all -;; special values. - -(module - (func (export "eq") (param $x f64) (param $y f64) (result i32) (f64.eq (local.get $x) (local.get $y))) - (func (export "ne") (param $x f64) (param $y f64) (result i32) (f64.ne (local.get $x) (local.get $y))) - (func (export "lt") (param $x f64) (param $y f64) (result i32) (f64.lt (local.get $x) (local.get $y))) - (func (export "le") (param $x f64) (param $y f64) (result i32) (f64.le (local.get $x) (local.get $y))) - (func (export "gt") (param $x f64) (param $y f64) (result i32) (f64.gt (local.get $x) (local.get $y))) - (func (export "ge") (param $x f64) (param $y f64) (result i32) (f64.ge (local.get $x) (local.get $y))) -) - -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p-1) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p-1) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.921fb54442d18p+2) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.921fb54442d18p+2) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -inf) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const inf) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const -nan:0x4000000000000) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (f64.const nan:0x4000000000000) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0p+0) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0p+0) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1022) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1022) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p-1) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p-1) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1p+0) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1p+0) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.921fb54442d18p+2) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.921fb54442d18p+2) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -inf) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const inf) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const -nan:0x4000000000000) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const -nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const -nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const nan)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (f64.const nan:0x4000000000000) (f64.const nan:0x4000000000000)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p-1) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p-1) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.921fb54442d18p+2) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.921fb54442d18p+2) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const inf) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const inf) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const inf) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const inf) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const inf) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const inf) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const inf) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const inf) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const inf) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const inf) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const inf) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const inf) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const inf) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const inf) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "lt" (f64.const inf) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const inf) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -inf) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const inf) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const inf) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const inf) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const inf) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const -nan:0x4000000000000) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "lt" (f64.const nan:0x4000000000000) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p-1) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p-1) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.921fb54442d18p+2) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.921fb54442d18p+2) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -inf) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -inf) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const inf) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const inf) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -inf) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -inf) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const inf) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const inf) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -inf) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -inf) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "le" (f64.const inf) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const inf) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -inf) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -inf) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "le" (f64.const inf) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const inf) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -inf) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -inf) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "le" (f64.const inf) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const inf) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -inf) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -inf) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "le" (f64.const inf) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const inf) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -inf) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -inf) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "le" (f64.const inf) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const inf) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -inf) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -inf) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const inf) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const inf) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "le" (f64.const -inf) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -inf) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -inf) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -inf) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const inf) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const inf) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const inf) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const inf) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const -nan:0x4000000000000) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "le" (f64.const nan:0x4000000000000) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p-1) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p-1) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.921fb54442d18p+2) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.921fb54442d18p+2) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const inf) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const inf) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const inf) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const inf) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const inf) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const inf) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const inf) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const inf) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const inf) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const inf) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const inf) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const inf) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const inf) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const inf) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const inf) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "gt" (f64.const inf) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -inf) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const inf) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const inf) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const inf) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const inf) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const -nan:0x4000000000000) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "gt" (f64.const nan:0x4000000000000) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x0.0000000000001p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1022) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p-1) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p-1) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1p+0) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.921fb54442d18p+2) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.921fb54442d18p+2) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -0x1.fffffffffffffp+1023) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const 0x1.fffffffffffffp+1023) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const inf) (f64.const -0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const inf) (f64.const 0x0p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const inf) (f64.const -0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const inf) (f64.const 0x0.0000000000001p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const inf) (f64.const -0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const inf) (f64.const 0x1p-1022)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const inf) (f64.const -0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const inf) (f64.const 0x1p-1)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const inf) (f64.const -0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const inf) (f64.const 0x1p+0)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const inf) (f64.const -0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const inf) (f64.const 0x1.921fb54442d18p+2)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const inf) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const inf) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const inf) (f64.const -inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const inf) (f64.const inf)) (i32.const 1)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -inf) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const inf) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const inf) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const inf) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const inf) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const -0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const 0x0p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const -0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const 0x0.0000000000001p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const -0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const 0x1p-1022)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const -0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const 0x1p-1)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const -0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const 0x1p+0)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const -0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const 0x1.921fb54442d18p+2)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const -0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const 0x1.fffffffffffffp+1023)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const -inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const inf)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const -nan:0x4000000000000) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const -nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const -nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const nan)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan) (f64.const nan:0x4000000000000)) (i32.const 0)) -(assert_return (invoke "ge" (f64.const nan:0x4000000000000) (f64.const nan:0x4000000000000)) (i32.const 0)) - - -;; Type check - -(assert_invalid (module (func (result f64) (f64.eq (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result f64) (f64.ge (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result f64) (f64.gt (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result f64) (f64.le (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result f64) (f64.lt (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result f64) (f64.ne (i64.const 0) (f32.const 0)))) "type mismatch") diff --git a/test/spec/float_literals.wast b/test/spec/float_literals.wast deleted file mode 100644 index fefb91fbb..000000000 --- a/test/spec/float_literals.wast +++ /dev/null @@ -1,507 +0,0 @@ -;; Test floating-point literal parsing. - -(module - ;; f32 special values - (func (export "f32.nan") (result i32) (i32.reinterpret_f32 (f32.const nan))) - (func (export "f32.positive_nan") (result i32) (i32.reinterpret_f32 (f32.const +nan))) - (func (export "f32.negative_nan") (result i32) (i32.reinterpret_f32 (f32.const -nan))) - (func (export "f32.plain_nan") (result i32) (i32.reinterpret_f32 (f32.const nan:0x400000))) - (func (export "f32.informally_known_as_plain_snan") (result i32) (i32.reinterpret_f32 (f32.const nan:0x200000))) - (func (export "f32.all_ones_nan") (result i32) (i32.reinterpret_f32 (f32.const -nan:0x7fffff))) - (func (export "f32.misc_nan") (result i32) (i32.reinterpret_f32 (f32.const nan:0x012345))) - (func (export "f32.misc_positive_nan") (result i32) (i32.reinterpret_f32 (f32.const +nan:0x304050))) - (func (export "f32.misc_negative_nan") (result i32) (i32.reinterpret_f32 (f32.const -nan:0x2abcde))) - (func (export "f32.infinity") (result i32) (i32.reinterpret_f32 (f32.const inf))) - (func (export "f32.positive_infinity") (result i32) (i32.reinterpret_f32 (f32.const +inf))) - (func (export "f32.negative_infinity") (result i32) (i32.reinterpret_f32 (f32.const -inf))) - - ;; f32 numbers - (func (export "f32.zero") (result i32) (i32.reinterpret_f32 (f32.const 0x0.0p0))) - (func (export "f32.positive_zero") (result i32) (i32.reinterpret_f32 (f32.const +0x0.0p0))) - (func (export "f32.negative_zero") (result i32) (i32.reinterpret_f32 (f32.const -0x0.0p0))) - (func (export "f32.misc") (result i32) (i32.reinterpret_f32 (f32.const 0x1.921fb6p+2))) - (func (export "f32.min_positive") (result i32) (i32.reinterpret_f32 (f32.const 0x1p-149))) - (func (export "f32.min_normal") (result i32) (i32.reinterpret_f32 (f32.const 0x1p-126))) - (func (export "f32.max_finite") (result i32) (i32.reinterpret_f32 (f32.const 0x1.fffffep+127))) - (func (export "f32.max_subnormal") (result i32) (i32.reinterpret_f32 (f32.const 0x1.fffffcp-127))) - (func (export "f32.trailing_dot") (result i32) (i32.reinterpret_f32 (f32.const 0x1.p10))) - - ;; f32 in decimal format - (func (export "f32_dec.zero") (result i32) (i32.reinterpret_f32 (f32.const 0.0e0))) - (func (export "f32_dec.positive_zero") (result i32) (i32.reinterpret_f32 (f32.const +0.0e0))) - (func (export "f32_dec.negative_zero") (result i32) (i32.reinterpret_f32 (f32.const -0.0e0))) - (func (export "f32_dec.misc") (result i32) (i32.reinterpret_f32 (f32.const 6.28318548202514648))) - (func (export "f32_dec.min_positive") (result i32) (i32.reinterpret_f32 (f32.const 1.4013e-45))) - (func (export "f32_dec.min_normal") (result i32) (i32.reinterpret_f32 (f32.const 1.1754944e-38))) - (func (export "f32_dec.max_subnormal") (result i32) (i32.reinterpret_f32 (f32.const 1.1754942e-38))) - (func (export "f32_dec.max_finite") (result i32) (i32.reinterpret_f32 (f32.const 3.4028234e+38))) - (func (export "f32_dec.trailing_dot") (result i32) (i32.reinterpret_f32 (f32.const 1.e10))) - - ;; https://twitter.com/Archivd/status/994637336506912768 - (func (export "f32_dec.root_beer_float") (result i32) (i32.reinterpret_f32 (f32.const 1.000000119))) - - ;; f64 special values - (func (export "f64.nan") (result i64) (i64.reinterpret_f64 (f64.const nan))) - (func (export "f64.positive_nan") (result i64) (i64.reinterpret_f64 (f64.const +nan))) - (func (export "f64.negative_nan") (result i64) (i64.reinterpret_f64 (f64.const -nan))) - (func (export "f64.plain_nan") (result i64) (i64.reinterpret_f64 (f64.const nan:0x8000000000000))) - (func (export "f64.informally_known_as_plain_snan") (result i64) (i64.reinterpret_f64 (f64.const nan:0x4000000000000))) - (func (export "f64.all_ones_nan") (result i64) (i64.reinterpret_f64 (f64.const -nan:0xfffffffffffff))) - (func (export "f64.misc_nan") (result i64) (i64.reinterpret_f64 (f64.const nan:0x0123456789abc))) - (func (export "f64.misc_positive_nan") (result i64) (i64.reinterpret_f64 (f64.const +nan:0x3040506070809))) - (func (export "f64.misc_negative_nan") (result i64) (i64.reinterpret_f64 (f64.const -nan:0x2abcdef012345))) - (func (export "f64.infinity") (result i64) (i64.reinterpret_f64 (f64.const inf))) - (func (export "f64.positive_infinity") (result i64) (i64.reinterpret_f64 (f64.const +inf))) - (func (export "f64.negative_infinity") (result i64) (i64.reinterpret_f64 (f64.const -inf))) - - ;; f64 numbers - (func (export "f64.zero") (result i64) (i64.reinterpret_f64 (f64.const 0x0.0p0))) - (func (export "f64.positive_zero") (result i64) (i64.reinterpret_f64 (f64.const +0x0.0p0))) - (func (export "f64.negative_zero") (result i64) (i64.reinterpret_f64 (f64.const -0x0.0p0))) - (func (export "f64.misc") (result i64) (i64.reinterpret_f64 (f64.const 0x1.921fb54442d18p+2))) - (func (export "f64.min_positive") (result i64) (i64.reinterpret_f64 (f64.const 0x0.0000000000001p-1022))) - (func (export "f64.min_normal") (result i64) (i64.reinterpret_f64 (f64.const 0x1p-1022))) - (func (export "f64.max_subnormal") (result i64) (i64.reinterpret_f64 (f64.const 0x0.fffffffffffffp-1022))) - (func (export "f64.max_finite") (result i64) (i64.reinterpret_f64 (f64.const 0x1.fffffffffffffp+1023))) - (func (export "f64.trailing_dot") (result i64) (i64.reinterpret_f64 (f64.const 0x1.p100))) - - ;; f64 numbers in decimal format - (func (export "f64_dec.zero") (result i64) (i64.reinterpret_f64 (f64.const 0.0e0))) - (func (export "f64_dec.positive_zero") (result i64) (i64.reinterpret_f64 (f64.const +0.0e0))) - (func (export "f64_dec.negative_zero") (result i64) (i64.reinterpret_f64 (f64.const -0.0e0))) - (func (export "f64_dec.misc") (result i64) (i64.reinterpret_f64 (f64.const 6.28318530717958623))) - (func (export "f64_dec.min_positive") (result i64) (i64.reinterpret_f64 (f64.const 4.94066e-324))) - (func (export "f64_dec.min_normal") (result i64) (i64.reinterpret_f64 (f64.const 2.2250738585072012e-308))) - (func (export "f64_dec.max_subnormal") (result i64) (i64.reinterpret_f64 (f64.const 2.2250738585072011e-308))) - (func (export "f64_dec.max_finite") (result i64) (i64.reinterpret_f64 (f64.const 1.7976931348623157e+308))) - (func (export "f64_dec.trailing_dot") (result i64) (i64.reinterpret_f64 (f64.const 1.e100))) - - ;; https://twitter.com/Archivd/status/994637336506912768 - (func (export "f64_dec.root_beer_float") (result i64) (i64.reinterpret_f64 (f64.const 1.000000119))) - - (func (export "f32-dec-sep1") (result f32) (f32.const 1_000_000)) - (func (export "f32-dec-sep2") (result f32) (f32.const 1_0_0_0)) - (func (export "f32-dec-sep3") (result f32) (f32.const 100_3.141_592)) - (func (export "f32-dec-sep4") (result f32) (f32.const 99e+1_3)) - (func (export "f32-dec-sep5") (result f32) (f32.const 122_000.11_3_54E0_2_3)) - (func (export "f32-hex-sep1") (result f32) (f32.const 0xa_0f_00_99)) - (func (export "f32-hex-sep2") (result f32) (f32.const 0x1_a_A_0_f)) - (func (export "f32-hex-sep3") (result f32) (f32.const 0xa0_ff.f141_a59a)) - (func (export "f32-hex-sep4") (result f32) (f32.const 0xf0P+1_3)) - (func (export "f32-hex-sep5") (result f32) (f32.const 0x2a_f00a.1f_3_eep2_3)) - - (func (export "f64-dec-sep1") (result f64) (f64.const 1_000_000)) - (func (export "f64-dec-sep2") (result f64) (f64.const 1_0_0_0)) - (func (export "f64-dec-sep3") (result f64) (f64.const 100_3.141_592)) - (func (export "f64-dec-sep4") (result f64) (f64.const 99e-1_23)) - (func (export "f64-dec-sep5") (result f64) (f64.const 122_000.11_3_54e0_2_3)) - (func (export "f64-hex-sep1") (result f64) (f64.const 0xa_f00f_0000_9999)) - (func (export "f64-hex-sep2") (result f64) (f64.const 0x1_a_A_0_f)) - (func (export "f64-hex-sep3") (result f64) (f64.const 0xa0_ff.f141_a59a)) - (func (export "f64-hex-sep4") (result f64) (f64.const 0xf0P+1_3)) - (func (export "f64-hex-sep5") (result f64) (f64.const 0x2a_f00a.1f_3_eep2_3)) -) - -(assert_return (invoke "f32.nan") (i32.const 0x7fc00000)) -(assert_return (invoke "f32.positive_nan") (i32.const 0x7fc00000)) -(assert_return (invoke "f32.negative_nan") (i32.const 0xffc00000)) -(assert_return (invoke "f32.plain_nan") (i32.const 0x7fc00000)) -(assert_return (invoke "f32.informally_known_as_plain_snan") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.all_ones_nan") (i32.const 0xffffffff)) -(assert_return (invoke "f32.misc_nan") (i32.const 0x7f812345)) -(assert_return (invoke "f32.misc_positive_nan") (i32.const 0x7fb04050)) -(assert_return (invoke "f32.misc_negative_nan") (i32.const 0xffaabcde)) -(assert_return (invoke "f32.infinity") (i32.const 0x7f800000)) -(assert_return (invoke "f32.positive_infinity") (i32.const 0x7f800000)) -(assert_return (invoke "f32.negative_infinity") (i32.const 0xff800000)) -(assert_return (invoke "f32.zero") (i32.const 0)) -(assert_return (invoke "f32.positive_zero") (i32.const 0)) -(assert_return (invoke "f32.negative_zero") (i32.const 0x80000000)) -(assert_return (invoke "f32.misc") (i32.const 0x40c90fdb)) -(assert_return (invoke "f32.min_positive") (i32.const 1)) -(assert_return (invoke "f32.min_normal") (i32.const 0x800000)) -(assert_return (invoke "f32.max_subnormal") (i32.const 0x7fffff)) -(assert_return (invoke "f32.max_finite") (i32.const 0x7f7fffff)) -(assert_return (invoke "f32.trailing_dot") (i32.const 0x44800000)) -(assert_return (invoke "f32_dec.zero") (i32.const 0)) -(assert_return (invoke "f32_dec.positive_zero") (i32.const 0)) -(assert_return (invoke "f32_dec.negative_zero") (i32.const 0x80000000)) -(assert_return (invoke "f32_dec.misc") (i32.const 0x40c90fdb)) -(assert_return (invoke "f32_dec.min_positive") (i32.const 1)) -(assert_return (invoke "f32_dec.min_normal") (i32.const 0x800000)) -(assert_return (invoke "f32_dec.max_subnormal") (i32.const 0x7fffff)) -(assert_return (invoke "f32_dec.max_finite") (i32.const 0x7f7fffff)) -(assert_return (invoke "f32_dec.trailing_dot") (i32.const 0x501502f9)) -(assert_return (invoke "f32_dec.root_beer_float") (i32.const 0x3f800001)) - -(assert_return (invoke "f64.nan") (i64.const 0x7ff8000000000000)) -(assert_return (invoke "f64.positive_nan") (i64.const 0x7ff8000000000000)) -(assert_return (invoke "f64.negative_nan") (i64.const 0xfff8000000000000)) -(assert_return (invoke "f64.plain_nan") (i64.const 0x7ff8000000000000)) -(assert_return (invoke "f64.informally_known_as_plain_snan") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.all_ones_nan") (i64.const 0xffffffffffffffff)) -(assert_return (invoke "f64.misc_nan") (i64.const 0x7ff0123456789abc)) -(assert_return (invoke "f64.misc_positive_nan") (i64.const 0x7ff3040506070809)) -(assert_return (invoke "f64.misc_negative_nan") (i64.const 0xfff2abcdef012345)) -(assert_return (invoke "f64.infinity") (i64.const 0x7ff0000000000000)) -(assert_return (invoke "f64.positive_infinity") (i64.const 0x7ff0000000000000)) -(assert_return (invoke "f64.negative_infinity") (i64.const 0xfff0000000000000)) -(assert_return (invoke "f64.zero") (i64.const 0)) -(assert_return (invoke "f64.positive_zero") (i64.const 0)) -(assert_return (invoke "f64.negative_zero") (i64.const 0x8000000000000000)) -(assert_return (invoke "f64.misc") (i64.const 0x401921fb54442d18)) -(assert_return (invoke "f64.min_positive") (i64.const 1)) -(assert_return (invoke "f64.min_normal") (i64.const 0x10000000000000)) -(assert_return (invoke "f64.max_subnormal") (i64.const 0xfffffffffffff)) -(assert_return (invoke "f64.max_finite") (i64.const 0x7fefffffffffffff)) -(assert_return (invoke "f64.trailing_dot") (i64.const 0x4630000000000000)) -(assert_return (invoke "f64_dec.zero") (i64.const 0)) -(assert_return (invoke "f64_dec.positive_zero") (i64.const 0)) -(assert_return (invoke "f64_dec.negative_zero") (i64.const 0x8000000000000000)) -(assert_return (invoke "f64_dec.misc") (i64.const 0x401921fb54442d18)) -(assert_return (invoke "f64_dec.min_positive") (i64.const 1)) -(assert_return (invoke "f64_dec.min_normal") (i64.const 0x10000000000000)) -(assert_return (invoke "f64_dec.max_subnormal") (i64.const 0xfffffffffffff)) -(assert_return (invoke "f64_dec.max_finite") (i64.const 0x7fefffffffffffff)) -(assert_return (invoke "f64_dec.trailing_dot") (i64.const 0x54b249ad2594c37d)) -(assert_return (invoke "f64_dec.root_beer_float") (i64.const 0x3ff000001ff19e24)) - -(assert_return (invoke "f32-dec-sep1") (f32.const 1000000)) -(assert_return (invoke "f32-dec-sep2") (f32.const 1000)) -(assert_return (invoke "f32-dec-sep3") (f32.const 1003.141592)) -(assert_return (invoke "f32-dec-sep4") (f32.const 99e+13)) -(assert_return (invoke "f32-dec-sep5") (f32.const 122000.11354e23)) -(assert_return (invoke "f32-hex-sep1") (f32.const 0xa0f0099)) -(assert_return (invoke "f32-hex-sep2") (f32.const 0x1aa0f)) -(assert_return (invoke "f32-hex-sep3") (f32.const 0xa0ff.f141a59a)) -(assert_return (invoke "f32-hex-sep4") (f32.const 0xf0P+13)) -(assert_return (invoke "f32-hex-sep5") (f32.const 0x2af00a.1f3eep23)) - -(assert_return (invoke "f64-dec-sep1") (f64.const 1000000)) -(assert_return (invoke "f64-dec-sep2") (f64.const 1000)) -(assert_return (invoke "f64-dec-sep3") (f64.const 1003.141592)) -(assert_return (invoke "f64-dec-sep4") (f64.const 99e-123)) -(assert_return (invoke "f64-dec-sep5") (f64.const 122000.11354e23)) -(assert_return (invoke "f64-hex-sep1") (f64.const 0xaf00f00009999)) -(assert_return (invoke "f64-hex-sep2") (f64.const 0x1aa0f)) -(assert_return (invoke "f64-hex-sep3") (f64.const 0xa0ff.f141a59a)) -(assert_return (invoke "f64-hex-sep4") (f64.const 0xf0P+13)) -(assert_return (invoke "f64-hex-sep5") (f64.const 0x2af00a.1f3eep23)) - -;; Test parsing a float from binary -(module binary - ;; (func (export "4294967249") (result f64) (f64.const 4294967249)) - "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60" - "\00\01\7c\03\82\80\80\80\00\01\00\07\8e\80\80\80" - "\00\01\0a\34\32\39\34\39\36\37\32\34\39\00\00\0a" - "\91\80\80\80\00\01\8b\80\80\80\00\00\44\00\00\20" - "\fa\ff\ff\ef\41\0b" -) - -(assert_return (invoke "4294967249") (f64.const 4294967249)) - -(assert_malformed - (module quote "(global f32 (f32.const _100))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const +_100))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const -_100))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 99_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 1__000))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const _1.0))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 1.0_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 1_.0))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 1._0))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const _1e1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 1e1_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 1_e1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 1e_1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const _1.0e1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 1.0e1_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 1.0_e1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 1.0e_1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 1.0e+_1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 1.0e_+1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const _0x100))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0_x100))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x_100))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x00_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0xff__ffff))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x_1.0))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x1.0_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x1_.0))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x1._0))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x_1p1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x1p1_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x1_p1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x1p_1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x_1.0p1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x1.0p1_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x1.0_p1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x1.0p_1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x1.0p+_1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f32 (f32.const 0x1.0p_+1))") - "unknown operator" -) - -(assert_malformed - (module quote "(global f64 (f64.const _100))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const +_100))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const -_100))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 99_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 1__000))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const _1.0))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 1.0_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 1_.0))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 1._0))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const _1e1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 1e1_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 1_e1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 1e_1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const _1.0e1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 1.0e1_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 1.0_e1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 1.0e_1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 1.0e+_1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 1.0e_+1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const _0x100))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0_x100))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x_100))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x00_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0xff__ffff))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x_1.0))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x1.0_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x1_.0))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x1._0))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x_1p1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x1p1_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x1_p1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x1p_1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x_1.0p1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x1.0p1_))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x1.0_p1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x1.0p_1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x1.0p+_1))") - "unknown operator" -) -(assert_malformed - (module quote "(global f64 (f64.const 0x1.0p_+1))") - "unknown operator" -) diff --git a/test/spec/float_memory.wast b/test/spec/float_memory.wast deleted file mode 100644 index 3801158f9..000000000 --- a/test/spec/float_memory.wast +++ /dev/null @@ -1,157 +0,0 @@ -;; Test that floating-point load and store are bit-preserving. - -;; Test that load and store do not canonicalize NaNs as x87 does. - -(module - (memory (data "\00\00\a0\7f")) - - (func (export "f32.load") (result f32) (f32.load (i32.const 0))) - (func (export "i32.load") (result i32) (i32.load (i32.const 0))) - (func (export "f32.store") (f32.store (i32.const 0) (f32.const nan:0x200000))) - (func (export "i32.store") (i32.store (i32.const 0) (i32.const 0x7fa00000))) - (func (export "reset") (i32.store (i32.const 0) (i32.const 0))) -) - -(assert_return (invoke "i32.load") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.load") (f32.const nan:0x200000)) -(invoke "reset") -(assert_return (invoke "i32.load") (i32.const 0x0)) -(assert_return (invoke "f32.load") (f32.const 0.0)) -(invoke "f32.store") -(assert_return (invoke "i32.load") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.load") (f32.const nan:0x200000)) -(invoke "reset") -(assert_return (invoke "i32.load") (i32.const 0x0)) -(assert_return (invoke "f32.load") (f32.const 0.0)) -(invoke "i32.store") -(assert_return (invoke "i32.load") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.load") (f32.const nan:0x200000)) - -(module - (memory (data "\00\00\00\00\00\00\f4\7f")) - - (func (export "f64.load") (result f64) (f64.load (i32.const 0))) - (func (export "i64.load") (result i64) (i64.load (i32.const 0))) - (func (export "f64.store") (f64.store (i32.const 0) (f64.const nan:0x4000000000000))) - (func (export "i64.store") (i64.store (i32.const 0) (i64.const 0x7ff4000000000000))) - (func (export "reset") (i64.store (i32.const 0) (i64.const 0))) -) - -(assert_return (invoke "i64.load") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.load") (f64.const nan:0x4000000000000)) -(invoke "reset") -(assert_return (invoke "i64.load") (i64.const 0x0)) -(assert_return (invoke "f64.load") (f64.const 0.0)) -(invoke "f64.store") -(assert_return (invoke "i64.load") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.load") (f64.const nan:0x4000000000000)) -(invoke "reset") -(assert_return (invoke "i64.load") (i64.const 0x0)) -(assert_return (invoke "f64.load") (f64.const 0.0)) -(invoke "i64.store") -(assert_return (invoke "i64.load") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.load") (f64.const nan:0x4000000000000)) - -;; Test that unaligned load and store do not canonicalize NaNs. - -(module - (memory (data "\00\00\00\a0\7f")) - - (func (export "f32.load") (result f32) (f32.load (i32.const 1))) - (func (export "i32.load") (result i32) (i32.load (i32.const 1))) - (func (export "f32.store") (f32.store (i32.const 1) (f32.const nan:0x200000))) - (func (export "i32.store") (i32.store (i32.const 1) (i32.const 0x7fa00000))) - (func (export "reset") (i32.store (i32.const 1) (i32.const 0))) -) - -(assert_return (invoke "i32.load") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.load") (f32.const nan:0x200000)) -(invoke "reset") -(assert_return (invoke "i32.load") (i32.const 0x0)) -(assert_return (invoke "f32.load") (f32.const 0.0)) -(invoke "f32.store") -(assert_return (invoke "i32.load") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.load") (f32.const nan:0x200000)) -(invoke "reset") -(assert_return (invoke "i32.load") (i32.const 0x0)) -(assert_return (invoke "f32.load") (f32.const 0.0)) -(invoke "i32.store") -(assert_return (invoke "i32.load") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.load") (f32.const nan:0x200000)) - -(module - (memory (data "\00\00\00\00\00\00\00\f4\7f")) - - (func (export "f64.load") (result f64) (f64.load (i32.const 1))) - (func (export "i64.load") (result i64) (i64.load (i32.const 1))) - (func (export "f64.store") (f64.store (i32.const 1) (f64.const nan:0x4000000000000))) - (func (export "i64.store") (i64.store (i32.const 1) (i64.const 0x7ff4000000000000))) - (func (export "reset") (i64.store (i32.const 1) (i64.const 0))) -) - -(assert_return (invoke "i64.load") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.load") (f64.const nan:0x4000000000000)) -(invoke "reset") -(assert_return (invoke "i64.load") (i64.const 0x0)) -(assert_return (invoke "f64.load") (f64.const 0.0)) -(invoke "f64.store") -(assert_return (invoke "i64.load") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.load") (f64.const nan:0x4000000000000)) -(invoke "reset") -(assert_return (invoke "i64.load") (i64.const 0x0)) -(assert_return (invoke "f64.load") (f64.const 0.0)) -(invoke "i64.store") -(assert_return (invoke "i64.load") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.load") (f64.const nan:0x4000000000000)) - -;; Test that load and store do not canonicalize NaNs as some JS engines do. - -(module - (memory (data "\01\00\d0\7f")) - - (func (export "f32.load") (result f32) (f32.load (i32.const 0))) - (func (export "i32.load") (result i32) (i32.load (i32.const 0))) - (func (export "f32.store") (f32.store (i32.const 0) (f32.const nan:0x500001))) - (func (export "i32.store") (i32.store (i32.const 0) (i32.const 0x7fd00001))) - (func (export "reset") (i32.store (i32.const 0) (i32.const 0))) -) - -(assert_return (invoke "i32.load") (i32.const 0x7fd00001)) -(assert_return (invoke "f32.load") (f32.const nan:0x500001)) -(invoke "reset") -(assert_return (invoke "i32.load") (i32.const 0x0)) -(assert_return (invoke "f32.load") (f32.const 0.0)) -(invoke "f32.store") -(assert_return (invoke "i32.load") (i32.const 0x7fd00001)) -(assert_return (invoke "f32.load") (f32.const nan:0x500001)) -(invoke "reset") -(assert_return (invoke "i32.load") (i32.const 0x0)) -(assert_return (invoke "f32.load") (f32.const 0.0)) -(invoke "i32.store") -(assert_return (invoke "i32.load") (i32.const 0x7fd00001)) -(assert_return (invoke "f32.load") (f32.const nan:0x500001)) - -(module - (memory (data "\01\00\00\00\00\00\fc\7f")) - - (func (export "f64.load") (result f64) (f64.load (i32.const 0))) - (func (export "i64.load") (result i64) (i64.load (i32.const 0))) - (func (export "f64.store") (f64.store (i32.const 0) (f64.const nan:0xc000000000001))) - (func (export "i64.store") (i64.store (i32.const 0) (i64.const 0x7ffc000000000001))) - (func (export "reset") (i64.store (i32.const 0) (i64.const 0))) -) - -(assert_return (invoke "i64.load") (i64.const 0x7ffc000000000001)) -(assert_return (invoke "f64.load") (f64.const nan:0xc000000000001)) -(invoke "reset") -(assert_return (invoke "i64.load") (i64.const 0x0)) -(assert_return (invoke "f64.load") (f64.const 0.0)) -(invoke "f64.store") -(assert_return (invoke "i64.load") (i64.const 0x7ffc000000000001)) -(assert_return (invoke "f64.load") (f64.const nan:0xc000000000001)) -(invoke "reset") -(assert_return (invoke "i64.load") (i64.const 0x0)) -(assert_return (invoke "f64.load") (f64.const 0.0)) -(invoke "i64.store") -(assert_return (invoke "i64.load") (i64.const 0x7ffc000000000001)) -(assert_return (invoke "f64.load") (f64.const nan:0xc000000000001)) diff --git a/test/spec/float_memory64.wast b/test/spec/float_memory64.wast deleted file mode 100644 index 674b254f5..000000000 --- a/test/spec/float_memory64.wast +++ /dev/null @@ -1,157 +0,0 @@ -;; Test that floating-point load and store are bit-preserving. - -;; Test that load and store do not canonicalize NaNs as x87 does. - -(module - (memory i64 (data "\00\00\a0\7f")) - - (func (export "f32.load") (result f32) (f32.load (i64.const 0))) - (func (export "i32.load") (result i32) (i32.load (i64.const 0))) - (func (export "f32.store") (f32.store (i64.const 0) (f32.const nan:0x200000))) - (func (export "i32.store") (i32.store (i64.const 0) (i32.const 0x7fa00000))) - (func (export "reset") (i32.store (i64.const 0) (i32.const 0))) -) - -(assert_return (invoke "i32.load") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.load") (f32.const nan:0x200000)) -(invoke "reset") -(assert_return (invoke "i32.load") (i32.const 0x0)) -(assert_return (invoke "f32.load") (f32.const 0.0)) -(invoke "f32.store") -(assert_return (invoke "i32.load") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.load") (f32.const nan:0x200000)) -(invoke "reset") -(assert_return (invoke "i32.load") (i32.const 0x0)) -(assert_return (invoke "f32.load") (f32.const 0.0)) -(invoke "i32.store") -(assert_return (invoke "i32.load") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.load") (f32.const nan:0x200000)) - -(module - (memory i64 (data "\00\00\00\00\00\00\f4\7f")) - - (func (export "f64.load") (result f64) (f64.load (i64.const 0))) - (func (export "i64.load") (result i64) (i64.load (i64.const 0))) - (func (export "f64.store") (f64.store (i64.const 0) (f64.const nan:0x4000000000000))) - (func (export "i64.store") (i64.store (i64.const 0) (i64.const 0x7ff4000000000000))) - (func (export "reset") (i64.store (i64.const 0) (i64.const 0))) -) - -(assert_return (invoke "i64.load") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.load") (f64.const nan:0x4000000000000)) -(invoke "reset") -(assert_return (invoke "i64.load") (i64.const 0x0)) -(assert_return (invoke "f64.load") (f64.const 0.0)) -(invoke "f64.store") -(assert_return (invoke "i64.load") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.load") (f64.const nan:0x4000000000000)) -(invoke "reset") -(assert_return (invoke "i64.load") (i64.const 0x0)) -(assert_return (invoke "f64.load") (f64.const 0.0)) -(invoke "i64.store") -(assert_return (invoke "i64.load") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.load") (f64.const nan:0x4000000000000)) - -;; Test that unaligned load and store do not canonicalize NaNs. - -(module - (memory i64 (data "\00\00\00\a0\7f")) - - (func (export "f32.load") (result f32) (f32.load (i64.const 1))) - (func (export "i32.load") (result i32) (i32.load (i64.const 1))) - (func (export "f32.store") (f32.store (i64.const 1) (f32.const nan:0x200000))) - (func (export "i32.store") (i32.store (i64.const 1) (i32.const 0x7fa00000))) - (func (export "reset") (i32.store (i64.const 1) (i32.const 0))) -) - -(assert_return (invoke "i32.load") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.load") (f32.const nan:0x200000)) -(invoke "reset") -(assert_return (invoke "i32.load") (i32.const 0x0)) -(assert_return (invoke "f32.load") (f32.const 0.0)) -(invoke "f32.store") -(assert_return (invoke "i32.load") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.load") (f32.const nan:0x200000)) -(invoke "reset") -(assert_return (invoke "i32.load") (i32.const 0x0)) -(assert_return (invoke "f32.load") (f32.const 0.0)) -(invoke "i32.store") -(assert_return (invoke "i32.load") (i32.const 0x7fa00000)) -(assert_return (invoke "f32.load") (f32.const nan:0x200000)) - -(module - (memory i64 (data "\00\00\00\00\00\00\00\f4\7f")) - - (func (export "f64.load") (result f64) (f64.load (i64.const 1))) - (func (export "i64.load") (result i64) (i64.load (i64.const 1))) - (func (export "f64.store") (f64.store (i64.const 1) (f64.const nan:0x4000000000000))) - (func (export "i64.store") (i64.store (i64.const 1) (i64.const 0x7ff4000000000000))) - (func (export "reset") (i64.store (i64.const 1) (i64.const 0))) -) - -(assert_return (invoke "i64.load") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.load") (f64.const nan:0x4000000000000)) -(invoke "reset") -(assert_return (invoke "i64.load") (i64.const 0x0)) -(assert_return (invoke "f64.load") (f64.const 0.0)) -(invoke "f64.store") -(assert_return (invoke "i64.load") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.load") (f64.const nan:0x4000000000000)) -(invoke "reset") -(assert_return (invoke "i64.load") (i64.const 0x0)) -(assert_return (invoke "f64.load") (f64.const 0.0)) -(invoke "i64.store") -(assert_return (invoke "i64.load") (i64.const 0x7ff4000000000000)) -(assert_return (invoke "f64.load") (f64.const nan:0x4000000000000)) - -;; Test that load and store do not canonicalize NaNs as some JS engines do. - -(module - (memory i64 (data "\01\00\d0\7f")) - - (func (export "f32.load") (result f32) (f32.load (i64.const 0))) - (func (export "i32.load") (result i32) (i32.load (i64.const 0))) - (func (export "f32.store") (f32.store (i64.const 0) (f32.const nan:0x500001))) - (func (export "i32.store") (i32.store (i64.const 0) (i32.const 0x7fd00001))) - (func (export "reset") (i32.store (i64.const 0) (i32.const 0))) -) - -(assert_return (invoke "i32.load") (i32.const 0x7fd00001)) -(assert_return (invoke "f32.load") (f32.const nan:0x500001)) -(invoke "reset") -(assert_return (invoke "i32.load") (i32.const 0x0)) -(assert_return (invoke "f32.load") (f32.const 0.0)) -(invoke "f32.store") -(assert_return (invoke "i32.load") (i32.const 0x7fd00001)) -(assert_return (invoke "f32.load") (f32.const nan:0x500001)) -(invoke "reset") -(assert_return (invoke "i32.load") (i32.const 0x0)) -(assert_return (invoke "f32.load") (f32.const 0.0)) -(invoke "i32.store") -(assert_return (invoke "i32.load") (i32.const 0x7fd00001)) -(assert_return (invoke "f32.load") (f32.const nan:0x500001)) - -(module - (memory i64 (data "\01\00\00\00\00\00\fc\7f")) - - (func (export "f64.load") (result f64) (f64.load (i64.const 0))) - (func (export "i64.load") (result i64) (i64.load (i64.const 0))) - (func (export "f64.store") (f64.store (i64.const 0) (f64.const nan:0xc000000000001))) - (func (export "i64.store") (i64.store (i64.const 0) (i64.const 0x7ffc000000000001))) - (func (export "reset") (i64.store (i64.const 0) (i64.const 0))) -) - -(assert_return (invoke "i64.load") (i64.const 0x7ffc000000000001)) -(assert_return (invoke "f64.load") (f64.const nan:0xc000000000001)) -(invoke "reset") -(assert_return (invoke "i64.load") (i64.const 0x0)) -(assert_return (invoke "f64.load") (f64.const 0.0)) -(invoke "f64.store") -(assert_return (invoke "i64.load") (i64.const 0x7ffc000000000001)) -(assert_return (invoke "f64.load") (f64.const nan:0xc000000000001)) -(invoke "reset") -(assert_return (invoke "i64.load") (i64.const 0x0)) -(assert_return (invoke "f64.load") (f64.const 0.0)) -(invoke "i64.store") -(assert_return (invoke "i64.load") (i64.const 0x7ffc000000000001)) -(assert_return (invoke "f64.load") (f64.const nan:0xc000000000001)) diff --git a/test/spec/forward.wast b/test/spec/forward.wast deleted file mode 100644 index 7bb3770d7..000000000 --- a/test/spec/forward.wast +++ /dev/null @@ -1,20 +0,0 @@ -(module - (func $even (export "even") (param $n i32) (result i32) - (if (result i32) (i32.eq (local.get $n) (i32.const 0)) - (then (i32.const 1)) - (else (call $odd (i32.sub (local.get $n) (i32.const 1)))) - ) - ) - - (func $odd (export "odd") (param $n i32) (result i32) - (if (result i32) (i32.eq (local.get $n) (i32.const 0)) - (then (i32.const 0)) - (else (call $even (i32.sub (local.get $n) (i32.const 1)))) - ) - ) -) - -(assert_return (invoke "even" (i32.const 13)) (i32.const 0)) -(assert_return (invoke "even" (i32.const 20)) (i32.const 1)) -(assert_return (invoke "odd" (i32.const 13)) (i32.const 1)) -(assert_return (invoke "odd" (i32.const 20)) (i32.const 0)) diff --git a/test/spec/func_ptrs.wast b/test/spec/func_ptrs.wast deleted file mode 100644 index f6f8e2c42..000000000 --- a/test/spec/func_ptrs.wast +++ /dev/null @@ -1,106 +0,0 @@ -(module - (type (func)) ;; 0: void -> void - (type $S (func)) ;; 1: void -> void - (type (func (param))) ;; 2: void -> void - (type (func (result i32))) ;; 3: void -> i32 - (type (func (param) (result i32))) ;; 4: void -> i32 - (type $T (func (param i32) (result i32))) ;; 5: i32 -> i32 - (type $U (func (param i32))) ;; 6: i32 -> void - - (func $print (import "spectest" "print_i32") (type 6)) - - (func (type 0)) - (func (type $S)) - - (func (export "one") (type 4) (i32.const 13)) - (func (export "two") (type $T) (i32.add (local.get 0) (i32.const 1))) - - ;; Both signature and parameters are allowed (and required to match) - ;; since this allows the naming of parameters. - (func (export "three") (type $T) (param $a i32) (result i32) - (i32.sub (local.get 0) (i32.const 2)) - ) - - (func (export "four") (type $U) (call $print (local.get 0))) -) - -(assert_return (invoke "one") (i32.const 13)) -(assert_return (invoke "two" (i32.const 13)) (i32.const 14)) -(assert_return (invoke "three" (i32.const 13)) (i32.const 11)) -(invoke "four" (i32.const 83)) - -(assert_invalid (module (elem (i32.const 0))) "unknown table") -(assert_invalid (module (elem (i32.const 0) 0) (func)) "unknown table") - -(assert_invalid - (module (table 1 funcref) (elem (i64.const 0))) - "type mismatch" -) -(assert_invalid - (module (table 1 funcref) (elem (i32.ctz (i32.const 0)))) - "constant expression required" -) -(assert_invalid - (module (table 1 funcref) (elem (nop))) - "constant expression required" -) - -(assert_invalid (module (func (type 42))) "unknown type") -(assert_invalid (module (import "spectest" "print_i32" (func (type 43)))) "unknown type") - -(module - (type $T (func (param) (result i32))) - (type $U (func (param) (result i32))) - (table funcref (elem $t1 $t2 $t3 $u1 $u2 $t1 $t3)) - - (func $t1 (type $T) (i32.const 1)) - (func $t2 (type $T) (i32.const 2)) - (func $t3 (type $T) (i32.const 3)) - (func $u1 (type $U) (i32.const 4)) - (func $u2 (type $U) (i32.const 5)) - - (func (export "callt") (param $i i32) (result i32) - (call_indirect (type $T) (local.get $i)) - ) - - (func (export "callu") (param $i i32) (result i32) - (call_indirect (type $U) (local.get $i)) - ) -) - -(assert_return (invoke "callt" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "callt" (i32.const 1)) (i32.const 2)) -(assert_return (invoke "callt" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "callt" (i32.const 3)) (i32.const 4)) -(assert_return (invoke "callt" (i32.const 4)) (i32.const 5)) -(assert_return (invoke "callt" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "callt" (i32.const 6)) (i32.const 3)) -(assert_trap (invoke "callt" (i32.const 7)) "undefined element") -(assert_trap (invoke "callt" (i32.const 100)) "undefined element") -(assert_trap (invoke "callt" (i32.const -1)) "undefined element") - -(assert_return (invoke "callu" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "callu" (i32.const 1)) (i32.const 2)) -(assert_return (invoke "callu" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "callu" (i32.const 3)) (i32.const 4)) -(assert_return (invoke "callu" (i32.const 4)) (i32.const 5)) -(assert_return (invoke "callu" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "callu" (i32.const 6)) (i32.const 3)) -(assert_trap (invoke "callu" (i32.const 7)) "undefined element") -(assert_trap (invoke "callu" (i32.const 100)) "undefined element") -(assert_trap (invoke "callu" (i32.const -1)) "undefined element") - -(module - (type $T (func (result i32))) - (table funcref (elem 0 1)) - - (func $t1 (type $T) (i32.const 1)) - (func $t2 (type $T) (i32.const 2)) - - (func (export "callt") (param $i i32) (result i32) - (call_indirect (type $T) (local.get $i)) - ) -) - -(assert_return (invoke "callt" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "callt" (i32.const 1)) (i32.const 2)) diff --git a/test/spec/i32.wast b/test/spec/i32.wast deleted file mode 100644 index 58c853a6b..000000000 --- a/test/spec/i32.wast +++ /dev/null @@ -1,958 +0,0 @@ -;; i32 operations - -(module - (func (export "add") (param $x i32) (param $y i32) (result i32) (i32.add (local.get $x) (local.get $y))) - (func (export "sub") (param $x i32) (param $y i32) (result i32) (i32.sub (local.get $x) (local.get $y))) - (func (export "mul") (param $x i32) (param $y i32) (result i32) (i32.mul (local.get $x) (local.get $y))) - (func (export "div_s") (param $x i32) (param $y i32) (result i32) (i32.div_s (local.get $x) (local.get $y))) - (func (export "div_u") (param $x i32) (param $y i32) (result i32) (i32.div_u (local.get $x) (local.get $y))) - (func (export "rem_s") (param $x i32) (param $y i32) (result i32) (i32.rem_s (local.get $x) (local.get $y))) - (func (export "rem_u") (param $x i32) (param $y i32) (result i32) (i32.rem_u (local.get $x) (local.get $y))) - (func (export "and") (param $x i32) (param $y i32) (result i32) (i32.and (local.get $x) (local.get $y))) - (func (export "or") (param $x i32) (param $y i32) (result i32) (i32.or (local.get $x) (local.get $y))) - (func (export "xor") (param $x i32) (param $y i32) (result i32) (i32.xor (local.get $x) (local.get $y))) - (func (export "shl") (param $x i32) (param $y i32) (result i32) (i32.shl (local.get $x) (local.get $y))) - (func (export "shr_s") (param $x i32) (param $y i32) (result i32) (i32.shr_s (local.get $x) (local.get $y))) - (func (export "shr_u") (param $x i32) (param $y i32) (result i32) (i32.shr_u (local.get $x) (local.get $y))) - (func (export "rotl") (param $x i32) (param $y i32) (result i32) (i32.rotl (local.get $x) (local.get $y))) - (func (export "rotr") (param $x i32) (param $y i32) (result i32) (i32.rotr (local.get $x) (local.get $y))) - (func (export "clz") (param $x i32) (result i32) (i32.clz (local.get $x))) - (func (export "ctz") (param $x i32) (result i32) (i32.ctz (local.get $x))) - (func (export "popcnt") (param $x i32) (result i32) (i32.popcnt (local.get $x))) - (func (export "eqz") (param $x i32) (result i32) (i32.eqz (local.get $x))) - (func (export "eq") (param $x i32) (param $y i32) (result i32) (i32.eq (local.get $x) (local.get $y))) - (func (export "ne") (param $x i32) (param $y i32) (result i32) (i32.ne (local.get $x) (local.get $y))) - (func (export "lt_s") (param $x i32) (param $y i32) (result i32) (i32.lt_s (local.get $x) (local.get $y))) - (func (export "lt_u") (param $x i32) (param $y i32) (result i32) (i32.lt_u (local.get $x) (local.get $y))) - (func (export "le_s") (param $x i32) (param $y i32) (result i32) (i32.le_s (local.get $x) (local.get $y))) - (func (export "le_u") (param $x i32) (param $y i32) (result i32) (i32.le_u (local.get $x) (local.get $y))) - (func (export "gt_s") (param $x i32) (param $y i32) (result i32) (i32.gt_s (local.get $x) (local.get $y))) - (func (export "gt_u") (param $x i32) (param $y i32) (result i32) (i32.gt_u (local.get $x) (local.get $y))) - (func (export "ge_s") (param $x i32) (param $y i32) (result i32) (i32.ge_s (local.get $x) (local.get $y))) - (func (export "ge_u") (param $x i32) (param $y i32) (result i32) (i32.ge_u (local.get $x) (local.get $y))) -) - -(assert_return (invoke "add" (i32.const 1) (i32.const 1)) (i32.const 2)) -(assert_return (invoke "add" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "add" (i32.const -1) (i32.const -1)) (i32.const -2)) -(assert_return (invoke "add" (i32.const -1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "add" (i32.const 0x7fffffff) (i32.const 1)) (i32.const 0x80000000)) -(assert_return (invoke "add" (i32.const 0x80000000) (i32.const -1)) (i32.const 0x7fffffff)) -(assert_return (invoke "add" (i32.const 0x80000000) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "add" (i32.const 0x3fffffff) (i32.const 1)) (i32.const 0x40000000)) - -(assert_return (invoke "sub" (i32.const 1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "sub" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "sub" (i32.const -1) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "sub" (i32.const 0x7fffffff) (i32.const -1)) (i32.const 0x80000000)) -(assert_return (invoke "sub" (i32.const 0x80000000) (i32.const 1)) (i32.const 0x7fffffff)) -(assert_return (invoke "sub" (i32.const 0x80000000) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "sub" (i32.const 0x3fffffff) (i32.const -1)) (i32.const 0x40000000)) - -(assert_return (invoke "mul" (i32.const 1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "mul" (i32.const 1) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "mul" (i32.const -1) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "mul" (i32.const 0x10000000) (i32.const 4096)) (i32.const 0)) -(assert_return (invoke "mul" (i32.const 0x80000000) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "mul" (i32.const 0x80000000) (i32.const -1)) (i32.const 0x80000000)) -(assert_return (invoke "mul" (i32.const 0x7fffffff) (i32.const -1)) (i32.const 0x80000001)) -(assert_return (invoke "mul" (i32.const 0x01234567) (i32.const 0x76543210)) (i32.const 0x358e7470)) -(assert_return (invoke "mul" (i32.const 0x7fffffff) (i32.const 0x7fffffff)) (i32.const 1)) - -(assert_trap (invoke "div_s" (i32.const 1) (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "div_s" (i32.const 0) (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "div_s" (i32.const 0x80000000) (i32.const -1)) "integer overflow") -(assert_trap (invoke "div_s" (i32.const 0x80000000) (i32.const 0)) "integer divide by zero") -(assert_return (invoke "div_s" (i32.const 1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "div_s" (i32.const 0) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "div_s" (i32.const 0) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "div_s" (i32.const -1) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "div_s" (i32.const 0x80000000) (i32.const 2)) (i32.const 0xc0000000)) -(assert_return (invoke "div_s" (i32.const 0x80000001) (i32.const 1000)) (i32.const 0xffdf3b65)) -(assert_return (invoke "div_s" (i32.const 5) (i32.const 2)) (i32.const 2)) -(assert_return (invoke "div_s" (i32.const -5) (i32.const 2)) (i32.const -2)) -(assert_return (invoke "div_s" (i32.const 5) (i32.const -2)) (i32.const -2)) -(assert_return (invoke "div_s" (i32.const -5) (i32.const -2)) (i32.const 2)) -(assert_return (invoke "div_s" (i32.const 7) (i32.const 3)) (i32.const 2)) -(assert_return (invoke "div_s" (i32.const -7) (i32.const 3)) (i32.const -2)) -(assert_return (invoke "div_s" (i32.const 7) (i32.const -3)) (i32.const -2)) -(assert_return (invoke "div_s" (i32.const -7) (i32.const -3)) (i32.const 2)) -(assert_return (invoke "div_s" (i32.const 11) (i32.const 5)) (i32.const 2)) -(assert_return (invoke "div_s" (i32.const 17) (i32.const 7)) (i32.const 2)) - -(assert_trap (invoke "div_u" (i32.const 1) (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "div_u" (i32.const 0) (i32.const 0)) "integer divide by zero") -(assert_return (invoke "div_u" (i32.const 1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "div_u" (i32.const 0) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "div_u" (i32.const -1) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "div_u" (i32.const 0x80000000) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "div_u" (i32.const 0x80000000) (i32.const 2)) (i32.const 0x40000000)) -(assert_return (invoke "div_u" (i32.const 0x8ff00ff0) (i32.const 0x10001)) (i32.const 0x8fef)) -(assert_return (invoke "div_u" (i32.const 0x80000001) (i32.const 1000)) (i32.const 0x20c49b)) -(assert_return (invoke "div_u" (i32.const 5) (i32.const 2)) (i32.const 2)) -(assert_return (invoke "div_u" (i32.const -5) (i32.const 2)) (i32.const 0x7ffffffd)) -(assert_return (invoke "div_u" (i32.const 5) (i32.const -2)) (i32.const 0)) -(assert_return (invoke "div_u" (i32.const -5) (i32.const -2)) (i32.const 0)) -(assert_return (invoke "div_u" (i32.const 7) (i32.const 3)) (i32.const 2)) -(assert_return (invoke "div_u" (i32.const 11) (i32.const 5)) (i32.const 2)) -(assert_return (invoke "div_u" (i32.const 17) (i32.const 7)) (i32.const 2)) - -(assert_trap (invoke "rem_s" (i32.const 1) (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "rem_s" (i32.const 0) (i32.const 0)) "integer divide by zero") -(assert_return (invoke "rem_s" (i32.const 0x7fffffff) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "rem_s" (i32.const 1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "rem_s" (i32.const 0) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "rem_s" (i32.const 0) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "rem_s" (i32.const -1) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "rem_s" (i32.const 0x80000000) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "rem_s" (i32.const 0x80000000) (i32.const 2)) (i32.const 0)) -(assert_return (invoke "rem_s" (i32.const 0x80000001) (i32.const 1000)) (i32.const -647)) -(assert_return (invoke "rem_s" (i32.const 5) (i32.const 2)) (i32.const 1)) -(assert_return (invoke "rem_s" (i32.const -5) (i32.const 2)) (i32.const -1)) -(assert_return (invoke "rem_s" (i32.const 5) (i32.const -2)) (i32.const 1)) -(assert_return (invoke "rem_s" (i32.const -5) (i32.const -2)) (i32.const -1)) -(assert_return (invoke "rem_s" (i32.const 7) (i32.const 3)) (i32.const 1)) -(assert_return (invoke "rem_s" (i32.const -7) (i32.const 3)) (i32.const -1)) -(assert_return (invoke "rem_s" (i32.const 7) (i32.const -3)) (i32.const 1)) -(assert_return (invoke "rem_s" (i32.const -7) (i32.const -3)) (i32.const -1)) -(assert_return (invoke "rem_s" (i32.const 11) (i32.const 5)) (i32.const 1)) -(assert_return (invoke "rem_s" (i32.const 17) (i32.const 7)) (i32.const 3)) - -(assert_trap (invoke "rem_u" (i32.const 1) (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "rem_u" (i32.const 0) (i32.const 0)) "integer divide by zero") -(assert_return (invoke "rem_u" (i32.const 1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "rem_u" (i32.const 0) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "rem_u" (i32.const -1) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "rem_u" (i32.const 0x80000000) (i32.const -1)) (i32.const 0x80000000)) -(assert_return (invoke "rem_u" (i32.const 0x80000000) (i32.const 2)) (i32.const 0)) -(assert_return (invoke "rem_u" (i32.const 0x8ff00ff0) (i32.const 0x10001)) (i32.const 0x8001)) -(assert_return (invoke "rem_u" (i32.const 0x80000001) (i32.const 1000)) (i32.const 649)) -(assert_return (invoke "rem_u" (i32.const 5) (i32.const 2)) (i32.const 1)) -(assert_return (invoke "rem_u" (i32.const -5) (i32.const 2)) (i32.const 1)) -(assert_return (invoke "rem_u" (i32.const 5) (i32.const -2)) (i32.const 5)) -(assert_return (invoke "rem_u" (i32.const -5) (i32.const -2)) (i32.const -5)) -(assert_return (invoke "rem_u" (i32.const 7) (i32.const 3)) (i32.const 1)) -(assert_return (invoke "rem_u" (i32.const 11) (i32.const 5)) (i32.const 1)) -(assert_return (invoke "rem_u" (i32.const 17) (i32.const 7)) (i32.const 3)) - -(assert_return (invoke "and" (i32.const 1) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "and" (i32.const 0) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "and" (i32.const 1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "and" (i32.const 0) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "and" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "and" (i32.const 0x7fffffff) (i32.const -1)) (i32.const 0x7fffffff)) -(assert_return (invoke "and" (i32.const 0xf0f0ffff) (i32.const 0xfffff0f0)) (i32.const 0xf0f0f0f0)) -(assert_return (invoke "and" (i32.const 0xffffffff) (i32.const 0xffffffff)) (i32.const 0xffffffff)) - -(assert_return (invoke "or" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "or" (i32.const 0) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "or" (i32.const 1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "or" (i32.const 0) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "or" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const -1)) -(assert_return (invoke "or" (i32.const 0x80000000) (i32.const 0)) (i32.const 0x80000000)) -(assert_return (invoke "or" (i32.const 0xf0f0ffff) (i32.const 0xfffff0f0)) (i32.const 0xffffffff)) -(assert_return (invoke "or" (i32.const 0xffffffff) (i32.const 0xffffffff)) (i32.const 0xffffffff)) - -(assert_return (invoke "xor" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "xor" (i32.const 0) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "xor" (i32.const 1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "xor" (i32.const 0) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "xor" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const -1)) -(assert_return (invoke "xor" (i32.const 0x80000000) (i32.const 0)) (i32.const 0x80000000)) -(assert_return (invoke "xor" (i32.const -1) (i32.const 0x80000000)) (i32.const 0x7fffffff)) -(assert_return (invoke "xor" (i32.const -1) (i32.const 0x7fffffff)) (i32.const 0x80000000)) -(assert_return (invoke "xor" (i32.const 0xf0f0ffff) (i32.const 0xfffff0f0)) (i32.const 0x0f0f0f0f)) -(assert_return (invoke "xor" (i32.const 0xffffffff) (i32.const 0xffffffff)) (i32.const 0)) - -(assert_return (invoke "shl" (i32.const 1) (i32.const 1)) (i32.const 2)) -(assert_return (invoke "shl" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "shl" (i32.const 0x7fffffff) (i32.const 1)) (i32.const 0xfffffffe)) -(assert_return (invoke "shl" (i32.const 0xffffffff) (i32.const 1)) (i32.const 0xfffffffe)) -(assert_return (invoke "shl" (i32.const 0x80000000) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "shl" (i32.const 0x40000000) (i32.const 1)) (i32.const 0x80000000)) -(assert_return (invoke "shl" (i32.const 1) (i32.const 31)) (i32.const 0x80000000)) -(assert_return (invoke "shl" (i32.const 1) (i32.const 32)) (i32.const 1)) -(assert_return (invoke "shl" (i32.const 1) (i32.const 33)) (i32.const 2)) -(assert_return (invoke "shl" (i32.const 1) (i32.const -1)) (i32.const 0x80000000)) -(assert_return (invoke "shl" (i32.const 1) (i32.const 0x7fffffff)) (i32.const 0x80000000)) - -(assert_return (invoke "shr_s" (i32.const 1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "shr_s" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "shr_s" (i32.const -1) (i32.const 1)) (i32.const -1)) -(assert_return (invoke "shr_s" (i32.const 0x7fffffff) (i32.const 1)) (i32.const 0x3fffffff)) -(assert_return (invoke "shr_s" (i32.const 0x80000000) (i32.const 1)) (i32.const 0xc0000000)) -(assert_return (invoke "shr_s" (i32.const 0x40000000) (i32.const 1)) (i32.const 0x20000000)) -(assert_return (invoke "shr_s" (i32.const 1) (i32.const 32)) (i32.const 1)) -(assert_return (invoke "shr_s" (i32.const 1) (i32.const 33)) (i32.const 0)) -(assert_return (invoke "shr_s" (i32.const 1) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "shr_s" (i32.const 1) (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "shr_s" (i32.const 1) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "shr_s" (i32.const 0x80000000) (i32.const 31)) (i32.const -1)) -(assert_return (invoke "shr_s" (i32.const -1) (i32.const 32)) (i32.const -1)) -(assert_return (invoke "shr_s" (i32.const -1) (i32.const 33)) (i32.const -1)) -(assert_return (invoke "shr_s" (i32.const -1) (i32.const -1)) (i32.const -1)) -(assert_return (invoke "shr_s" (i32.const -1) (i32.const 0x7fffffff)) (i32.const -1)) -(assert_return (invoke "shr_s" (i32.const -1) (i32.const 0x80000000)) (i32.const -1)) - -(assert_return (invoke "shr_u" (i32.const 1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "shr_u" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "shr_u" (i32.const -1) (i32.const 1)) (i32.const 0x7fffffff)) -(assert_return (invoke "shr_u" (i32.const 0x7fffffff) (i32.const 1)) (i32.const 0x3fffffff)) -(assert_return (invoke "shr_u" (i32.const 0x80000000) (i32.const 1)) (i32.const 0x40000000)) -(assert_return (invoke "shr_u" (i32.const 0x40000000) (i32.const 1)) (i32.const 0x20000000)) -(assert_return (invoke "shr_u" (i32.const 1) (i32.const 32)) (i32.const 1)) -(assert_return (invoke "shr_u" (i32.const 1) (i32.const 33)) (i32.const 0)) -(assert_return (invoke "shr_u" (i32.const 1) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "shr_u" (i32.const 1) (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "shr_u" (i32.const 1) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "shr_u" (i32.const 0x80000000) (i32.const 31)) (i32.const 1)) -(assert_return (invoke "shr_u" (i32.const -1) (i32.const 32)) (i32.const -1)) -(assert_return (invoke "shr_u" (i32.const -1) (i32.const 33)) (i32.const 0x7fffffff)) -(assert_return (invoke "shr_u" (i32.const -1) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "shr_u" (i32.const -1) (i32.const 0x7fffffff)) (i32.const 1)) -(assert_return (invoke "shr_u" (i32.const -1) (i32.const 0x80000000)) (i32.const -1)) - -(assert_return (invoke "rotl" (i32.const 1) (i32.const 1)) (i32.const 2)) -(assert_return (invoke "rotl" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "rotl" (i32.const -1) (i32.const 1)) (i32.const -1)) -(assert_return (invoke "rotl" (i32.const 1) (i32.const 32)) (i32.const 1)) -(assert_return (invoke "rotl" (i32.const 0xabcd9876) (i32.const 1)) (i32.const 0x579b30ed)) -(assert_return (invoke "rotl" (i32.const 0xfe00dc00) (i32.const 4)) (i32.const 0xe00dc00f)) -(assert_return (invoke "rotl" (i32.const 0xb0c1d2e3) (i32.const 5)) (i32.const 0x183a5c76)) -(assert_return (invoke "rotl" (i32.const 0x00008000) (i32.const 37)) (i32.const 0x00100000)) -(assert_return (invoke "rotl" (i32.const 0xb0c1d2e3) (i32.const 0xff05)) (i32.const 0x183a5c76)) -(assert_return (invoke "rotl" (i32.const 0x769abcdf) (i32.const 0xffffffed)) (i32.const 0x579beed3)) -(assert_return (invoke "rotl" (i32.const 0x769abcdf) (i32.const 0x8000000d)) (i32.const 0x579beed3)) -(assert_return (invoke "rotl" (i32.const 1) (i32.const 31)) (i32.const 0x80000000)) -(assert_return (invoke "rotl" (i32.const 0x80000000) (i32.const 1)) (i32.const 1)) - -(assert_return (invoke "rotr" (i32.const 1) (i32.const 1)) (i32.const 0x80000000)) -(assert_return (invoke "rotr" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "rotr" (i32.const -1) (i32.const 1)) (i32.const -1)) -(assert_return (invoke "rotr" (i32.const 1) (i32.const 32)) (i32.const 1)) -(assert_return (invoke "rotr" (i32.const 0xff00cc00) (i32.const 1)) (i32.const 0x7f806600)) -(assert_return (invoke "rotr" (i32.const 0x00080000) (i32.const 4)) (i32.const 0x00008000)) -(assert_return (invoke "rotr" (i32.const 0xb0c1d2e3) (i32.const 5)) (i32.const 0x1d860e97)) -(assert_return (invoke "rotr" (i32.const 0x00008000) (i32.const 37)) (i32.const 0x00000400)) -(assert_return (invoke "rotr" (i32.const 0xb0c1d2e3) (i32.const 0xff05)) (i32.const 0x1d860e97)) -(assert_return (invoke "rotr" (i32.const 0x769abcdf) (i32.const 0xffffffed)) (i32.const 0xe6fbb4d5)) -(assert_return (invoke "rotr" (i32.const 0x769abcdf) (i32.const 0x8000000d)) (i32.const 0xe6fbb4d5)) -(assert_return (invoke "rotr" (i32.const 1) (i32.const 31)) (i32.const 2)) -(assert_return (invoke "rotr" (i32.const 0x80000000) (i32.const 31)) (i32.const 1)) - -(assert_return (invoke "clz" (i32.const 0xffffffff)) (i32.const 0)) -(assert_return (invoke "clz" (i32.const 0)) (i32.const 32)) -(assert_return (invoke "clz" (i32.const 0x00008000)) (i32.const 16)) -(assert_return (invoke "clz" (i32.const 0xff)) (i32.const 24)) -(assert_return (invoke "clz" (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "clz" (i32.const 1)) (i32.const 31)) -(assert_return (invoke "clz" (i32.const 2)) (i32.const 30)) -(assert_return (invoke "clz" (i32.const 0x7fffffff)) (i32.const 1)) - -(assert_return (invoke "ctz" (i32.const -1)) (i32.const 0)) -(assert_return (invoke "ctz" (i32.const 0)) (i32.const 32)) -(assert_return (invoke "ctz" (i32.const 0x00008000)) (i32.const 15)) -(assert_return (invoke "ctz" (i32.const 0x00010000)) (i32.const 16)) -(assert_return (invoke "ctz" (i32.const 0x80000000)) (i32.const 31)) -(assert_return (invoke "ctz" (i32.const 0x7fffffff)) (i32.const 0)) - -(assert_return (invoke "popcnt" (i32.const -1)) (i32.const 32)) -(assert_return (invoke "popcnt" (i32.const 0)) (i32.const 0)) -(assert_return (invoke "popcnt" (i32.const 0x00008000)) (i32.const 1)) -(assert_return (invoke "popcnt" (i32.const 0x80008000)) (i32.const 2)) -(assert_return (invoke "popcnt" (i32.const 0x7fffffff)) (i32.const 31)) -(assert_return (invoke "popcnt" (i32.const 0xAAAAAAAA)) (i32.const 16)) -(assert_return (invoke "popcnt" (i32.const 0x55555555)) (i32.const 16)) -(assert_return (invoke "popcnt" (i32.const 0xDEADBEEF)) (i32.const 24)) - -(assert_return (invoke "eqz" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "eqz" (i32.const 1)) (i32.const 0)) -(assert_return (invoke "eqz" (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "eqz" (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "eqz" (i32.const 0xffffffff)) (i32.const 0)) - -(assert_return (invoke "eq" (i32.const 0) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "eq" (i32.const 1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "eq" (i32.const -1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "eq" (i32.const 0x80000000) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "eq" (i32.const 0x7fffffff) (i32.const 0x7fffffff)) (i32.const 1)) -(assert_return (invoke "eq" (i32.const -1) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "eq" (i32.const 1) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "eq" (i32.const 0) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "eq" (i32.const 0x80000000) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "eq" (i32.const 0) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "eq" (i32.const 0x80000000) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "eq" (i32.const -1) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "eq" (i32.const 0x80000000) (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "eq" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const 0)) - -(assert_return (invoke "ne" (i32.const 0) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "ne" (i32.const 1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "ne" (i32.const -1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "ne" (i32.const 0x80000000) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "ne" (i32.const 0x7fffffff) (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "ne" (i32.const -1) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "ne" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "ne" (i32.const 0) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "ne" (i32.const 0x80000000) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "ne" (i32.const 0) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "ne" (i32.const 0x80000000) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "ne" (i32.const -1) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "ne" (i32.const 0x80000000) (i32.const 0x7fffffff)) (i32.const 1)) -(assert_return (invoke "ne" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const 1)) - -(assert_return (invoke "lt_s" (i32.const 0) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "lt_s" (i32.const 1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "lt_s" (i32.const -1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "lt_s" (i32.const 0x80000000) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "lt_s" (i32.const 0x7fffffff) (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "lt_s" (i32.const -1) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "lt_s" (i32.const 1) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "lt_s" (i32.const 0) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "lt_s" (i32.const 0x80000000) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "lt_s" (i32.const 0) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "lt_s" (i32.const 0x80000000) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "lt_s" (i32.const -1) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "lt_s" (i32.const 0x80000000) (i32.const 0x7fffffff)) (i32.const 1)) -(assert_return (invoke "lt_s" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const 0)) - -(assert_return (invoke "lt_u" (i32.const 0) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "lt_u" (i32.const 1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "lt_u" (i32.const -1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "lt_u" (i32.const 0x80000000) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "lt_u" (i32.const 0x7fffffff) (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "lt_u" (i32.const -1) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "lt_u" (i32.const 1) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "lt_u" (i32.const 0) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "lt_u" (i32.const 0x80000000) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "lt_u" (i32.const 0) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "lt_u" (i32.const 0x80000000) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "lt_u" (i32.const -1) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "lt_u" (i32.const 0x80000000) (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "lt_u" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const 1)) - -(assert_return (invoke "le_s" (i32.const 0) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "le_s" (i32.const 1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "le_s" (i32.const -1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "le_s" (i32.const 0x80000000) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "le_s" (i32.const 0x7fffffff) (i32.const 0x7fffffff)) (i32.const 1)) -(assert_return (invoke "le_s" (i32.const -1) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "le_s" (i32.const 1) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "le_s" (i32.const 0) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "le_s" (i32.const 0x80000000) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "le_s" (i32.const 0) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "le_s" (i32.const 0x80000000) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "le_s" (i32.const -1) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "le_s" (i32.const 0x80000000) (i32.const 0x7fffffff)) (i32.const 1)) -(assert_return (invoke "le_s" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const 0)) - -(assert_return (invoke "le_u" (i32.const 0) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "le_u" (i32.const 1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "le_u" (i32.const -1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "le_u" (i32.const 0x80000000) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "le_u" (i32.const 0x7fffffff) (i32.const 0x7fffffff)) (i32.const 1)) -(assert_return (invoke "le_u" (i32.const -1) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "le_u" (i32.const 1) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "le_u" (i32.const 0) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "le_u" (i32.const 0x80000000) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "le_u" (i32.const 0) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "le_u" (i32.const 0x80000000) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "le_u" (i32.const -1) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "le_u" (i32.const 0x80000000) (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "le_u" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const 1)) - -(assert_return (invoke "gt_s" (i32.const 0) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "gt_s" (i32.const 1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "gt_s" (i32.const -1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "gt_s" (i32.const 0x80000000) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "gt_s" (i32.const 0x7fffffff) (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "gt_s" (i32.const -1) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "gt_s" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "gt_s" (i32.const 0) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "gt_s" (i32.const 0x80000000) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "gt_s" (i32.const 0) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "gt_s" (i32.const 0x80000000) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "gt_s" (i32.const -1) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "gt_s" (i32.const 0x80000000) (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "gt_s" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const 1)) - -(assert_return (invoke "gt_u" (i32.const 0) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "gt_u" (i32.const 1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "gt_u" (i32.const -1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "gt_u" (i32.const 0x80000000) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "gt_u" (i32.const 0x7fffffff) (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "gt_u" (i32.const -1) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "gt_u" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "gt_u" (i32.const 0) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "gt_u" (i32.const 0x80000000) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "gt_u" (i32.const 0) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "gt_u" (i32.const 0x80000000) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "gt_u" (i32.const -1) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "gt_u" (i32.const 0x80000000) (i32.const 0x7fffffff)) (i32.const 1)) -(assert_return (invoke "gt_u" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const 0)) - -(assert_return (invoke "ge_s" (i32.const 0) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "ge_s" (i32.const 1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "ge_s" (i32.const -1) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "ge_s" (i32.const 0x80000000) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "ge_s" (i32.const 0x7fffffff) (i32.const 0x7fffffff)) (i32.const 1)) -(assert_return (invoke "ge_s" (i32.const -1) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "ge_s" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "ge_s" (i32.const 0) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "ge_s" (i32.const 0x80000000) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "ge_s" (i32.const 0) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "ge_s" (i32.const 0x80000000) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "ge_s" (i32.const -1) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "ge_s" (i32.const 0x80000000) (i32.const 0x7fffffff)) (i32.const 0)) -(assert_return (invoke "ge_s" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const 1)) - -(assert_return (invoke "ge_u" (i32.const 0) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "ge_u" (i32.const 1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "ge_u" (i32.const -1) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "ge_u" (i32.const 0x80000000) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "ge_u" (i32.const 0x7fffffff) (i32.const 0x7fffffff)) (i32.const 1)) -(assert_return (invoke "ge_u" (i32.const -1) (i32.const -1)) (i32.const 1)) -(assert_return (invoke "ge_u" (i32.const 1) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "ge_u" (i32.const 0) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "ge_u" (i32.const 0x80000000) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "ge_u" (i32.const 0) (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "ge_u" (i32.const 0x80000000) (i32.const -1)) (i32.const 0)) -(assert_return (invoke "ge_u" (i32.const -1) (i32.const 0x80000000)) (i32.const 1)) -(assert_return (invoke "ge_u" (i32.const 0x80000000) (i32.const 0x7fffffff)) (i32.const 1)) -(assert_return (invoke "ge_u" (i32.const 0x7fffffff) (i32.const 0x80000000)) (i32.const 0)) - - -(assert_invalid - (module - (func $type-unary-operand-empty - (i32.eqz) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-unary-operand-empty-in-block - (i32.const 0) - (block (i32.eqz) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-unary-operand-empty-in-loop - (i32.const 0) - (loop (i32.eqz) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-unary-operand-empty-in-if - (i32.const 0) (i32.const 0) - (if (then (i32.eqz) (drop))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-unary-operand-empty-in-else - (i32.const 0) (i32.const 0) - (if (result i32) (then (i32.const 0)) (else (i32.eqz))) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-unary-operand-empty-in-br - (i32.const 0) - (block (br 0 (i32.eqz)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-unary-operand-empty-in-br_if - (i32.const 0) - (block (br_if 0 (i32.eqz) (i32.const 1)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-unary-operand-empty-in-br_table - (i32.const 0) - (block (br_table 0 (i32.eqz)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-unary-operand-empty-in-return - (return (i32.eqz)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-unary-operand-empty-in-select - (select (i32.eqz) (i32.const 1) (i32.const 2)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-unary-operand-empty-in-call - (call 1 (i32.eqz)) (drop) - ) - (func (param i32) (result i32) (local.get 0)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $f (param i32) (result i32) (local.get 0)) - (type $sig (func (param i32) (result i32))) - (table funcref (elem $f)) - (func $type-unary-operand-empty-in-call_indirect - (block (result i32) - (call_indirect (type $sig) - (i32.eqz) (i32.const 0) - ) - (drop) - ) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-unary-operand-empty-in-local.set - (local i32) - (local.set 0 (i32.eqz)) (local.get 0) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-unary-operand-empty-in-local.tee - (local i32) - (local.tee 0 (i32.eqz)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (global $x (mut i32) (i32.const 0)) - (func $type-unary-operand-empty-in-global.set - (global.set $x (i32.eqz)) (global.get $x) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-unary-operand-empty-in-memory.grow - (memory.grow (i32.eqz)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-unary-operand-empty-in-load - (i32.load (i32.eqz)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-unary-operand-empty-in-store - (i32.store (i32.eqz) (i32.const 1)) - ) - ) - "type mismatch" -) - -(assert_invalid - (module - (func $type-binary-1st-operand-empty - (i32.add) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty - (i32.const 0) (i32.add) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-1st-operand-empty-in-block - (i32.const 0) (i32.const 0) - (block (i32.add) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty-in-block - (i32.const 0) - (block (i32.const 0) (i32.add) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-1st-operand-empty-in-loop - (i32.const 0) (i32.const 0) - (loop (i32.add) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty-in-loop - (i32.const 0) - (loop (i32.const 0) (i32.add) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-1st-operand-empty-in-if - (i32.const 0) (i32.const 0) (i32.const 0) - (if (i32.add) (then (drop))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty-in-if - (i32.const 0) (i32.const 0) - (if (i32.const 0) (then (i32.add)) (else (drop))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-1st-operand-empty-in-else - (i32.const 0) (i32.const 0) (i32.const 0) - (if (result i32) (then (i32.const 0)) (else (i32.add) (i32.const 0))) - (drop) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty-in-else - (i32.const 0) (i32.const 0) - (if (result i32) (then (i32.const 0)) (else (i32.add))) - (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-1st-operand-empty-in-br - (i32.const 0) (i32.const 0) - (block (br 0 (i32.add)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty-in-br - (i32.const 0) - (block (br 0 (i32.const 0) (i32.add)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-1st-operand-empty-in-br_if - (i32.const 0) (i32.const 0) - (block (br_if 0 (i32.add) (i32.const 1)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty-in-br_if - (i32.const 0) - (block (br_if 0 (i32.const 0) (i32.add) (i32.const 1)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-1st-operand-empty-in-br_table - (i32.const 0) (i32.const 0) - (block (br_table 0 (i32.add)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty-in-br_table - (i32.const 0) - (block (br_table 0 (i32.const 0) (i32.add)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-1st-operand-empty-in-return - (return (i32.add)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty-in-return - (return (i32.const 0) (i32.add)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-1st-operand-empty-in-select - (select (i32.add) (i32.const 1) (i32.const 2)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty-in-select - (select (i32.const 0) (i32.add) (i32.const 1) (i32.const 2)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-1st-operand-empty-in-call - (call 1 (i32.add)) (drop) - ) - (func (param i32 i32) (result i32) (local.get 0)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty-in-call - (call 1 (i32.const 0) (i32.add)) (drop) - ) - (func (param i32 i32) (result i32) (local.get 0)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $f (param i32) (result i32) (local.get 0)) - (type $sig (func (param i32) (result i32))) - (table funcref (elem $f)) - (func $type-binary-1st-operand-empty-in-call_indirect - (block (result i32) - (call_indirect (type $sig) - (i32.add) (i32.const 0) - ) - (drop) - ) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $f (param i32) (result i32) (local.get 0)) - (type $sig (func (param i32) (result i32))) - (table funcref (elem $f)) - (func $type-binary-2nd-operand-empty-in-call_indirect - (block (result i32) - (call_indirect (type $sig) - (i32.const 0) (i32.add) (i32.const 0) - ) - (drop) - ) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-1st-operand-empty-in-local.set - (local i32) - (local.set 0 (i32.add)) (local.get 0) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty-in-local.set - (local i32) - (local.set 0 (i32.const 0) (i32.add)) (local.get 0) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-1st-operand-empty-in-local.tee - (local i32) - (local.tee 0 (i32.add)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-binary-2nd-operand-empty-in-local.tee - (local i32) - (local.tee 0 (i32.const 0) (i32.add)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (global $x (mut i32) (i32.const 0)) - (func $type-binary-1st-operand-empty-in-global.set - (global.set $x (i32.add)) (global.get $x) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (global $x (mut i32) (i32.const 0)) - (func $type-binary-2nd-operand-empty-in-global.set - (global.set $x (i32.const 0) (i32.add)) (global.get $x) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-binary-1st-operand-empty-in-memory.grow - (memory.grow (i32.add)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-binary-2nd-operand-empty-in-memory.grow - (memory.grow (i32.const 0) (i32.add)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-binary-1st-operand-empty-in-load - (i32.load (i32.add)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-binary-2nd-operand-empty-in-load - (i32.load (i32.const 0) (i32.add)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-binary-1st-operand-empty-in-store - (i32.store (i32.add) (i32.const 1)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-binary-2nd-operand-empty-in-store - (i32.store (i32.const 1) (i32.add) (i32.const 0)) - ) - ) - "type mismatch" -) - - -;; Type check - -(assert_invalid (module (func (result i32) (i32.add (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.and (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.div_s (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.div_u (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.mul (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.or (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.rem_s (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.rem_u (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.rotl (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.rotr (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.shl (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.shr_s (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.shr_u (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.sub (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.xor (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.eqz (i64.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.clz (i64.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.ctz (i64.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.popcnt (i64.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.eq (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.ge_s (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.ge_u (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.gt_s (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.gt_u (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.le_s (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.le_u (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.lt_s (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.lt_u (i64.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i32) (i32.ne (i64.const 0) (f32.const 0)))) "type mismatch") diff --git a/test/spec/i64.wast b/test/spec/i64.wast deleted file mode 100644 index 5a8c1d662..000000000 --- a/test/spec/i64.wast +++ /dev/null @@ -1,455 +0,0 @@ -;; i64 operations - -(module - (func (export "add") (param $x i64) (param $y i64) (result i64) (i64.add (local.get $x) (local.get $y))) - (func (export "sub") (param $x i64) (param $y i64) (result i64) (i64.sub (local.get $x) (local.get $y))) - (func (export "mul") (param $x i64) (param $y i64) (result i64) (i64.mul (local.get $x) (local.get $y))) - (func (export "div_s") (param $x i64) (param $y i64) (result i64) (i64.div_s (local.get $x) (local.get $y))) - (func (export "div_u") (param $x i64) (param $y i64) (result i64) (i64.div_u (local.get $x) (local.get $y))) - (func (export "rem_s") (param $x i64) (param $y i64) (result i64) (i64.rem_s (local.get $x) (local.get $y))) - (func (export "rem_u") (param $x i64) (param $y i64) (result i64) (i64.rem_u (local.get $x) (local.get $y))) - (func (export "and") (param $x i64) (param $y i64) (result i64) (i64.and (local.get $x) (local.get $y))) - (func (export "or") (param $x i64) (param $y i64) (result i64) (i64.or (local.get $x) (local.get $y))) - (func (export "xor") (param $x i64) (param $y i64) (result i64) (i64.xor (local.get $x) (local.get $y))) - (func (export "shl") (param $x i64) (param $y i64) (result i64) (i64.shl (local.get $x) (local.get $y))) - (func (export "shr_s") (param $x i64) (param $y i64) (result i64) (i64.shr_s (local.get $x) (local.get $y))) - (func (export "shr_u") (param $x i64) (param $y i64) (result i64) (i64.shr_u (local.get $x) (local.get $y))) - (func (export "rotl") (param $x i64) (param $y i64) (result i64) (i64.rotl (local.get $x) (local.get $y))) - (func (export "rotr") (param $x i64) (param $y i64) (result i64) (i64.rotr (local.get $x) (local.get $y))) - (func (export "clz") (param $x i64) (result i64) (i64.clz (local.get $x))) - (func (export "ctz") (param $x i64) (result i64) (i64.ctz (local.get $x))) - (func (export "popcnt") (param $x i64) (result i64) (i64.popcnt (local.get $x))) - (func (export "eqz") (param $x i64) (result i32) (i64.eqz (local.get $x))) - (func (export "eq") (param $x i64) (param $y i64) (result i32) (i64.eq (local.get $x) (local.get $y))) - (func (export "ne") (param $x i64) (param $y i64) (result i32) (i64.ne (local.get $x) (local.get $y))) - (func (export "lt_s") (param $x i64) (param $y i64) (result i32) (i64.lt_s (local.get $x) (local.get $y))) - (func (export "lt_u") (param $x i64) (param $y i64) (result i32) (i64.lt_u (local.get $x) (local.get $y))) - (func (export "le_s") (param $x i64) (param $y i64) (result i32) (i64.le_s (local.get $x) (local.get $y))) - (func (export "le_u") (param $x i64) (param $y i64) (result i32) (i64.le_u (local.get $x) (local.get $y))) - (func (export "gt_s") (param $x i64) (param $y i64) (result i32) (i64.gt_s (local.get $x) (local.get $y))) - (func (export "gt_u") (param $x i64) (param $y i64) (result i32) (i64.gt_u (local.get $x) (local.get $y))) - (func (export "ge_s") (param $x i64) (param $y i64) (result i32) (i64.ge_s (local.get $x) (local.get $y))) - (func (export "ge_u") (param $x i64) (param $y i64) (result i32) (i64.ge_u (local.get $x) (local.get $y))) -) - -(assert_return (invoke "add" (i64.const 1) (i64.const 1)) (i64.const 2)) -(assert_return (invoke "add" (i64.const 1) (i64.const 0)) (i64.const 1)) -(assert_return (invoke "add" (i64.const -1) (i64.const -1)) (i64.const -2)) -(assert_return (invoke "add" (i64.const -1) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "add" (i64.const 0x7fffffffffffffff) (i64.const 1)) (i64.const 0x8000000000000000)) -(assert_return (invoke "add" (i64.const 0x8000000000000000) (i64.const -1)) (i64.const 0x7fffffffffffffff)) -(assert_return (invoke "add" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i64.const 0)) -(assert_return (invoke "add" (i64.const 0x3fffffff) (i64.const 1)) (i64.const 0x40000000)) - -(assert_return (invoke "sub" (i64.const 1) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "sub" (i64.const 1) (i64.const 0)) (i64.const 1)) -(assert_return (invoke "sub" (i64.const -1) (i64.const -1)) (i64.const 0)) -(assert_return (invoke "sub" (i64.const 0x7fffffffffffffff) (i64.const -1)) (i64.const 0x8000000000000000)) -(assert_return (invoke "sub" (i64.const 0x8000000000000000) (i64.const 1)) (i64.const 0x7fffffffffffffff)) -(assert_return (invoke "sub" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i64.const 0)) -(assert_return (invoke "sub" (i64.const 0x3fffffff) (i64.const -1)) (i64.const 0x40000000)) - -(assert_return (invoke "mul" (i64.const 1) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "mul" (i64.const 1) (i64.const 0)) (i64.const 0)) -(assert_return (invoke "mul" (i64.const -1) (i64.const -1)) (i64.const 1)) -(assert_return (invoke "mul" (i64.const 0x1000000000000000) (i64.const 4096)) (i64.const 0)) -(assert_return (invoke "mul" (i64.const 0x8000000000000000) (i64.const 0)) (i64.const 0)) -(assert_return (invoke "mul" (i64.const 0x8000000000000000) (i64.const -1)) (i64.const 0x8000000000000000)) -(assert_return (invoke "mul" (i64.const 0x7fffffffffffffff) (i64.const -1)) (i64.const 0x8000000000000001)) -(assert_return (invoke "mul" (i64.const 0x0123456789abcdef) (i64.const 0xfedcba9876543210)) (i64.const 0x2236d88fe5618cf0)) -(assert_return (invoke "mul" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i64.const 1)) - -(assert_trap (invoke "div_s" (i64.const 1) (i64.const 0)) "integer divide by zero") -(assert_trap (invoke "div_s" (i64.const 0) (i64.const 0)) "integer divide by zero") -(assert_trap (invoke "div_s" (i64.const 0x8000000000000000) (i64.const -1)) "integer overflow") -(assert_trap (invoke "div_s" (i64.const 0x8000000000000000) (i64.const 0)) "integer divide by zero") -(assert_return (invoke "div_s" (i64.const 1) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "div_s" (i64.const 0) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "div_s" (i64.const 0) (i64.const -1)) (i64.const 0)) -(assert_return (invoke "div_s" (i64.const -1) (i64.const -1)) (i64.const 1)) -(assert_return (invoke "div_s" (i64.const 0x8000000000000000) (i64.const 2)) (i64.const 0xc000000000000000)) -(assert_return (invoke "div_s" (i64.const 0x8000000000000001) (i64.const 1000)) (i64.const 0xffdf3b645a1cac09)) -(assert_return (invoke "div_s" (i64.const 5) (i64.const 2)) (i64.const 2)) -(assert_return (invoke "div_s" (i64.const -5) (i64.const 2)) (i64.const -2)) -(assert_return (invoke "div_s" (i64.const 5) (i64.const -2)) (i64.const -2)) -(assert_return (invoke "div_s" (i64.const -5) (i64.const -2)) (i64.const 2)) -(assert_return (invoke "div_s" (i64.const 7) (i64.const 3)) (i64.const 2)) -(assert_return (invoke "div_s" (i64.const -7) (i64.const 3)) (i64.const -2)) -(assert_return (invoke "div_s" (i64.const 7) (i64.const -3)) (i64.const -2)) -(assert_return (invoke "div_s" (i64.const -7) (i64.const -3)) (i64.const 2)) -(assert_return (invoke "div_s" (i64.const 11) (i64.const 5)) (i64.const 2)) -(assert_return (invoke "div_s" (i64.const 17) (i64.const 7)) (i64.const 2)) - -(assert_trap (invoke "div_u" (i64.const 1) (i64.const 0)) "integer divide by zero") -(assert_trap (invoke "div_u" (i64.const 0) (i64.const 0)) "integer divide by zero") -(assert_return (invoke "div_u" (i64.const 1) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "div_u" (i64.const 0) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "div_u" (i64.const -1) (i64.const -1)) (i64.const 1)) -(assert_return (invoke "div_u" (i64.const 0x8000000000000000) (i64.const -1)) (i64.const 0)) -(assert_return (invoke "div_u" (i64.const 0x8000000000000000) (i64.const 2)) (i64.const 0x4000000000000000)) -(assert_return (invoke "div_u" (i64.const 0x8ff00ff00ff00ff0) (i64.const 0x100000001)) (i64.const 0x8ff00fef)) -(assert_return (invoke "div_u" (i64.const 0x8000000000000001) (i64.const 1000)) (i64.const 0x20c49ba5e353f7)) -(assert_return (invoke "div_u" (i64.const 5) (i64.const 2)) (i64.const 2)) -(assert_return (invoke "div_u" (i64.const -5) (i64.const 2)) (i64.const 0x7ffffffffffffffd)) -(assert_return (invoke "div_u" (i64.const 5) (i64.const -2)) (i64.const 0)) -(assert_return (invoke "div_u" (i64.const -5) (i64.const -2)) (i64.const 0)) -(assert_return (invoke "div_u" (i64.const 7) (i64.const 3)) (i64.const 2)) -(assert_return (invoke "div_u" (i64.const 11) (i64.const 5)) (i64.const 2)) -(assert_return (invoke "div_u" (i64.const 17) (i64.const 7)) (i64.const 2)) - -(assert_trap (invoke "rem_s" (i64.const 1) (i64.const 0)) "integer divide by zero") -(assert_trap (invoke "rem_s" (i64.const 0) (i64.const 0)) "integer divide by zero") -(assert_return (invoke "rem_s" (i64.const 0x7fffffffffffffff) (i64.const -1)) (i64.const 0)) -(assert_return (invoke "rem_s" (i64.const 1) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "rem_s" (i64.const 0) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "rem_s" (i64.const 0) (i64.const -1)) (i64.const 0)) -(assert_return (invoke "rem_s" (i64.const -1) (i64.const -1)) (i64.const 0)) -(assert_return (invoke "rem_s" (i64.const 0x8000000000000000) (i64.const -1)) (i64.const 0)) -(assert_return (invoke "rem_s" (i64.const 0x8000000000000000) (i64.const 2)) (i64.const 0)) -(assert_return (invoke "rem_s" (i64.const 0x8000000000000001) (i64.const 1000)) (i64.const -807)) -(assert_return (invoke "rem_s" (i64.const 5) (i64.const 2)) (i64.const 1)) -(assert_return (invoke "rem_s" (i64.const -5) (i64.const 2)) (i64.const -1)) -(assert_return (invoke "rem_s" (i64.const 5) (i64.const -2)) (i64.const 1)) -(assert_return (invoke "rem_s" (i64.const -5) (i64.const -2)) (i64.const -1)) -(assert_return (invoke "rem_s" (i64.const 7) (i64.const 3)) (i64.const 1)) -(assert_return (invoke "rem_s" (i64.const -7) (i64.const 3)) (i64.const -1)) -(assert_return (invoke "rem_s" (i64.const 7) (i64.const -3)) (i64.const 1)) -(assert_return (invoke "rem_s" (i64.const -7) (i64.const -3)) (i64.const -1)) -(assert_return (invoke "rem_s" (i64.const 11) (i64.const 5)) (i64.const 1)) -(assert_return (invoke "rem_s" (i64.const 17) (i64.const 7)) (i64.const 3)) - -(assert_trap (invoke "rem_u" (i64.const 1) (i64.const 0)) "integer divide by zero") -(assert_trap (invoke "rem_u" (i64.const 0) (i64.const 0)) "integer divide by zero") -(assert_return (invoke "rem_u" (i64.const 1) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "rem_u" (i64.const 0) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "rem_u" (i64.const -1) (i64.const -1)) (i64.const 0)) -(assert_return (invoke "rem_u" (i64.const 0x8000000000000000) (i64.const -1)) (i64.const 0x8000000000000000)) -(assert_return (invoke "rem_u" (i64.const 0x8000000000000000) (i64.const 2)) (i64.const 0)) -(assert_return (invoke "rem_u" (i64.const 0x8ff00ff00ff00ff0) (i64.const 0x100000001)) (i64.const 0x80000001)) -(assert_return (invoke "rem_u" (i64.const 0x8000000000000001) (i64.const 1000)) (i64.const 809)) -(assert_return (invoke "rem_u" (i64.const 5) (i64.const 2)) (i64.const 1)) -(assert_return (invoke "rem_u" (i64.const -5) (i64.const 2)) (i64.const 1)) -(assert_return (invoke "rem_u" (i64.const 5) (i64.const -2)) (i64.const 5)) -(assert_return (invoke "rem_u" (i64.const -5) (i64.const -2)) (i64.const -5)) -(assert_return (invoke "rem_u" (i64.const 7) (i64.const 3)) (i64.const 1)) -(assert_return (invoke "rem_u" (i64.const 11) (i64.const 5)) (i64.const 1)) -(assert_return (invoke "rem_u" (i64.const 17) (i64.const 7)) (i64.const 3)) - -(assert_return (invoke "and" (i64.const 1) (i64.const 0)) (i64.const 0)) -(assert_return (invoke "and" (i64.const 0) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "and" (i64.const 1) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "and" (i64.const 0) (i64.const 0)) (i64.const 0)) -(assert_return (invoke "and" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i64.const 0)) -(assert_return (invoke "and" (i64.const 0x7fffffffffffffff) (i64.const -1)) (i64.const 0x7fffffffffffffff)) -(assert_return (invoke "and" (i64.const 0xf0f0ffff) (i64.const 0xfffff0f0)) (i64.const 0xf0f0f0f0)) -(assert_return (invoke "and" (i64.const 0xffffffffffffffff) (i64.const 0xffffffffffffffff)) (i64.const 0xffffffffffffffff)) - -(assert_return (invoke "or" (i64.const 1) (i64.const 0)) (i64.const 1)) -(assert_return (invoke "or" (i64.const 0) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "or" (i64.const 1) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "or" (i64.const 0) (i64.const 0)) (i64.const 0)) -(assert_return (invoke "or" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i64.const -1)) -(assert_return (invoke "or" (i64.const 0x8000000000000000) (i64.const 0)) (i64.const 0x8000000000000000)) -(assert_return (invoke "or" (i64.const 0xf0f0ffff) (i64.const 0xfffff0f0)) (i64.const 0xffffffff)) -(assert_return (invoke "or" (i64.const 0xffffffffffffffff) (i64.const 0xffffffffffffffff)) (i64.const 0xffffffffffffffff)) - -(assert_return (invoke "xor" (i64.const 1) (i64.const 0)) (i64.const 1)) -(assert_return (invoke "xor" (i64.const 0) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "xor" (i64.const 1) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "xor" (i64.const 0) (i64.const 0)) (i64.const 0)) -(assert_return (invoke "xor" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i64.const -1)) -(assert_return (invoke "xor" (i64.const 0x8000000000000000) (i64.const 0)) (i64.const 0x8000000000000000)) -(assert_return (invoke "xor" (i64.const -1) (i64.const 0x8000000000000000)) (i64.const 0x7fffffffffffffff)) -(assert_return (invoke "xor" (i64.const -1) (i64.const 0x7fffffffffffffff)) (i64.const 0x8000000000000000)) -(assert_return (invoke "xor" (i64.const 0xf0f0ffff) (i64.const 0xfffff0f0)) (i64.const 0x0f0f0f0f)) -(assert_return (invoke "xor" (i64.const 0xffffffffffffffff) (i64.const 0xffffffffffffffff)) (i64.const 0)) - -(assert_return (invoke "shl" (i64.const 1) (i64.const 1)) (i64.const 2)) -(assert_return (invoke "shl" (i64.const 1) (i64.const 0)) (i64.const 1)) -(assert_return (invoke "shl" (i64.const 0x7fffffffffffffff) (i64.const 1)) (i64.const 0xfffffffffffffffe)) -(assert_return (invoke "shl" (i64.const 0xffffffffffffffff) (i64.const 1)) (i64.const 0xfffffffffffffffe)) -(assert_return (invoke "shl" (i64.const 0x8000000000000000) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "shl" (i64.const 0x4000000000000000) (i64.const 1)) (i64.const 0x8000000000000000)) -(assert_return (invoke "shl" (i64.const 1) (i64.const 63)) (i64.const 0x8000000000000000)) -(assert_return (invoke "shl" (i64.const 1) (i64.const 64)) (i64.const 1)) -(assert_return (invoke "shl" (i64.const 1) (i64.const 65)) (i64.const 2)) -(assert_return (invoke "shl" (i64.const 1) (i64.const -1)) (i64.const 0x8000000000000000)) -(assert_return (invoke "shl" (i64.const 1) (i64.const 0x7fffffffffffffff)) (i64.const 0x8000000000000000)) - -(assert_return (invoke "shr_s" (i64.const 1) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "shr_s" (i64.const 1) (i64.const 0)) (i64.const 1)) -(assert_return (invoke "shr_s" (i64.const -1) (i64.const 1)) (i64.const -1)) -(assert_return (invoke "shr_s" (i64.const 0x7fffffffffffffff) (i64.const 1)) (i64.const 0x3fffffffffffffff)) -(assert_return (invoke "shr_s" (i64.const 0x8000000000000000) (i64.const 1)) (i64.const 0xc000000000000000)) -(assert_return (invoke "shr_s" (i64.const 0x4000000000000000) (i64.const 1)) (i64.const 0x2000000000000000)) -(assert_return (invoke "shr_s" (i64.const 1) (i64.const 64)) (i64.const 1)) -(assert_return (invoke "shr_s" (i64.const 1) (i64.const 65)) (i64.const 0)) -(assert_return (invoke "shr_s" (i64.const 1) (i64.const -1)) (i64.const 0)) -(assert_return (invoke "shr_s" (i64.const 1) (i64.const 0x7fffffffffffffff)) (i64.const 0)) -(assert_return (invoke "shr_s" (i64.const 1) (i64.const 0x8000000000000000)) (i64.const 1)) -(assert_return (invoke "shr_s" (i64.const 0x8000000000000000) (i64.const 63)) (i64.const -1)) -(assert_return (invoke "shr_s" (i64.const -1) (i64.const 64)) (i64.const -1)) -(assert_return (invoke "shr_s" (i64.const -1) (i64.const 65)) (i64.const -1)) -(assert_return (invoke "shr_s" (i64.const -1) (i64.const -1)) (i64.const -1)) -(assert_return (invoke "shr_s" (i64.const -1) (i64.const 0x7fffffffffffffff)) (i64.const -1)) -(assert_return (invoke "shr_s" (i64.const -1) (i64.const 0x8000000000000000)) (i64.const -1)) - -(assert_return (invoke "shr_u" (i64.const 1) (i64.const 1)) (i64.const 0)) -(assert_return (invoke "shr_u" (i64.const 1) (i64.const 0)) (i64.const 1)) -(assert_return (invoke "shr_u" (i64.const -1) (i64.const 1)) (i64.const 0x7fffffffffffffff)) -(assert_return (invoke "shr_u" (i64.const 0x7fffffffffffffff) (i64.const 1)) (i64.const 0x3fffffffffffffff)) -(assert_return (invoke "shr_u" (i64.const 0x8000000000000000) (i64.const 1)) (i64.const 0x4000000000000000)) -(assert_return (invoke "shr_u" (i64.const 0x4000000000000000) (i64.const 1)) (i64.const 0x2000000000000000)) -(assert_return (invoke "shr_u" (i64.const 1) (i64.const 64)) (i64.const 1)) -(assert_return (invoke "shr_u" (i64.const 1) (i64.const 65)) (i64.const 0)) -(assert_return (invoke "shr_u" (i64.const 1) (i64.const -1)) (i64.const 0)) -(assert_return (invoke "shr_u" (i64.const 1) (i64.const 0x7fffffffffffffff)) (i64.const 0)) -(assert_return (invoke "shr_u" (i64.const 1) (i64.const 0x8000000000000000)) (i64.const 1)) -(assert_return (invoke "shr_u" (i64.const 0x8000000000000000) (i64.const 63)) (i64.const 1)) -(assert_return (invoke "shr_u" (i64.const -1) (i64.const 64)) (i64.const -1)) -(assert_return (invoke "shr_u" (i64.const -1) (i64.const 65)) (i64.const 0x7fffffffffffffff)) -(assert_return (invoke "shr_u" (i64.const -1) (i64.const -1)) (i64.const 1)) -(assert_return (invoke "shr_u" (i64.const -1) (i64.const 0x7fffffffffffffff)) (i64.const 1)) -(assert_return (invoke "shr_u" (i64.const -1) (i64.const 0x8000000000000000)) (i64.const -1)) - -(assert_return (invoke "rotl" (i64.const 1) (i64.const 1)) (i64.const 2)) -(assert_return (invoke "rotl" (i64.const 1) (i64.const 0)) (i64.const 1)) -(assert_return (invoke "rotl" (i64.const -1) (i64.const 1)) (i64.const -1)) -(assert_return (invoke "rotl" (i64.const 1) (i64.const 64)) (i64.const 1)) -(assert_return (invoke "rotl" (i64.const 0xabcd987602468ace) (i64.const 1)) (i64.const 0x579b30ec048d159d)) -(assert_return (invoke "rotl" (i64.const 0xfe000000dc000000) (i64.const 4)) (i64.const 0xe000000dc000000f)) -(assert_return (invoke "rotl" (i64.const 0xabcd1234ef567809) (i64.const 53)) (i64.const 0x013579a2469deacf)) -(assert_return (invoke "rotl" (i64.const 0xabd1234ef567809c) (i64.const 63)) (i64.const 0x55e891a77ab3c04e)) -(assert_return (invoke "rotl" (i64.const 0xabcd1234ef567809) (i64.const 0xf5)) (i64.const 0x013579a2469deacf)) -(assert_return (invoke "rotl" (i64.const 0xabcd7294ef567809) (i64.const 0xffffffffffffffed)) (i64.const 0xcf013579ae529dea)) -(assert_return (invoke "rotl" (i64.const 0xabd1234ef567809c) (i64.const 0x800000000000003f)) (i64.const 0x55e891a77ab3c04e)) -(assert_return (invoke "rotl" (i64.const 1) (i64.const 63)) (i64.const 0x8000000000000000)) -(assert_return (invoke "rotl" (i64.const 0x8000000000000000) (i64.const 1)) (i64.const 1)) - -(assert_return (invoke "rotr" (i64.const 1) (i64.const 1)) (i64.const 0x8000000000000000)) -(assert_return (invoke "rotr" (i64.const 1) (i64.const 0)) (i64.const 1)) -(assert_return (invoke "rotr" (i64.const -1) (i64.const 1)) (i64.const -1)) -(assert_return (invoke "rotr" (i64.const 1) (i64.const 64)) (i64.const 1)) -(assert_return (invoke "rotr" (i64.const 0xabcd987602468ace) (i64.const 1)) (i64.const 0x55e6cc3b01234567)) -(assert_return (invoke "rotr" (i64.const 0xfe000000dc000000) (i64.const 4)) (i64.const 0x0fe000000dc00000)) -(assert_return (invoke "rotr" (i64.const 0xabcd1234ef567809) (i64.const 53)) (i64.const 0x6891a77ab3c04d5e)) -(assert_return (invoke "rotr" (i64.const 0xabd1234ef567809c) (i64.const 63)) (i64.const 0x57a2469deacf0139)) -(assert_return (invoke "rotr" (i64.const 0xabcd1234ef567809) (i64.const 0xf5)) (i64.const 0x6891a77ab3c04d5e)) -(assert_return (invoke "rotr" (i64.const 0xabcd7294ef567809) (i64.const 0xffffffffffffffed)) (i64.const 0x94a77ab3c04d5e6b)) -(assert_return (invoke "rotr" (i64.const 0xabd1234ef567809c) (i64.const 0x800000000000003f)) (i64.const 0x57a2469deacf0139)) -(assert_return (invoke "rotr" (i64.const 1) (i64.const 63)) (i64.const 2)) -(assert_return (invoke "rotr" (i64.const 0x8000000000000000) (i64.const 63)) (i64.const 1)) - -(assert_return (invoke "clz" (i64.const 0xffffffffffffffff)) (i64.const 0)) -(assert_return (invoke "clz" (i64.const 0)) (i64.const 64)) -(assert_return (invoke "clz" (i64.const 0x00008000)) (i64.const 48)) -(assert_return (invoke "clz" (i64.const 0xff)) (i64.const 56)) -(assert_return (invoke "clz" (i64.const 0x8000000000000000)) (i64.const 0)) -(assert_return (invoke "clz" (i64.const 1)) (i64.const 63)) -(assert_return (invoke "clz" (i64.const 2)) (i64.const 62)) -(assert_return (invoke "clz" (i64.const 0x7fffffffffffffff)) (i64.const 1)) - -(assert_return (invoke "ctz" (i64.const -1)) (i64.const 0)) -(assert_return (invoke "ctz" (i64.const 0)) (i64.const 64)) -(assert_return (invoke "ctz" (i64.const 0x00008000)) (i64.const 15)) -(assert_return (invoke "ctz" (i64.const 0x00010000)) (i64.const 16)) -(assert_return (invoke "ctz" (i64.const 0x8000000000000000)) (i64.const 63)) -(assert_return (invoke "ctz" (i64.const 0x7fffffffffffffff)) (i64.const 0)) - -(assert_return (invoke "popcnt" (i64.const -1)) (i64.const 64)) -(assert_return (invoke "popcnt" (i64.const 0)) (i64.const 0)) -(assert_return (invoke "popcnt" (i64.const 0x00008000)) (i64.const 1)) -(assert_return (invoke "popcnt" (i64.const 0x8000800080008000)) (i64.const 4)) -(assert_return (invoke "popcnt" (i64.const 0x7fffffffffffffff)) (i64.const 63)) -(assert_return (invoke "popcnt" (i64.const 0xAAAAAAAA55555555)) (i64.const 32)) -(assert_return (invoke "popcnt" (i64.const 0x99999999AAAAAAAA)) (i64.const 32)) -(assert_return (invoke "popcnt" (i64.const 0xDEADBEEFDEADBEEF)) (i64.const 48)) - -(assert_return (invoke "eqz" (i64.const 0)) (i32.const 1)) -(assert_return (invoke "eqz" (i64.const 1)) (i32.const 0)) -(assert_return (invoke "eqz" (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "eqz" (i64.const 0x7fffffffffffffff)) (i32.const 0)) -(assert_return (invoke "eqz" (i64.const 0xffffffffffffffff)) (i32.const 0)) - -(assert_return (invoke "eq" (i64.const 0) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "eq" (i64.const 1) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "eq" (i64.const -1) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "eq" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "eq" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 1)) -(assert_return (invoke "eq" (i64.const -1) (i64.const -1)) (i32.const 1)) -(assert_return (invoke "eq" (i64.const 1) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "eq" (i64.const 0) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "eq" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "eq" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 0)) -(assert_return (invoke "eq" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "eq" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 0)) -(assert_return (invoke "eq" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 0)) - -(assert_return (invoke "ne" (i64.const 0) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "ne" (i64.const 1) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "ne" (i64.const -1) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "ne" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "ne" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 0)) -(assert_return (invoke "ne" (i64.const -1) (i64.const -1)) (i32.const 0)) -(assert_return (invoke "ne" (i64.const 1) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "ne" (i64.const 0) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "ne" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "ne" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 1)) -(assert_return (invoke "ne" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "ne" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 1)) -(assert_return (invoke "ne" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 1)) - -(assert_return (invoke "lt_s" (i64.const 0) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "lt_s" (i64.const 1) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "lt_s" (i64.const -1) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "lt_s" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "lt_s" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 0)) -(assert_return (invoke "lt_s" (i64.const -1) (i64.const -1)) (i32.const 0)) -(assert_return (invoke "lt_s" (i64.const 1) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "lt_s" (i64.const 0) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "lt_s" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "lt_s" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "lt_s" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 1)) -(assert_return (invoke "lt_s" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "lt_s" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 1)) -(assert_return (invoke "lt_s" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 0)) - -(assert_return (invoke "lt_u" (i64.const 0) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "lt_u" (i64.const 1) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "lt_u" (i64.const -1) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "lt_u" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "lt_u" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 0)) -(assert_return (invoke "lt_u" (i64.const -1) (i64.const -1)) (i32.const 0)) -(assert_return (invoke "lt_u" (i64.const 1) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "lt_u" (i64.const 0) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "lt_u" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "lt_u" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "lt_u" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 1)) -(assert_return (invoke "lt_u" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "lt_u" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 0)) -(assert_return (invoke "lt_u" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 1)) - -(assert_return (invoke "le_s" (i64.const 0) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "le_s" (i64.const 1) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "le_s" (i64.const -1) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "le_s" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "le_s" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 1)) -(assert_return (invoke "le_s" (i64.const -1) (i64.const -1)) (i32.const 1)) -(assert_return (invoke "le_s" (i64.const 1) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "le_s" (i64.const 0) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "le_s" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "le_s" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "le_s" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 1)) -(assert_return (invoke "le_s" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "le_s" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 1)) -(assert_return (invoke "le_s" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 0)) - -(assert_return (invoke "le_u" (i64.const 0) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "le_u" (i64.const 1) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "le_u" (i64.const -1) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "le_u" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "le_u" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 1)) -(assert_return (invoke "le_u" (i64.const -1) (i64.const -1)) (i32.const 1)) -(assert_return (invoke "le_u" (i64.const 1) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "le_u" (i64.const 0) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "le_u" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "le_u" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "le_u" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 1)) -(assert_return (invoke "le_u" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "le_u" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 0)) -(assert_return (invoke "le_u" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 1)) - -(assert_return (invoke "gt_s" (i64.const 0) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "gt_s" (i64.const 1) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "gt_s" (i64.const -1) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "gt_s" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "gt_s" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 0)) -(assert_return (invoke "gt_s" (i64.const -1) (i64.const -1)) (i32.const 0)) -(assert_return (invoke "gt_s" (i64.const 1) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "gt_s" (i64.const 0) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "gt_s" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "gt_s" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "gt_s" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 0)) -(assert_return (invoke "gt_s" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "gt_s" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 0)) -(assert_return (invoke "gt_s" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 1)) - -(assert_return (invoke "gt_u" (i64.const 0) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "gt_u" (i64.const 1) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "gt_u" (i64.const -1) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "gt_u" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "gt_u" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 0)) -(assert_return (invoke "gt_u" (i64.const -1) (i64.const -1)) (i32.const 0)) -(assert_return (invoke "gt_u" (i64.const 1) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "gt_u" (i64.const 0) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "gt_u" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "gt_u" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "gt_u" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 0)) -(assert_return (invoke "gt_u" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "gt_u" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 1)) -(assert_return (invoke "gt_u" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 0)) - -(assert_return (invoke "ge_s" (i64.const 0) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "ge_s" (i64.const 1) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "ge_s" (i64.const -1) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "ge_s" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "ge_s" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 1)) -(assert_return (invoke "ge_s" (i64.const -1) (i64.const -1)) (i32.const 1)) -(assert_return (invoke "ge_s" (i64.const 1) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "ge_s" (i64.const 0) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "ge_s" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 0)) -(assert_return (invoke "ge_s" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "ge_s" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 0)) -(assert_return (invoke "ge_s" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "ge_s" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 0)) -(assert_return (invoke "ge_s" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 1)) - -(assert_return (invoke "ge_u" (i64.const 0) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "ge_u" (i64.const 1) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "ge_u" (i64.const -1) (i64.const 1)) (i32.const 1)) -(assert_return (invoke "ge_u" (i64.const 0x8000000000000000) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "ge_u" (i64.const 0x7fffffffffffffff) (i64.const 0x7fffffffffffffff)) (i32.const 1)) -(assert_return (invoke "ge_u" (i64.const -1) (i64.const -1)) (i32.const 1)) -(assert_return (invoke "ge_u" (i64.const 1) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "ge_u" (i64.const 0) (i64.const 1)) (i32.const 0)) -(assert_return (invoke "ge_u" (i64.const 0x8000000000000000) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "ge_u" (i64.const 0) (i64.const 0x8000000000000000)) (i32.const 0)) -(assert_return (invoke "ge_u" (i64.const 0x8000000000000000) (i64.const -1)) (i32.const 0)) -(assert_return (invoke "ge_u" (i64.const -1) (i64.const 0x8000000000000000)) (i32.const 1)) -(assert_return (invoke "ge_u" (i64.const 0x8000000000000000) (i64.const 0x7fffffffffffffff)) (i32.const 1)) -(assert_return (invoke "ge_u" (i64.const 0x7fffffffffffffff) (i64.const 0x8000000000000000)) (i32.const 0)) - - -;; Type check - -(assert_invalid (module (func (result i64) (i64.add (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.and (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.div_s (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.div_u (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.mul (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.or (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.rem_s (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.rem_u (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.rotl (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.rotr (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.shl (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.shr_s (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.shr_u (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.sub (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.xor (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.eqz (i32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.clz (i32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.ctz (i32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.popcnt (i32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.eq (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.ge_s (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.ge_u (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.gt_s (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.gt_u (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.le_s (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.le_u (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.lt_s (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.lt_u (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (func (result i64) (i64.ne (i32.const 0) (f32.const 0)))) "type mismatch") diff --git a/test/spec/inline-module.wast b/test/spec/inline-module.wast deleted file mode 100644 index dc7ead776..000000000 --- a/test/spec/inline-module.wast +++ /dev/null @@ -1 +0,0 @@ -(func) (memory 0) (func (export "f")) diff --git a/test/spec/int_exprs.wast b/test/spec/int_exprs.wast deleted file mode 100644 index 22e1fbcb5..000000000 --- a/test/spec/int_exprs.wast +++ /dev/null @@ -1,350 +0,0 @@ -;; Test interesting integer "expressions". These tests contain code -;; patterns which tempt common value-changing optimizations. - -;; Test that x+1<y+1 is not folded to x<y. - -(module - (func (export "i32.no_fold_cmp_s_offset") (param $x i32) (param $y i32) (result i32) - (i32.lt_s (i32.add (local.get $x) (i32.const 1)) (i32.add (local.get $y) (i32.const 1)))) - (func (export "i32.no_fold_cmp_u_offset") (param $x i32) (param $y i32) (result i32) - (i32.lt_u (i32.add (local.get $x) (i32.const 1)) (i32.add (local.get $y) (i32.const 1)))) - - (func (export "i64.no_fold_cmp_s_offset") (param $x i64) (param $y i64) (result i32) - (i64.lt_s (i64.add (local.get $x) (i64.const 1)) (i64.add (local.get $y) (i64.const 1)))) - (func (export "i64.no_fold_cmp_u_offset") (param $x i64) (param $y i64) (result i32) - (i64.lt_u (i64.add (local.get $x) (i64.const 1)) (i64.add (local.get $y) (i64.const 1)))) -) - -(assert_return (invoke "i32.no_fold_cmp_s_offset" (i32.const 0x7fffffff) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "i32.no_fold_cmp_u_offset" (i32.const 0xffffffff) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "i64.no_fold_cmp_s_offset" (i64.const 0x7fffffffffffffff) (i64.const 0)) (i32.const 1)) -(assert_return (invoke "i64.no_fold_cmp_u_offset" (i64.const 0xffffffffffffffff) (i64.const 0)) (i32.const 1)) - -;; Test that wrap(extend_s(x)) is not folded to x. - -(module - (func (export "i64.no_fold_wrap_extend_s") (param $x i64) (result i64) - (i64.extend_i32_s (i32.wrap_i64 (local.get $x)))) -) - -(assert_return (invoke "i64.no_fold_wrap_extend_s" (i64.const 0x0010203040506070)) (i64.const 0x0000000040506070)) -(assert_return (invoke "i64.no_fold_wrap_extend_s" (i64.const 0x00a0b0c0d0e0f0a0)) (i64.const 0xffffffffd0e0f0a0)) - -;; Test that wrap(extend_u(x)) is not folded to x. - -(module - (func (export "i64.no_fold_wrap_extend_u") (param $x i64) (result i64) - (i64.extend_i32_u (i32.wrap_i64 (local.get $x)))) -) - -(assert_return (invoke "i64.no_fold_wrap_extend_u" (i64.const 0x0010203040506070)) (i64.const 0x0000000040506070)) - -;; Test that x<<n>>n is not folded to x. - -(module - (func (export "i32.no_fold_shl_shr_s") (param $x i32) (result i32) - (i32.shr_s (i32.shl (local.get $x) (i32.const 1)) (i32.const 1))) - (func (export "i32.no_fold_shl_shr_u") (param $x i32) (result i32) - (i32.shr_u (i32.shl (local.get $x) (i32.const 1)) (i32.const 1))) - - (func (export "i64.no_fold_shl_shr_s") (param $x i64) (result i64) - (i64.shr_s (i64.shl (local.get $x) (i64.const 1)) (i64.const 1))) - (func (export "i64.no_fold_shl_shr_u") (param $x i64) (result i64) - (i64.shr_u (i64.shl (local.get $x) (i64.const 1)) (i64.const 1))) -) - -(assert_return (invoke "i32.no_fold_shl_shr_s" (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "i32.no_fold_shl_shr_u" (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "i64.no_fold_shl_shr_s" (i64.const 0x8000000000000000)) (i64.const 0)) -(assert_return (invoke "i64.no_fold_shl_shr_u" (i64.const 0x8000000000000000)) (i64.const 0)) - -;; Test that x>>n<<n is not folded to x. - -(module - (func (export "i32.no_fold_shr_s_shl") (param $x i32) (result i32) - (i32.shl (i32.shr_s (local.get $x) (i32.const 1)) (i32.const 1))) - (func (export "i32.no_fold_shr_u_shl") (param $x i32) (result i32) - (i32.shl (i32.shr_u (local.get $x) (i32.const 1)) (i32.const 1))) - - (func (export "i64.no_fold_shr_s_shl") (param $x i64) (result i64) - (i64.shl (i64.shr_s (local.get $x) (i64.const 1)) (i64.const 1))) - (func (export "i64.no_fold_shr_u_shl") (param $x i64) (result i64) - (i64.shl (i64.shr_u (local.get $x) (i64.const 1)) (i64.const 1))) -) - -(assert_return (invoke "i32.no_fold_shr_s_shl" (i32.const 1)) (i32.const 0)) -(assert_return (invoke "i32.no_fold_shr_u_shl" (i32.const 1)) (i32.const 0)) -(assert_return (invoke "i64.no_fold_shr_s_shl" (i64.const 1)) (i64.const 0)) -(assert_return (invoke "i64.no_fold_shr_u_shl" (i64.const 1)) (i64.const 0)) - -;; Test that x/n*n is not folded to x. - -(module - (func (export "i32.no_fold_div_s_mul") (param $x i32) (result i32) - (i32.mul (i32.div_s (local.get $x) (i32.const 6)) (i32.const 6))) - (func (export "i32.no_fold_div_u_mul") (param $x i32) (result i32) - (i32.mul (i32.div_u (local.get $x) (i32.const 6)) (i32.const 6))) - - (func (export "i64.no_fold_div_s_mul") (param $x i64) (result i64) - (i64.mul (i64.div_s (local.get $x) (i64.const 6)) (i64.const 6))) - (func (export "i64.no_fold_div_u_mul") (param $x i64) (result i64) - (i64.mul (i64.div_u (local.get $x) (i64.const 6)) (i64.const 6))) -) - -(assert_return (invoke "i32.no_fold_div_s_mul" (i32.const 1)) (i32.const 0)) -(assert_return (invoke "i32.no_fold_div_u_mul" (i32.const 1)) (i32.const 0)) -(assert_return (invoke "i64.no_fold_div_s_mul" (i64.const 1)) (i64.const 0)) -(assert_return (invoke "i64.no_fold_div_u_mul" (i64.const 1)) (i64.const 0)) - -;; Test that x/x is not folded to 1. - -(module - (func (export "i32.no_fold_div_s_self") (param $x i32) (result i32) - (i32.div_s (local.get $x) (local.get $x))) - (func (export "i32.no_fold_div_u_self") (param $x i32) (result i32) - (i32.div_u (local.get $x) (local.get $x))) - - (func (export "i64.no_fold_div_s_self") (param $x i64) (result i64) - (i64.div_s (local.get $x) (local.get $x))) - (func (export "i64.no_fold_div_u_self") (param $x i64) (result i64) - (i64.div_u (local.get $x) (local.get $x))) -) - -(assert_trap (invoke "i32.no_fold_div_s_self" (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "i32.no_fold_div_u_self" (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "i64.no_fold_div_s_self" (i64.const 0)) "integer divide by zero") -(assert_trap (invoke "i64.no_fold_div_u_self" (i64.const 0)) "integer divide by zero") - -;; Test that x%x is not folded to 0. - -(module - (func (export "i32.no_fold_rem_s_self") (param $x i32) (result i32) - (i32.rem_s (local.get $x) (local.get $x))) - (func (export "i32.no_fold_rem_u_self") (param $x i32) (result i32) - (i32.rem_u (local.get $x) (local.get $x))) - - (func (export "i64.no_fold_rem_s_self") (param $x i64) (result i64) - (i64.rem_s (local.get $x) (local.get $x))) - (func (export "i64.no_fold_rem_u_self") (param $x i64) (result i64) - (i64.rem_u (local.get $x) (local.get $x))) -) - -(assert_trap (invoke "i32.no_fold_rem_s_self" (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "i32.no_fold_rem_u_self" (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "i64.no_fold_rem_s_self" (i64.const 0)) "integer divide by zero") -(assert_trap (invoke "i64.no_fold_rem_u_self" (i64.const 0)) "integer divide by zero") - -;; Test that x*n/n is not folded to x. - -(module - (func (export "i32.no_fold_mul_div_s") (param $x i32) (result i32) - (i32.div_s (i32.mul (local.get $x) (i32.const 6)) (i32.const 6))) - (func (export "i32.no_fold_mul_div_u") (param $x i32) (result i32) - (i32.div_u (i32.mul (local.get $x) (i32.const 6)) (i32.const 6))) - - (func (export "i64.no_fold_mul_div_s") (param $x i64) (result i64) - (i64.div_s (i64.mul (local.get $x) (i64.const 6)) (i64.const 6))) - (func (export "i64.no_fold_mul_div_u") (param $x i64) (result i64) - (i64.div_u (i64.mul (local.get $x) (i64.const 6)) (i64.const 6))) -) - -(assert_return (invoke "i32.no_fold_mul_div_s" (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "i32.no_fold_mul_div_u" (i32.const 0x80000000)) (i32.const 0)) -(assert_return (invoke "i64.no_fold_mul_div_s" (i64.const 0x8000000000000000)) (i64.const 0)) -(assert_return (invoke "i64.no_fold_mul_div_u" (i64.const 0x8000000000000000)) (i64.const 0)) - -;; Test that x/n where n is a known power of 2 is not folded to shr_s. - -(module - (func (export "i32.no_fold_div_s_2") (param $x i32) (result i32) - (i32.div_s (local.get $x) (i32.const 2))) - - (func (export "i64.no_fold_div_s_2") (param $x i64) (result i64) - (i64.div_s (local.get $x) (i64.const 2))) -) - -(assert_return (invoke "i32.no_fold_div_s_2" (i32.const -11)) (i32.const -5)) -(assert_return (invoke "i64.no_fold_div_s_2" (i64.const -11)) (i64.const -5)) - -;; Test that x%n where n is a known power of 2 is not folded to and. - -(module - (func (export "i32.no_fold_rem_s_2") (param $x i32) (result i32) - (i32.rem_s (local.get $x) (i32.const 2))) - - (func (export "i64.no_fold_rem_s_2") (param $x i64) (result i64) - (i64.rem_s (local.get $x) (i64.const 2))) -) - -(assert_return (invoke "i32.no_fold_rem_s_2" (i32.const -11)) (i32.const -1)) -(assert_return (invoke "i64.no_fold_rem_s_2" (i64.const -11)) (i64.const -1)) - -;; Test that x/0 works. - -(module - (func (export "i32.div_s_0") (param $x i32) (result i32) - (i32.div_s (local.get $x) (i32.const 0))) - (func (export "i32.div_u_0") (param $x i32) (result i32) - (i32.div_u (local.get $x) (i32.const 0))) - - (func (export "i64.div_s_0") (param $x i64) (result i64) - (i64.div_s (local.get $x) (i64.const 0))) - (func (export "i64.div_u_0") (param $x i64) (result i64) - (i64.div_u (local.get $x) (i64.const 0))) -) - -(assert_trap (invoke "i32.div_s_0" (i32.const 71)) "integer divide by zero") -(assert_trap (invoke "i32.div_u_0" (i32.const 71)) "integer divide by zero") -(assert_trap (invoke "i64.div_s_0" (i64.const 71)) "integer divide by zero") -(assert_trap (invoke "i64.div_u_0" (i64.const 71)) "integer divide by zero") - -;; Test that x/3 works. - -(module - (func (export "i32.div_s_3") (param $x i32) (result i32) - (i32.div_s (local.get $x) (i32.const 3))) - (func (export "i32.div_u_3") (param $x i32) (result i32) - (i32.div_u (local.get $x) (i32.const 3))) - - (func (export "i64.div_s_3") (param $x i64) (result i64) - (i64.div_s (local.get $x) (i64.const 3))) - (func (export "i64.div_u_3") (param $x i64) (result i64) - (i64.div_u (local.get $x) (i64.const 3))) -) - -(assert_return (invoke "i32.div_s_3" (i32.const 71)) (i32.const 23)) -(assert_return (invoke "i32.div_s_3" (i32.const 0x60000000)) (i32.const 0x20000000)) -(assert_return (invoke "i32.div_u_3" (i32.const 71)) (i32.const 23)) -(assert_return (invoke "i32.div_u_3" (i32.const 0xc0000000)) (i32.const 0x40000000)) -(assert_return (invoke "i64.div_s_3" (i64.const 71)) (i64.const 23)) -(assert_return (invoke "i64.div_s_3" (i64.const 0x3000000000000000)) (i64.const 0x1000000000000000)) -(assert_return (invoke "i64.div_u_3" (i64.const 71)) (i64.const 23)) -(assert_return (invoke "i64.div_u_3" (i64.const 0xc000000000000000)) (i64.const 0x4000000000000000)) - -;; Test that x/5 works. - -(module - (func (export "i32.div_s_5") (param $x i32) (result i32) - (i32.div_s (local.get $x) (i32.const 5))) - (func (export "i32.div_u_5") (param $x i32) (result i32) - (i32.div_u (local.get $x) (i32.const 5))) - - (func (export "i64.div_s_5") (param $x i64) (result i64) - (i64.div_s (local.get $x) (i64.const 5))) - (func (export "i64.div_u_5") (param $x i64) (result i64) - (i64.div_u (local.get $x) (i64.const 5))) -) - -(assert_return (invoke "i32.div_s_5" (i32.const 71)) (i32.const 14)) -(assert_return (invoke "i32.div_s_5" (i32.const 0x50000000)) (i32.const 0x10000000)) -(assert_return (invoke "i32.div_u_5" (i32.const 71)) (i32.const 14)) -(assert_return (invoke "i32.div_u_5" (i32.const 0xa0000000)) (i32.const 0x20000000)) -(assert_return (invoke "i64.div_s_5" (i64.const 71)) (i64.const 14)) -(assert_return (invoke "i64.div_s_5" (i64.const 0x5000000000000000)) (i64.const 0x1000000000000000)) -(assert_return (invoke "i64.div_u_5" (i64.const 71)) (i64.const 14)) -(assert_return (invoke "i64.div_u_5" (i64.const 0xa000000000000000)) (i64.const 0x2000000000000000)) - -;; Test that x/7 works. - -(module - (func (export "i32.div_s_7") (param $x i32) (result i32) - (i32.div_s (local.get $x) (i32.const 7))) - (func (export "i32.div_u_7") (param $x i32) (result i32) - (i32.div_u (local.get $x) (i32.const 7))) - - (func (export "i64.div_s_7") (param $x i64) (result i64) - (i64.div_s (local.get $x) (i64.const 7))) - (func (export "i64.div_u_7") (param $x i64) (result i64) - (i64.div_u (local.get $x) (i64.const 7))) -) - -(assert_return (invoke "i32.div_s_7" (i32.const 71)) (i32.const 10)) -(assert_return (invoke "i32.div_s_7" (i32.const 0x70000000)) (i32.const 0x10000000)) -(assert_return (invoke "i32.div_u_7" (i32.const 71)) (i32.const 10)) -(assert_return (invoke "i32.div_u_7" (i32.const 0xe0000000)) (i32.const 0x20000000)) -(assert_return (invoke "i64.div_s_7" (i64.const 71)) (i64.const 10)) -(assert_return (invoke "i64.div_s_7" (i64.const 0x7000000000000000)) (i64.const 0x1000000000000000)) -(assert_return (invoke "i64.div_u_7" (i64.const 71)) (i64.const 10)) -(assert_return (invoke "i64.div_u_7" (i64.const 0xe000000000000000)) (i64.const 0x2000000000000000)) - -;; Test that x%3 works. - -(module - (func (export "i32.rem_s_3") (param $x i32) (result i32) - (i32.rem_s (local.get $x) (i32.const 3))) - (func (export "i32.rem_u_3") (param $x i32) (result i32) - (i32.rem_u (local.get $x) (i32.const 3))) - - (func (export "i64.rem_s_3") (param $x i64) (result i64) - (i64.rem_s (local.get $x) (i64.const 3))) - (func (export "i64.rem_u_3") (param $x i64) (result i64) - (i64.rem_u (local.get $x) (i64.const 3))) -) - -(assert_return (invoke "i32.rem_s_3" (i32.const 71)) (i32.const 2)) -(assert_return (invoke "i32.rem_s_3" (i32.const 0x60000000)) (i32.const 0)) -(assert_return (invoke "i32.rem_u_3" (i32.const 71)) (i32.const 2)) -(assert_return (invoke "i32.rem_u_3" (i32.const 0xc0000000)) (i32.const 0)) -(assert_return (invoke "i64.rem_s_3" (i64.const 71)) (i64.const 2)) -(assert_return (invoke "i64.rem_s_3" (i64.const 0x3000000000000000)) (i64.const 0)) -(assert_return (invoke "i64.rem_u_3" (i64.const 71)) (i64.const 2)) -(assert_return (invoke "i64.rem_u_3" (i64.const 0xc000000000000000)) (i64.const 0)) - -;; Test that x%5 works. - -(module - (func (export "i32.rem_s_5") (param $x i32) (result i32) - (i32.rem_s (local.get $x) (i32.const 5))) - (func (export "i32.rem_u_5") (param $x i32) (result i32) - (i32.rem_u (local.get $x) (i32.const 5))) - - (func (export "i64.rem_s_5") (param $x i64) (result i64) - (i64.rem_s (local.get $x) (i64.const 5))) - (func (export "i64.rem_u_5") (param $x i64) (result i64) - (i64.rem_u (local.get $x) (i64.const 5))) -) - -(assert_return (invoke "i32.rem_s_5" (i32.const 71)) (i32.const 1)) -(assert_return (invoke "i32.rem_s_5" (i32.const 0x50000000)) (i32.const 0)) -(assert_return (invoke "i32.rem_u_5" (i32.const 71)) (i32.const 1)) -(assert_return (invoke "i32.rem_u_5" (i32.const 0xa0000000)) (i32.const 0)) -(assert_return (invoke "i64.rem_s_5" (i64.const 71)) (i64.const 1)) -(assert_return (invoke "i64.rem_s_5" (i64.const 0x5000000000000000)) (i64.const 0)) -(assert_return (invoke "i64.rem_u_5" (i64.const 71)) (i64.const 1)) -(assert_return (invoke "i64.rem_u_5" (i64.const 0xa000000000000000)) (i64.const 0)) - -;; Test that x%7 works. - -(module - (func (export "i32.rem_s_7") (param $x i32) (result i32) - (i32.rem_s (local.get $x) (i32.const 7))) - (func (export "i32.rem_u_7") (param $x i32) (result i32) - (i32.rem_u (local.get $x) (i32.const 7))) - - (func (export "i64.rem_s_7") (param $x i64) (result i64) - (i64.rem_s (local.get $x) (i64.const 7))) - (func (export "i64.rem_u_7") (param $x i64) (result i64) - (i64.rem_u (local.get $x) (i64.const 7))) -) - -(assert_return (invoke "i32.rem_s_7" (i32.const 71)) (i32.const 1)) -(assert_return (invoke "i32.rem_s_7" (i32.const 0x70000000)) (i32.const 0)) -(assert_return (invoke "i32.rem_u_7" (i32.const 71)) (i32.const 1)) -(assert_return (invoke "i32.rem_u_7" (i32.const 0xe0000000)) (i32.const 0)) -(assert_return (invoke "i64.rem_s_7" (i64.const 71)) (i64.const 1)) -(assert_return (invoke "i64.rem_s_7" (i64.const 0x7000000000000000)) (i64.const 0)) -(assert_return (invoke "i64.rem_u_7" (i64.const 71)) (i64.const 1)) -(assert_return (invoke "i64.rem_u_7" (i64.const 0xe000000000000000)) (i64.const 0)) - -;; Test that x/-1 is not folded to -x. - -(module - (func (export "i32.no_fold_div_neg1") (param $x i32) (result i32) - (i32.div_s (local.get $x) (i32.const -1))) - - (func (export "i64.no_fold_div_neg1") (param $x i64) (result i64) - (i64.div_s (local.get $x) (i64.const -1))) -) - -(assert_trap (invoke "i32.no_fold_div_neg1" (i32.const 0x80000000)) "integer overflow") -(assert_trap (invoke "i64.no_fold_div_neg1" (i64.const 0x8000000000000000)) "integer overflow") diff --git a/test/spec/int_literals.wast b/test/spec/int_literals.wast deleted file mode 100644 index 73b37cc5a..000000000 --- a/test/spec/int_literals.wast +++ /dev/null @@ -1,151 +0,0 @@ -(module - (func (export "i32.test") (result i32) (return (i32.const 0x0bAdD00D))) - (func (export "i32.umax") (result i32) (return (i32.const 0xffffffff))) - (func (export "i32.smax") (result i32) (return (i32.const 0x7fffffff))) - (func (export "i32.neg_smax") (result i32) (return (i32.const -0x7fffffff))) - (func (export "i32.smin") (result i32) (return (i32.const -0x80000000))) - (func (export "i32.alt_smin") (result i32) (return (i32.const 0x80000000))) - (func (export "i32.inc_smin") (result i32) (return (i32.add (i32.const -0x80000000) (i32.const 1)))) - (func (export "i32.neg_zero") (result i32) (return (i32.const -0x0))) - (func (export "i32.not_octal") (result i32) (return (i32.const 010))) - (func (export "i32.unsigned_decimal") (result i32) (return (i32.const 4294967295))) - (func (export "i32.plus_sign") (result i32) (return (i32.const +42))) - - (func (export "i64.test") (result i64) (return (i64.const 0x0CABBA6E0ba66a6e))) - (func (export "i64.umax") (result i64) (return (i64.const 0xffffffffffffffff))) - (func (export "i64.smax") (result i64) (return (i64.const 0x7fffffffffffffff))) - (func (export "i64.neg_smax") (result i64) (return (i64.const -0x7fffffffffffffff))) - (func (export "i64.smin") (result i64) (return (i64.const -0x8000000000000000))) - (func (export "i64.alt_smin") (result i64) (return (i64.const 0x8000000000000000))) - (func (export "i64.inc_smin") (result i64) (return (i64.add (i64.const -0x8000000000000000) (i64.const 1)))) - (func (export "i64.neg_zero") (result i64) (return (i64.const -0x0))) - (func (export "i64.not_octal") (result i64) (return (i64.const 010))) - (func (export "i64.unsigned_decimal") (result i64) (return (i64.const 18446744073709551615))) - (func (export "i64.plus_sign") (result i64) (return (i64.const +42))) - - (func (export "i32-dec-sep1") (result i32) (i32.const 1_000_000)) - (func (export "i32-dec-sep2") (result i32) (i32.const 1_0_0_0)) - (func (export "i32-hex-sep1") (result i32) (i32.const 0xa_0f_00_99)) - (func (export "i32-hex-sep2") (result i32) (i32.const 0x1_a_A_0_f)) - - (func (export "i64-dec-sep1") (result i64) (i64.const 1_000_000)) - (func (export "i64-dec-sep2") (result i64) (i64.const 1_0_0_0)) - (func (export "i64-hex-sep1") (result i64) (i64.const 0xa_f00f_0000_9999)) - (func (export "i64-hex-sep2") (result i64) (i64.const 0x1_a_A_0_f)) -) - -(assert_return (invoke "i32.test") (i32.const 195940365)) -(assert_return (invoke "i32.umax") (i32.const -1)) -(assert_return (invoke "i32.smax") (i32.const 2147483647)) -(assert_return (invoke "i32.neg_smax") (i32.const -2147483647)) -(assert_return (invoke "i32.smin") (i32.const -2147483648)) -(assert_return (invoke "i32.alt_smin") (i32.const -2147483648)) -(assert_return (invoke "i32.inc_smin") (i32.const -2147483647)) -(assert_return (invoke "i32.neg_zero") (i32.const 0)) -(assert_return (invoke "i32.not_octal") (i32.const 10)) -(assert_return (invoke "i32.unsigned_decimal") (i32.const -1)) -(assert_return (invoke "i32.plus_sign") (i32.const 42)) - -(assert_return (invoke "i64.test") (i64.const 913028331277281902)) -(assert_return (invoke "i64.umax") (i64.const -1)) -(assert_return (invoke "i64.smax") (i64.const 9223372036854775807)) -(assert_return (invoke "i64.neg_smax") (i64.const -9223372036854775807)) -(assert_return (invoke "i64.smin") (i64.const -9223372036854775808)) -(assert_return (invoke "i64.alt_smin") (i64.const -9223372036854775808)) -(assert_return (invoke "i64.inc_smin") (i64.const -9223372036854775807)) -(assert_return (invoke "i64.neg_zero") (i64.const 0)) -(assert_return (invoke "i64.not_octal") (i64.const 10)) -(assert_return (invoke "i64.unsigned_decimal") (i64.const -1)) -(assert_return (invoke "i64.plus_sign") (i64.const 42)) - -(assert_return (invoke "i32-dec-sep1") (i32.const 1000000)) -(assert_return (invoke "i32-dec-sep2") (i32.const 1000)) -(assert_return (invoke "i32-hex-sep1") (i32.const 0xa0f0099)) -(assert_return (invoke "i32-hex-sep2") (i32.const 0x1aa0f)) - -(assert_return (invoke "i64-dec-sep1") (i64.const 1000000)) -(assert_return (invoke "i64-dec-sep2") (i64.const 1000)) -(assert_return (invoke "i64-hex-sep1") (i64.const 0xaf00f00009999)) -(assert_return (invoke "i64-hex-sep2") (i64.const 0x1aa0f)) - -(assert_malformed - (module quote "(global i32 (i32.const _100))") - "unknown operator" -) -(assert_malformed - (module quote "(global i32 (i32.const +_100))") - "unknown operator" -) -(assert_malformed - (module quote "(global i32 (i32.const -_100))") - "unknown operator" -) -(assert_malformed - (module quote "(global i32 (i32.const 99_))") - "unknown operator" -) -(assert_malformed - (module quote "(global i32 (i32.const 1__000))") - "unknown operator" -) -(assert_malformed - (module quote "(global i32 (i32.const _0x100))") - "unknown operator" -) -(assert_malformed - (module quote "(global i32 (i32.const 0_x100))") - "unknown operator" -) -(assert_malformed - (module quote "(global i32 (i32.const 0x_100))") - "unknown operator" -) -(assert_malformed - (module quote "(global i32 (i32.const 0x00_))") - "unknown operator" -) -(assert_malformed - (module quote "(global i32 (i32.const 0xff__ffff))") - "unknown operator" -) - -(assert_malformed - (module quote "(global i64 (i64.const _100))") - "unknown operator" -) -(assert_malformed - (module quote "(global i64 (i64.const +_100))") - "unknown operator" -) -(assert_malformed - (module quote "(global i64 (i64.const -_100))") - "unknown operator" -) -(assert_malformed - (module quote "(global i64 (i64.const 99_))") - "unknown operator" -) -(assert_malformed - (module quote "(global i64 (i64.const 1__000))") - "unknown operator" -) -(assert_malformed - (module quote "(global i64 (i64.const _0x100))") - "unknown operator" -) -(assert_malformed - (module quote "(global i64 (i64.const 0_x100))") - "unknown operator" -) -(assert_malformed - (module quote "(global i64 (i64.const 0x_100))") - "unknown operator" -) -(assert_malformed - (module quote "(global i64 (i64.const 0x00_))") - "unknown operator" -) -(assert_malformed - (module quote "(global i64 (i64.const 0xff__ffff))") - "unknown operator" -) diff --git a/test/spec/labels.wast b/test/spec/labels.wast deleted file mode 100644 index 6fbf6292d..000000000 --- a/test/spec/labels.wast +++ /dev/null @@ -1,328 +0,0 @@ -(module - (func (export "block") (result i32) - (block $exit (result i32) - (br $exit (i32.const 1)) - (i32.const 0) - ) - ) - - (func (export "loop1") (result i32) - (local $i i32) - (local.set $i (i32.const 0)) - (block $exit (result i32) - (loop $cont (result i32) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - (if (i32.eq (local.get $i) (i32.const 5)) - (then (br $exit (local.get $i))) - ) - (br $cont) - ) - ) - ) - - (func (export "loop2") (result i32) - (local $i i32) - (local.set $i (i32.const 0)) - (block $exit (result i32) - (loop $cont (result i32) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - (if (i32.eq (local.get $i) (i32.const 5)) - (then (br $cont)) - ) - (if (i32.eq (local.get $i) (i32.const 8)) - (then (br $exit (local.get $i))) - ) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - (br $cont) - ) - ) - ) - - (func (export "loop3") (result i32) - (local $i i32) - (local.set $i (i32.const 0)) - (block $exit (result i32) - (loop $cont (result i32) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - (if (i32.eq (local.get $i) (i32.const 5)) - (then (br $exit (local.get $i))) - ) - (local.get $i) - ) - ) - ) - - (func (export "loop4") (param $max i32) (result i32) - (local $i i32) - (local.set $i (i32.const 1)) - (block $exit (result i32) - (loop $cont (result i32) - (local.set $i (i32.add (local.get $i) (local.get $i))) - (if (i32.gt_u (local.get $i) (local.get $max)) - (then (br $exit (local.get $i))) - ) - (br $cont) - ) - ) - ) - - (func (export "loop5") (result i32) - (i32.add - (loop $l (result i32) (i32.const 1)) - (i32.const 1) - ) - ) - - (func (export "loop6") (result i32) - (loop (result i32) - (br_if 0 (i32.const 0)) - (i32.const 3) - ) - ) - - (func (export "if") (result i32) - (local $i i32) - (local.set $i (i32.const 0)) - (block - (if $l - (i32.const 1) - (then (br $l) (local.set $i (i32.const 666))) - ) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - (if $l - (i32.const 1) - (then (br $l) (local.set $i (i32.const 666))) - (else (local.set $i (i32.const 888))) - ) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - (if $l - (i32.const 1) - (then (br $l) (local.set $i (i32.const 666))) - (else (local.set $i (i32.const 888))) - ) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - (if $l - (i32.const 0) - (then (local.set $i (i32.const 888))) - (else (br $l) (local.set $i (i32.const 666))) - ) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - (if $l - (i32.const 0) - (then (local.set $i (i32.const 888))) - (else (br $l) (local.set $i (i32.const 666))) - ) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - ) - (local.get $i) - ) - - (func (export "if2") (result i32) - (local $i i32) - (local.set $i (i32.const 0)) - (block - (if - (i32.const 1) - (then (br 0) (local.set $i (i32.const 666))) - ) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - (if - (i32.const 1) - (then (br 0) (local.set $i (i32.const 666))) - (else (local.set $i (i32.const 888))) - ) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - (if - (i32.const 1) - (then (br 0) (local.set $i (i32.const 666))) - (else (local.set $i (i32.const 888))) - ) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - (if - (i32.const 0) - (then (local.set $i (i32.const 888))) - (else (br 0) (local.set $i (i32.const 666))) - ) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - (if - (i32.const 0) - (then (local.set $i (i32.const 888))) - (else (br 0) (local.set $i (i32.const 666))) - ) - (local.set $i (i32.add (local.get $i) (i32.const 1))) - ) - (local.get $i) - ) - - (func (export "switch") (param i32) (result i32) - (block $ret (result i32) - (i32.mul (i32.const 10) - (block $exit (result i32) - (block $0 - (block $default - (block $3 - (block $2 - (block $1 - (br_table $0 $1 $2 $3 $default (local.get 0)) - ) ;; 1 - ) ;; 2 - (br $exit (i32.const 2)) - ) ;; 3 - (br $ret (i32.const 3)) - ) ;; default - ) ;; 0 - (i32.const 5) - ) - ) - ) - ) - - (func (export "return") (param i32) (result i32) - (block $default - (block $1 - (block $0 - (br_table $0 $1 (local.get 0)) - (br $default) - ) ;; 0 - (return (i32.const 0)) - ) ;; 1 - ) ;; default - (i32.const 2) - ) - - (func (export "br_if0") (result i32) - (local $i i32) - (local.set $i (i32.const 0)) - (block $outer (result i32) - (block $inner - (br_if $inner (i32.const 0)) - (local.set $i (i32.or (local.get $i) (i32.const 0x1))) - (br_if $inner (i32.const 1)) - (local.set $i (i32.or (local.get $i) (i32.const 0x2))) - ) - (drop (br_if $outer - (block (result i32) - (local.set $i (i32.or (local.get $i) (i32.const 0x4))) - (local.get $i) - ) - (i32.const 0) - )) - (local.set $i (i32.or (local.get $i) (i32.const 0x8))) - (drop (br_if $outer - (block (result i32) - (local.set $i (i32.or (local.get $i) (i32.const 0x10))) - (local.get $i) - ) - (i32.const 1) - )) - (local.set $i (i32.or (local.get $i) (i32.const 0x20))) (local.get $i) - ) - ) - - (func (export "br_if1") (result i32) - (block $l0 (result i32) - (drop - (br_if $l0 - (block $l1 (result i32) (br $l1 (i32.const 1))) - (i32.const 1) - ) - ) - (i32.const 0) - ) - ) - - (func (export "br_if2") (result i32) - (block $l0 (result i32) - (if (i32.const 1) - (then - (drop - (br_if $l0 - (block $l1 (result i32) (br $l1 (i32.const 1))) - (i32.const 1) - ) - ) - ) - ) - (i32.const 0) - ) - ) - - (func (export "br_if3") (result i32) - (local $i1 i32) - (drop - (i32.add - (block $l0 (result i32) - (drop (br_if $l0 - (block (result i32) (local.set $i1 (i32.const 1)) (local.get $i1)) - (block (result i32) (local.set $i1 (i32.const 2)) (local.get $i1)) - )) - (i32.const 0) - ) - (i32.const 0) - ) - ) - (local.get $i1) - ) - - (func (export "br") (result i32) - (block $l0 (result i32) - (if (i32.const 1) - (then (br $l0 (block $l1 (result i32) (br $l1 (i32.const 1))))) - (else (block (drop (block $l1 (result i32) (br $l1 (i32.const 1)))))) - ) - (i32.const 1) - ) - ) - - (func (export "shadowing") (result i32) - (block $l1 (result i32) (i32.xor (br $l1 (i32.const 1)) (i32.const 2))) - ) - - (func (export "redefinition") (result i32) - (block $l1 (result i32) - (i32.add - (block $l1 (result i32) (i32.const 2)) - (block $l1 (result i32) (br $l1 (i32.const 3))) - ) - ) - ) -) - -(assert_return (invoke "block") (i32.const 1)) -(assert_return (invoke "loop1") (i32.const 5)) -(assert_return (invoke "loop2") (i32.const 8)) -(assert_return (invoke "loop3") (i32.const 1)) -(assert_return (invoke "loop4" (i32.const 8)) (i32.const 16)) -(assert_return (invoke "loop5") (i32.const 2)) -(assert_return (invoke "loop6") (i32.const 3)) -(assert_return (invoke "if") (i32.const 5)) -(assert_return (invoke "if2") (i32.const 5)) -(assert_return (invoke "switch" (i32.const 0)) (i32.const 50)) -(assert_return (invoke "switch" (i32.const 1)) (i32.const 20)) -(assert_return (invoke "switch" (i32.const 2)) (i32.const 20)) -(assert_return (invoke "switch" (i32.const 3)) (i32.const 3)) -(assert_return (invoke "switch" (i32.const 4)) (i32.const 50)) -(assert_return (invoke "switch" (i32.const 5)) (i32.const 50)) -(assert_return (invoke "return" (i32.const 0)) (i32.const 0)) -(assert_return (invoke "return" (i32.const 1)) (i32.const 2)) -(assert_return (invoke "return" (i32.const 2)) (i32.const 2)) -(assert_return (invoke "br_if0") (i32.const 0x1d)) -(assert_return (invoke "br_if1") (i32.const 1)) -(assert_return (invoke "br_if2") (i32.const 1)) -(assert_return (invoke "br_if3") (i32.const 2)) -(assert_return (invoke "br") (i32.const 1)) -(assert_return (invoke "shadowing") (i32.const 1)) -(assert_return (invoke "redefinition") (i32.const 5)) - -(assert_invalid - (module (func (block $l (f32.neg (br_if $l (i32.const 1))) (nop)))) - "type mismatch" -) -(assert_invalid - (module (func (block $l (br_if $l (f32.const 0) (i32.const 1))))) - "type mismatch" -) -(assert_invalid - (module (func (block $l (br_if $l (f32.const 0) (i32.const 1))))) - "type mismatch" -) diff --git a/test/spec/left-to-right.wast b/test/spec/left-to-right.wast deleted file mode 100644 index 634aa9c86..000000000 --- a/test/spec/left-to-right.wast +++ /dev/null @@ -1,233 +0,0 @@ -(module - (memory 1) - - (type $i32_T (func (param i32 i32) (result i32))) - (type $i64_T (func (param i64 i64) (result i32))) - (type $f32_T (func (param f32 f32) (result i32))) - (type $f64_T (func (param f64 f64) (result i32))) - (table funcref - (elem $i32_t0 $i32_t1 $i64_t0 $i64_t1 $f32_t0 $f32_t1 $f64_t0 $f64_t1) - ) - - (func $i32_t0 (type $i32_T) (i32.const -1)) - (func $i32_t1 (type $i32_T) (i32.const -2)) - (func $i64_t0 (type $i64_T) (i32.const -1)) - (func $i64_t1 (type $i64_T) (i32.const -2)) - (func $f32_t0 (type $f32_T) (i32.const -1)) - (func $f32_t1 (type $f32_T) (i32.const -2)) - (func $f64_t0 (type $f64_T) (i32.const -1)) - (func $f64_t1 (type $f64_T) (i32.const -2)) - - ;; The idea is: We reset the memory, then the instruction call $*_left, - ;; $*_right, $*_another, $*_callee (for indirect calls), and $*_bool (when a - ;; boolean value is needed). These functions all call bump, which shifts the - ;; memory starting at address 8 up a byte, and then store a unique value at - ;; address 8. Then we read the 4-byte value at address 8. It should contain - ;; the correct sequence of unique values if the calls were evaluated in the - ;; correct order. - - (func $reset (i32.store (i32.const 8) (i32.const 0))) - - (func $bump - (i32.store8 (i32.const 11) (i32.load8_u (i32.const 10))) - (i32.store8 (i32.const 10) (i32.load8_u (i32.const 9))) - (i32.store8 (i32.const 9) (i32.load8_u (i32.const 8))) - (i32.store8 (i32.const 8) (i32.const -3))) - - (func $get (result i32) (i32.load (i32.const 8))) - - (func $i32_left (result i32) (call $bump) (i32.store8 (i32.const 8) (i32.const 1)) (i32.const 0)) - (func $i32_right (result i32) (call $bump) (i32.store8 (i32.const 8) (i32.const 2)) (i32.const 1)) - (func $i32_another (result i32) (call $bump) (i32.store8 (i32.const 8) (i32.const 3)) (i32.const 1)) - (func $i32_callee (result i32) (call $bump) (i32.store8 (i32.const 8) (i32.const 4)) (i32.const 0)) - (func $i32_bool (result i32) (call $bump) (i32.store8 (i32.const 8) (i32.const 5)) (i32.const 0)) - (func $i64_left (result i64) (call $bump) (i32.store8 (i32.const 8) (i32.const 1)) (i64.const 0)) - (func $i64_right (result i64) (call $bump) (i32.store8 (i32.const 8) (i32.const 2)) (i64.const 1)) - (func $i64_another (result i64) (call $bump) (i32.store8 (i32.const 8) (i32.const 3)) (i64.const 1)) - (func $i64_callee (result i32) (call $bump) (i32.store8 (i32.const 8) (i32.const 4)) (i32.const 2)) - (func $i64_bool (result i32) (call $bump) (i32.store8 (i32.const 8) (i32.const 5)) (i32.const 0)) - (func $f32_left (result f32) (call $bump) (i32.store8 (i32.const 8) (i32.const 1)) (f32.const 0)) - (func $f32_right (result f32) (call $bump) (i32.store8 (i32.const 8) (i32.const 2)) (f32.const 1)) - (func $f32_another (result f32) (call $bump) (i32.store8 (i32.const 8) (i32.const 3)) (f32.const 1)) - (func $f32_callee (result i32) (call $bump) (i32.store8 (i32.const 8) (i32.const 4)) (i32.const 4)) - (func $f32_bool (result i32) (call $bump) (i32.store8 (i32.const 8) (i32.const 5)) (i32.const 0)) - (func $f64_left (result f64) (call $bump) (i32.store8 (i32.const 8) (i32.const 1)) (f64.const 0)) - (func $f64_right (result f64) (call $bump) (i32.store8 (i32.const 8) (i32.const 2)) (f64.const 1)) - (func $f64_another (result f64) (call $bump) (i32.store8 (i32.const 8) (i32.const 3)) (f64.const 1)) - (func $f64_callee (result i32) (call $bump) (i32.store8 (i32.const 8) (i32.const 4)) (i32.const 6)) - (func $f64_bool (result i32) (call $bump) (i32.store8 (i32.const 8) (i32.const 5)) (i32.const 0)) - (func $i32_dummy (param i32 i32)) - (func $i64_dummy (param i64 i64)) - (func $f32_dummy (param f32 f32)) - (func $f64_dummy (param f64 f64)) - - (func (export "i32_add") (result i32) (call $reset) (drop (i32.add (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_sub") (result i32) (call $reset) (drop (i32.sub (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_mul") (result i32) (call $reset) (drop (i32.mul (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_div_s") (result i32) (call $reset) (drop (i32.div_s (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_div_u") (result i32) (call $reset) (drop (i32.div_u (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_rem_s") (result i32) (call $reset) (drop (i32.rem_s (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_rem_u") (result i32) (call $reset) (drop (i32.rem_u (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_and") (result i32) (call $reset) (drop (i32.and (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_or") (result i32) (call $reset) (drop (i32.or (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_xor") (result i32) (call $reset) (drop (i32.xor (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_shl") (result i32) (call $reset) (drop (i32.shl (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_shr_u") (result i32) (call $reset) (drop (i32.shr_u (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_shr_s") (result i32) (call $reset) (drop (i32.shr_s (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_eq") (result i32) (call $reset) (drop (i32.eq (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_ne") (result i32) (call $reset) (drop (i32.ne (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_lt_s") (result i32) (call $reset) (drop (i32.lt_s (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_le_s") (result i32) (call $reset) (drop (i32.le_s (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_lt_u") (result i32) (call $reset) (drop (i32.lt_u (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_le_u") (result i32) (call $reset) (drop (i32.le_u (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_gt_s") (result i32) (call $reset) (drop (i32.gt_s (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_ge_s") (result i32) (call $reset) (drop (i32.ge_s (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_gt_u") (result i32) (call $reset) (drop (i32.gt_u (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_ge_u") (result i32) (call $reset) (drop (i32.ge_u (call $i32_left) (call $i32_right))) (call $get)) - (func (export "i32_store") (result i32) (call $reset) (i32.store (call $i32_left) (call $i32_right)) (call $get)) - (func (export "i32_store8") (result i32) (call $reset) (i32.store8 (call $i32_left) (call $i32_right)) (call $get)) - (func (export "i32_store16") (result i32) (call $reset) (i32.store16 (call $i32_left) (call $i32_right)) (call $get)) - (func (export "i32_call") (result i32) (call $reset) (call $i32_dummy (call $i32_left) (call $i32_right)) (call $get)) - (func (export "i32_call_indirect") (result i32) (call $reset) (drop (call_indirect (type $i32_T) (call $i32_left) (call $i32_right) (call $i32_callee))) (call $get)) - (func (export "i32_select") (result i32) (call $reset) (drop (select (call $i32_left) (call $i32_right) (call $i32_bool))) (call $get)) - - (func (export "i64_add") (result i32) (call $reset) (drop (i64.add (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_sub") (result i32) (call $reset) (drop (i64.sub (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_mul") (result i32) (call $reset) (drop (i64.mul (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_div_s") (result i32) (call $reset) (drop (i64.div_s (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_div_u") (result i32) (call $reset) (drop (i64.div_u (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_rem_s") (result i32) (call $reset) (drop (i64.rem_s (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_rem_u") (result i32) (call $reset) (drop (i64.rem_u (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_and") (result i32) (call $reset) (drop (i64.and (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_or") (result i32) (call $reset) (drop (i64.or (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_xor") (result i32) (call $reset) (drop (i64.xor (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_shl") (result i32) (call $reset) (drop (i64.shl (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_shr_u") (result i32) (call $reset) (drop (i64.shr_u (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_shr_s") (result i32) (call $reset) (drop (i64.shr_s (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_eq") (result i32) (call $reset) (drop (i64.eq (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_ne") (result i32) (call $reset) (drop (i64.ne (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_lt_s") (result i32) (call $reset) (drop (i64.lt_s (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_le_s") (result i32) (call $reset) (drop (i64.le_s (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_lt_u") (result i32) (call $reset) (drop (i64.lt_u (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_le_u") (result i32) (call $reset) (drop (i64.le_u (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_gt_s") (result i32) (call $reset) (drop (i64.gt_s (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_ge_s") (result i32) (call $reset) (drop (i64.ge_s (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_gt_u") (result i32) (call $reset) (drop (i64.gt_u (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_ge_u") (result i32) (call $reset) (drop (i64.ge_u (call $i64_left) (call $i64_right))) (call $get)) - (func (export "i64_store") (result i32) (call $reset) (i64.store (call $i32_left) (call $i64_right)) (call $get)) - (func (export "i64_store8") (result i32) (call $reset) (i64.store8 (call $i32_left) (call $i64_right)) (call $get)) - (func (export "i64_store16") (result i32) (call $reset) (i64.store16 (call $i32_left) (call $i64_right)) (call $get)) - (func (export "i64_store32") (result i32) (call $reset) (i64.store32 (call $i32_left) (call $i64_right)) (call $get)) - (func (export "i64_call") (result i32) (call $reset) (call $i64_dummy (call $i64_left) (call $i64_right)) (call $get)) - (func (export "i64_call_indirect") (result i32) (call $reset) (drop (call_indirect (type $i64_T) (call $i64_left) (call $i64_right) (call $i64_callee))) (call $get)) - (func (export "i64_select") (result i32) (call $reset) (drop (select (call $i64_left) (call $i64_right) (call $i64_bool))) (call $get)) - - (func (export "f32_add") (result i32) (call $reset) (drop (f32.add (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_sub") (result i32) (call $reset) (drop (f32.sub (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_mul") (result i32) (call $reset) (drop (f32.mul (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_div") (result i32) (call $reset) (drop (f32.div (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_copysign") (result i32) (call $reset) (drop (f32.copysign (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_eq") (result i32) (call $reset) (drop (f32.eq (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_ne") (result i32) (call $reset) (drop (f32.ne (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_lt") (result i32) (call $reset) (drop (f32.lt (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_le") (result i32) (call $reset) (drop (f32.le (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_gt") (result i32) (call $reset) (drop (f32.gt (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_ge") (result i32) (call $reset) (drop (f32.ge (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_min") (result i32) (call $reset) (drop (f32.min (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_max") (result i32) (call $reset) (drop (f32.max (call $f32_left) (call $f32_right))) (call $get)) - (func (export "f32_store") (result i32) (call $reset) (f32.store (call $i32_left) (call $f32_right)) (call $get)) - (func (export "f32_call") (result i32) (call $reset) (call $f32_dummy (call $f32_left) (call $f32_right)) (call $get)) - (func (export "f32_call_indirect") (result i32) (call $reset) (drop (call_indirect (type $f32_T) (call $f32_left) (call $f32_right) (call $f32_callee))) (call $get)) - (func (export "f32_select") (result i32) (call $reset) (drop (select (call $f32_left) (call $f32_right) (call $f32_bool))) (call $get)) - - (func (export "f64_add") (result i32) (call $reset) (drop (f64.add (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_sub") (result i32) (call $reset) (drop (f64.sub (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_mul") (result i32) (call $reset) (drop (f64.mul (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_div") (result i32) (call $reset) (drop (f64.div (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_copysign") (result i32) (call $reset) (drop (f64.copysign (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_eq") (result i32) (call $reset) (drop (f64.eq (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_ne") (result i32) (call $reset) (drop (f64.ne (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_lt") (result i32) (call $reset) (drop (f64.lt (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_le") (result i32) (call $reset) (drop (f64.le (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_gt") (result i32) (call $reset) (drop (f64.gt (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_ge") (result i32) (call $reset) (drop (f64.ge (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_min") (result i32) (call $reset) (drop (f64.min (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_max") (result i32) (call $reset) (drop (f64.max (call $f64_left) (call $f64_right))) (call $get)) - (func (export "f64_store") (result i32) (call $reset) (f64.store (call $i32_left) (call $f64_right)) (call $get)) - (func (export "f64_call") (result i32) (call $reset) (call $f64_dummy (call $f64_left) (call $f64_right)) (call $get)) - (func (export "f64_call_indirect") (result i32) (call $reset) (drop (call_indirect (type $f64_T) (call $f64_left) (call $f64_right) (call $f64_callee))) (call $get)) - (func (export "f64_select") (result i32) (call $reset) (drop (select (call $f64_left) (call $f64_right) (call $f64_bool))) (call $get)) - - (func (export "br_if") (result i32) - (block (result i32) - (call $reset) - (drop (br_if 0 (call $i32_left) (i32.and (call $i32_right) (i32.const 0)))) - (call $get) - ) - ) - (func (export "br_table") (result i32) - (block $a (result i32) - (call $reset) - (drop - (block $b (result i32) - (br_table $a $b (call $i32_left) (call $i32_right)) - ) - ) - (call $get) - ) - ) -) - -(assert_return (invoke "i32_add") (i32.const 0x0102)) (assert_return (invoke "i64_add") (i32.const 0x0102)) -(assert_return (invoke "i32_sub") (i32.const 0x0102)) (assert_return (invoke "i64_sub") (i32.const 0x0102)) -(assert_return (invoke "i32_mul") (i32.const 0x0102)) (assert_return (invoke "i64_mul") (i32.const 0x0102)) -(assert_return (invoke "i32_div_s") (i32.const 0x0102)) (assert_return (invoke "i64_div_s") (i32.const 0x0102)) -(assert_return (invoke "i32_div_u") (i32.const 0x0102)) (assert_return (invoke "i64_div_u") (i32.const 0x0102)) -(assert_return (invoke "i32_rem_s") (i32.const 0x0102)) (assert_return (invoke "i64_rem_s") (i32.const 0x0102)) -(assert_return (invoke "i32_rem_u") (i32.const 0x0102)) (assert_return (invoke "i64_rem_u") (i32.const 0x0102)) -(assert_return (invoke "i32_and") (i32.const 0x0102)) (assert_return (invoke "i64_and") (i32.const 0x0102)) -(assert_return (invoke "i32_or") (i32.const 0x0102)) (assert_return (invoke "i64_or") (i32.const 0x0102)) -(assert_return (invoke "i32_xor") (i32.const 0x0102)) (assert_return (invoke "i64_xor") (i32.const 0x0102)) -(assert_return (invoke "i32_shl") (i32.const 0x0102)) (assert_return (invoke "i64_shl") (i32.const 0x0102)) -(assert_return (invoke "i32_shr_u") (i32.const 0x0102)) (assert_return (invoke "i64_shr_u") (i32.const 0x0102)) -(assert_return (invoke "i32_shr_s") (i32.const 0x0102)) (assert_return (invoke "i64_shr_s") (i32.const 0x0102)) -(assert_return (invoke "i32_eq") (i32.const 0x0102)) (assert_return (invoke "i64_eq") (i32.const 0x0102)) -(assert_return (invoke "i32_ne") (i32.const 0x0102)) (assert_return (invoke "i64_ne") (i32.const 0x0102)) -(assert_return (invoke "i32_lt_s") (i32.const 0x0102)) (assert_return (invoke "i64_lt_s") (i32.const 0x0102)) -(assert_return (invoke "i32_le_s") (i32.const 0x0102)) (assert_return (invoke "i64_le_s") (i32.const 0x0102)) -(assert_return (invoke "i32_lt_u") (i32.const 0x0102)) (assert_return (invoke "i64_lt_u") (i32.const 0x0102)) -(assert_return (invoke "i32_le_u") (i32.const 0x0102)) (assert_return (invoke "i64_le_u") (i32.const 0x0102)) -(assert_return (invoke "i32_gt_s") (i32.const 0x0102)) (assert_return (invoke "i64_gt_s") (i32.const 0x0102)) -(assert_return (invoke "i32_ge_s") (i32.const 0x0102)) (assert_return (invoke "i64_ge_s") (i32.const 0x0102)) -(assert_return (invoke "i32_gt_u") (i32.const 0x0102)) (assert_return (invoke "i64_gt_u") (i32.const 0x0102)) -(assert_return (invoke "i32_ge_u") (i32.const 0x0102)) (assert_return (invoke "i64_ge_u") (i32.const 0x0102)) -(assert_return (invoke "i32_store") (i32.const 0x0102)) (assert_return (invoke "i64_store") (i32.const 0x0102)) -(assert_return (invoke "i32_store8") (i32.const 0x0102)) (assert_return (invoke "i64_store8") (i32.const 0x0102)) -(assert_return (invoke "i32_store16") (i32.const 0x0102)) (assert_return (invoke "i64_store16") (i32.const 0x0102)) -(assert_return (invoke "i64_store32") (i32.const 0x0102)) -(assert_return (invoke "i32_call") (i32.const 0x0102)) (assert_return (invoke "i64_call") (i32.const 0x0102)) -(assert_return (invoke "i32_call_indirect") (i32.const 0x010204)) -(assert_return (invoke "i64_call_indirect") (i32.const 0x010204)) -(assert_return (invoke "i32_select") (i32.const 0x010205)) (assert_return (invoke "i64_select") (i32.const 0x010205)) - -(assert_return (invoke "f32_add") (i32.const 0x0102)) (assert_return (invoke "f64_add") (i32.const 0x0102)) -(assert_return (invoke "f32_sub") (i32.const 0x0102)) (assert_return (invoke "f64_sub") (i32.const 0x0102)) -(assert_return (invoke "f32_mul") (i32.const 0x0102)) (assert_return (invoke "f64_mul") (i32.const 0x0102)) -(assert_return (invoke "f32_div") (i32.const 0x0102)) (assert_return (invoke "f64_div") (i32.const 0x0102)) -(assert_return (invoke "f32_copysign") (i32.const 0x0102))(assert_return (invoke "f64_copysign") (i32.const 0x0102)) -(assert_return (invoke "f32_eq") (i32.const 0x0102)) (assert_return (invoke "f64_eq") (i32.const 0x0102)) -(assert_return (invoke "f32_ne") (i32.const 0x0102)) (assert_return (invoke "f64_ne") (i32.const 0x0102)) -(assert_return (invoke "f32_lt") (i32.const 0x0102)) (assert_return (invoke "f64_lt") (i32.const 0x0102)) -(assert_return (invoke "f32_le") (i32.const 0x0102)) (assert_return (invoke "f64_le") (i32.const 0x0102)) -(assert_return (invoke "f32_gt") (i32.const 0x0102)) (assert_return (invoke "f64_gt") (i32.const 0x0102)) -(assert_return (invoke "f32_ge") (i32.const 0x0102)) (assert_return (invoke "f64_ge") (i32.const 0x0102)) -(assert_return (invoke "f32_min") (i32.const 0x0102)) (assert_return (invoke "f64_min") (i32.const 0x0102)) -(assert_return (invoke "f32_max") (i32.const 0x0102)) (assert_return (invoke "f64_max") (i32.const 0x0102)) -(assert_return (invoke "f32_store") (i32.const 0x0102)) (assert_return (invoke "f64_store") (i32.const 0x0102)) -(assert_return (invoke "f32_call") (i32.const 0x0102)) (assert_return (invoke "f64_call") (i32.const 0x0102)) -(assert_return (invoke "f32_call_indirect") (i32.const 0x010204)) -(assert_return (invoke "f64_call_indirect") (i32.const 0x010204)) -(assert_return (invoke "f32_select") (i32.const 0x010205)) (assert_return (invoke "f64_select") (i32.const 0x010205)) - -(assert_return (invoke "br_if") (i32.const 0x0102)) -(assert_return (invoke "br_table") (i32.const 0x0102)) diff --git a/test/spec/load.wast b/test/spec/load.wast deleted file mode 100644 index ef5ec7c42..000000000 --- a/test/spec/load.wast +++ /dev/null @@ -1,567 +0,0 @@ -;; Load operator as the argument of control constructs and instructions - -(module - (memory 1) - - (func (export "as-br-value") (result i32) - (block (result i32) (br 0 (i32.load (i32.const 0)))) - ) - - (func (export "as-br_if-cond") - (block (br_if 0 (i32.load (i32.const 0)))) - ) - (func (export "as-br_if-value") (result i32) - (block (result i32) - (drop (br_if 0 (i32.load (i32.const 0)) (i32.const 1))) (i32.const 7) - ) - ) - (func (export "as-br_if-value-cond") (result i32) - (block (result i32) - (drop (br_if 0 (i32.const 6) (i32.load (i32.const 0)))) (i32.const 7) - ) - ) - - (func (export "as-br_table-index") - (block (br_table 0 0 0 (i32.load (i32.const 0)))) - ) - (func (export "as-br_table-value") (result i32) - (block (result i32) - (br_table 0 0 0 (i32.load (i32.const 0)) (i32.const 1)) (i32.const 7) - ) - ) - (func (export "as-br_table-value-index") (result i32) - (block (result i32) - (br_table 0 0 (i32.const 6) (i32.load (i32.const 0))) (i32.const 7) - ) - ) - - (func (export "as-return-value") (result i32) - (return (i32.load (i32.const 0))) - ) - - (func (export "as-if-cond") (result i32) - (if (result i32) (i32.load (i32.const 0)) - (then (i32.const 0)) (else (i32.const 1)) - ) - ) - (func (export "as-if-then") (result i32) - (if (result i32) (i32.const 1) - (then (i32.load (i32.const 0))) (else (i32.const 0)) - ) - ) - (func (export "as-if-else") (result i32) - (if (result i32) (i32.const 0) - (then (i32.const 0)) (else (i32.load (i32.const 0))) - ) - ) - - (func (export "as-select-first") (param i32 i32) (result i32) - (select (i32.load (i32.const 0)) (local.get 0) (local.get 1)) - ) - (func (export "as-select-second") (param i32 i32) (result i32) - (select (local.get 0) (i32.load (i32.const 0)) (local.get 1)) - ) - (func (export "as-select-cond") (result i32) - (select (i32.const 0) (i32.const 1) (i32.load (i32.const 0))) - ) - - (func $f (param i32 i32 i32) (result i32) (i32.const -1)) - (func (export "as-call-first") (result i32) - (call $f (i32.load (i32.const 0)) (i32.const 2) (i32.const 3)) - ) - (func (export "as-call-mid") (result i32) - (call $f (i32.const 1) (i32.load (i32.const 0)) (i32.const 3)) - ) - (func (export "as-call-last") (result i32) - (call $f (i32.const 1) (i32.const 2) (i32.load (i32.const 0))) - ) - - (type $sig (func (param i32 i32 i32) (result i32))) - (table funcref (elem $f)) - (func (export "as-call_indirect-first") (result i32) - (call_indirect (type $sig) - (i32.load (i32.const 0)) (i32.const 2) (i32.const 3) (i32.const 0) - ) - ) - (func (export "as-call_indirect-mid") (result i32) - (call_indirect (type $sig) - (i32.const 1) (i32.load (i32.const 0)) (i32.const 3) (i32.const 0) - ) - ) - (func (export "as-call_indirect-last") (result i32) - (call_indirect (type $sig) - (i32.const 1) (i32.const 2) (i32.load (i32.const 0)) (i32.const 0) - ) - ) - (func (export "as-call_indirect-index") (result i32) - (call_indirect (type $sig) - (i32.const 1) (i32.const 2) (i32.const 3) (i32.load (i32.const 0)) - ) - ) - - (func (export "as-local.set-value") (local i32) - (local.set 0 (i32.load (i32.const 0))) - ) - (func (export "as-local.tee-value") (result i32) (local i32) - (local.tee 0 (i32.load (i32.const 0))) - ) - (global $g (mut i32) (i32.const 0)) - (func (export "as-global.set-value") (local i32) - (global.set $g (i32.load (i32.const 0))) - ) - - (func (export "as-load-address") (result i32) - (i32.load (i32.load (i32.const 0))) - ) - (func (export "as-loadN-address") (result i32) - (i32.load8_s (i32.load (i32.const 0))) - ) - - (func (export "as-store-address") - (i32.store (i32.load (i32.const 0)) (i32.const 7)) - ) - (func (export "as-store-value") - (i32.store (i32.const 2) (i32.load (i32.const 0))) - ) - - (func (export "as-storeN-address") - (i32.store8 (i32.load8_s (i32.const 0)) (i32.const 7)) - ) - (func (export "as-storeN-value") - (i32.store16 (i32.const 2) (i32.load (i32.const 0))) - ) - - (func (export "as-unary-operand") (result i32) - (i32.clz (i32.load (i32.const 100))) - ) - - (func (export "as-binary-left") (result i32) - (i32.add (i32.load (i32.const 100)) (i32.const 10)) - ) - (func (export "as-binary-right") (result i32) - (i32.sub (i32.const 10) (i32.load (i32.const 100))) - ) - - (func (export "as-test-operand") (result i32) - (i32.eqz (i32.load (i32.const 100))) - ) - - (func (export "as-compare-left") (result i32) - (i32.le_s (i32.load (i32.const 100)) (i32.const 10)) - ) - (func (export "as-compare-right") (result i32) - (i32.ne (i32.const 10) (i32.load (i32.const 100))) - ) - - (func (export "as-memory.grow-size") (result i32) - (memory.grow (i32.load (i32.const 100))) - ) -) - -(assert_return (invoke "as-br-value") (i32.const 0)) - -(assert_return (invoke "as-br_if-cond")) -(assert_return (invoke "as-br_if-value") (i32.const 0)) -(assert_return (invoke "as-br_if-value-cond") (i32.const 7)) - -(assert_return (invoke "as-br_table-index")) -(assert_return (invoke "as-br_table-value") (i32.const 0)) -(assert_return (invoke "as-br_table-value-index") (i32.const 6)) - -(assert_return (invoke "as-return-value") (i32.const 0)) - -(assert_return (invoke "as-if-cond") (i32.const 1)) -(assert_return (invoke "as-if-then") (i32.const 0)) -(assert_return (invoke "as-if-else") (i32.const 0)) - -(assert_return (invoke "as-select-first" (i32.const 0) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "as-select-second" (i32.const 0) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "as-select-cond") (i32.const 1)) - -(assert_return (invoke "as-call-first") (i32.const -1)) -(assert_return (invoke "as-call-mid") (i32.const -1)) -(assert_return (invoke "as-call-last") (i32.const -1)) - -(assert_return (invoke "as-call_indirect-first") (i32.const -1)) -(assert_return (invoke "as-call_indirect-mid") (i32.const -1)) -(assert_return (invoke "as-call_indirect-last") (i32.const -1)) -(assert_return (invoke "as-call_indirect-index") (i32.const -1)) - -(assert_return (invoke "as-local.set-value")) -(assert_return (invoke "as-local.tee-value") (i32.const 0)) -(assert_return (invoke "as-global.set-value")) - -(assert_return (invoke "as-load-address") (i32.const 0)) -(assert_return (invoke "as-loadN-address") (i32.const 0)) -(assert_return (invoke "as-store-address")) -(assert_return (invoke "as-store-value")) -(assert_return (invoke "as-storeN-address")) -(assert_return (invoke "as-storeN-value")) - -(assert_return (invoke "as-unary-operand") (i32.const 32)) - -(assert_return (invoke "as-binary-left") (i32.const 10)) -(assert_return (invoke "as-binary-right") (i32.const 10)) - -(assert_return (invoke "as-test-operand") (i32.const 1)) - -(assert_return (invoke "as-compare-left") (i32.const 1)) -(assert_return (invoke "as-compare-right") (i32.const 1)) - -(assert_return (invoke "as-memory.grow-size") (i32.const 1)) - -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result i32) (i32.load32 (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result i32) (i32.load32_u (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result i32) (i32.load32_s (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result i32) (i32.load64 (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result i32) (i32.load64_u (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result i32) (i32.load64_s (local.get 0)))" - ) - "unknown operator" -) - -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result i64) (i64.load64 (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result i64) (i64.load64_u (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result i64) (i64.load64_s (local.get 0)))" - ) - "unknown operator" -) - -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result f32) (f32.load32 (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result f32) (f32.load64 (local.get 0)))" - ) - "unknown operator" -) - -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result f64) (f64.load32 (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (result f64) (f64.load64 (local.get 0)))" - ) - "unknown operator" -) - - -;; load should have retval - -(assert_invalid - (module (memory 1) (func $load_i32 (i32.load (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load8_s_i32 (i32.load8_s (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load8_u_i32 (i32.load8_u (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load16_s_i32 (i32.load16_s (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load16_u_i32 (i32.load16_u (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load_i64 (i64.load (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load8_s_i64 (i64.load8_s (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load8_u_i64 (i64.load8_u (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load16_s_i64 (i64.load16_s (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load16_u_i64 (i64.load16_u (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load32_s_i64 (i64.load32_s (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load32_u_i64 (i64.load32_u (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load_f32 (f32.load (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func $load_f64 (f64.load (i32.const 0)))) - "type mismatch" -) - - -;; Type check - -(assert_invalid (module (memory 1) (func (result i32) (i32.load (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result i32) (i32.load8_s (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result i32) (i32.load8_u (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result i32) (i32.load16_s (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result i32) (i32.load16_u (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result i64) (i64.load (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result i64) (i64.load8_s (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result i64) (i64.load8_u (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result i64) (i64.load16_s (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result i64) (i64.load16_u (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result i64) (i64.load32_s (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result i64) (i64.load32_u (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result f32) (f32.load (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (result f64) (f64.load (f32.const 0)))) "type mismatch") - - -(assert_invalid - (module - (memory 0) - (func $type-address-empty - (i32.load) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-block - (i32.const 0) - (block (i32.load) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-loop - (i32.const 0) - (loop (i32.load) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-then - (i32.const 0) (i32.const 0) - (if (then (i32.load) (drop))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-else - (i32.const 0) (i32.const 0) - (if (result i32) (then (i32.const 0)) (else (i32.load))) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-br - (i32.const 0) - (block (br 0 (i32.load)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-br_if - (i32.const 0) - (block (br_if 0 (i32.load) (i32.const 1)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-br_table - (i32.const 0) - (block (br_table 0 (i32.load)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-return - (return (i32.load)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-select - (select (i32.load) (i32.const 1) (i32.const 2)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-call - (call 1 (i32.load)) (drop) - ) - (func (param i32) (result i32) (local.get 0)) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $f (param i32) (result i32) (local.get 0)) - (type $sig (func (param i32) (result i32))) - (table funcref (elem $f)) - (func $type-address-empty-in-call_indirect - (block (result i32) - (call_indirect (type $sig) - (i32.load) (i32.const 0) - ) - (drop) - ) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-local.set - (local i32) - (local.set 0 (i32.load)) (local.get 0) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-local.tee - (local i32) - (local.tee 0 (i32.load)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (global $x (mut i32) (i32.const 0)) - (func $type-address-empty-in-global.set - (global.set $x (i32.load)) (global.get $x) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-memory.grow - (memory.grow (i32.load)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-address-empty-in-load - (i32.load (i32.load)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-address-empty-in-store - (i32.store (i32.load) (i32.const 1)) - ) - ) - "type mismatch" -) diff --git a/test/spec/load64.wast b/test/spec/load64.wast deleted file mode 100644 index e4a6a9833..000000000 --- a/test/spec/load64.wast +++ /dev/null @@ -1,567 +0,0 @@ -;; Load operator as the argument of control constructs and instructions - -(module - (memory i64 1) - - (func (export "as-br-value") (result i32) - (block (result i32) (br 0 (i32.load (i64.const 0)))) - ) - - (func (export "as-br_if-cond") - (block (br_if 0 (i32.load (i64.const 0)))) - ) - (func (export "as-br_if-value") (result i32) - (block (result i32) - (drop (br_if 0 (i32.load (i64.const 0)) (i32.const 1))) (i32.const 7) - ) - ) - (func (export "as-br_if-value-cond") (result i32) - (block (result i32) - (drop (br_if 0 (i32.const 6) (i32.load (i64.const 0)))) (i32.const 7) - ) - ) - - (func (export "as-br_table-index") - (block (br_table 0 0 0 (i32.load (i64.const 0)))) - ) - (func (export "as-br_table-value") (result i32) - (block (result i32) - (br_table 0 0 0 (i32.load (i64.const 0)) (i32.const 1)) (i32.const 7) - ) - ) - (func (export "as-br_table-value-index") (result i32) - (block (result i32) - (br_table 0 0 (i32.const 6) (i32.load (i64.const 0))) (i32.const 7) - ) - ) - - (func (export "as-return-value") (result i32) - (return (i32.load (i64.const 0))) - ) - - (func (export "as-if-cond") (result i32) - (if (result i32) (i32.load (i64.const 0)) - (then (i32.const 0)) (else (i32.const 1)) - ) - ) - (func (export "as-if-then") (result i32) - (if (result i32) (i32.const 1) - (then (i32.load (i64.const 0))) (else (i32.const 0)) - ) - ) - (func (export "as-if-else") (result i32) - (if (result i32) (i32.const 0) - (then (i32.const 0)) (else (i32.load (i64.const 0))) - ) - ) - - (func (export "as-select-first") (param i32 i32) (result i32) - (select (i32.load (i64.const 0)) (local.get 0) (local.get 1)) - ) - (func (export "as-select-second") (param i32 i32) (result i32) - (select (local.get 0) (i32.load (i64.const 0)) (local.get 1)) - ) - (func (export "as-select-cond") (result i32) - (select (i32.const 0) (i32.const 1) (i32.load (i64.const 0))) - ) - - (func $f (param i32 i32 i32) (result i32) (i32.const -1)) - (func (export "as-call-first") (result i32) - (call $f (i32.load (i64.const 0)) (i32.const 2) (i32.const 3)) - ) - (func (export "as-call-mid") (result i32) - (call $f (i32.const 1) (i32.load (i64.const 0)) (i32.const 3)) - ) - (func (export "as-call-last") (result i32) - (call $f (i32.const 1) (i32.const 2) (i32.load (i64.const 0))) - ) - - (type $sig (func (param i32 i32 i32) (result i32))) - (table funcref (elem $f)) - (func (export "as-call_indirect-first") (result i32) - (call_indirect (type $sig) - (i32.load (i64.const 0)) (i32.const 2) (i32.const 3) (i32.const 0) - ) - ) - (func (export "as-call_indirect-mid") (result i32) - (call_indirect (type $sig) - (i32.const 1) (i32.load (i64.const 0)) (i32.const 3) (i32.const 0) - ) - ) - (func (export "as-call_indirect-last") (result i32) - (call_indirect (type $sig) - (i32.const 1) (i32.const 2) (i32.load (i64.const 0)) (i32.const 0) - ) - ) - (func (export "as-call_indirect-index") (result i32) - (call_indirect (type $sig) - (i32.const 1) (i32.const 2) (i32.const 3) (i32.load (i64.const 0)) - ) - ) - - (func (export "as-local.set-value") (local i32) - (local.set 0 (i32.load (i64.const 0))) - ) - (func (export "as-local.tee-value") (result i32) (local i32) - (local.tee 0 (i32.load (i64.const 0))) - ) - (global $g (mut i32) (i32.const 0)) - (func (export "as-global.set-value") (local i32) - (global.set $g (i32.load (i64.const 0))) - ) - - (func (export "as-load-address") (result i32) - (i32.load (i64.load (i64.const 0))) - ) - (func (export "as-loadN-address") (result i32) - (i32.load8_s (i64.load (i64.const 0))) - ) - - (func (export "as-store-address") - (i32.store (i64.load (i64.const 0)) (i32.const 7)) - ) - (func (export "as-store-value") - (i32.store (i64.const 2) (i32.load (i64.const 0))) - ) - - (func (export "as-storeN-address") - (i32.store8 (i64.load8_s (i64.const 0)) (i32.const 7)) - ) - (func (export "as-storeN-value") - (i32.store16 (i64.const 2) (i32.load (i64.const 0))) - ) - - (func (export "as-unary-operand") (result i32) - (i32.clz (i32.load (i64.const 100))) - ) - - (func (export "as-binary-left") (result i32) - (i32.add (i32.load (i64.const 100)) (i32.const 10)) - ) - (func (export "as-binary-right") (result i32) - (i32.sub (i32.const 10) (i32.load (i64.const 100))) - ) - - (func (export "as-test-operand") (result i32) - (i32.eqz (i32.load (i64.const 100))) - ) - - (func (export "as-compare-left") (result i32) - (i32.le_s (i32.load (i64.const 100)) (i32.const 10)) - ) - (func (export "as-compare-right") (result i32) - (i32.ne (i32.const 10) (i32.load (i64.const 100))) - ) - - (func (export "as-memory.grow-size") (result i64) - (memory.grow (i64.load (i64.const 100))) - ) -) - -(assert_return (invoke "as-br-value") (i32.const 0)) - -(assert_return (invoke "as-br_if-cond")) -(assert_return (invoke "as-br_if-value") (i32.const 0)) -(assert_return (invoke "as-br_if-value-cond") (i32.const 7)) - -(assert_return (invoke "as-br_table-index")) -(assert_return (invoke "as-br_table-value") (i32.const 0)) -(assert_return (invoke "as-br_table-value-index") (i32.const 6)) - -(assert_return (invoke "as-return-value") (i32.const 0)) - -(assert_return (invoke "as-if-cond") (i32.const 1)) -(assert_return (invoke "as-if-then") (i32.const 0)) -(assert_return (invoke "as-if-else") (i32.const 0)) - -(assert_return (invoke "as-select-first" (i32.const 0) (i32.const 1)) (i32.const 0)) -(assert_return (invoke "as-select-second" (i32.const 0) (i32.const 0)) (i32.const 0)) -(assert_return (invoke "as-select-cond") (i32.const 1)) - -(assert_return (invoke "as-call-first") (i32.const -1)) -(assert_return (invoke "as-call-mid") (i32.const -1)) -(assert_return (invoke "as-call-last") (i32.const -1)) - -(assert_return (invoke "as-call_indirect-first") (i32.const -1)) -(assert_return (invoke "as-call_indirect-mid") (i32.const -1)) -(assert_return (invoke "as-call_indirect-last") (i32.const -1)) -(assert_return (invoke "as-call_indirect-index") (i32.const -1)) - -(assert_return (invoke "as-local.set-value")) -(assert_return (invoke "as-local.tee-value") (i32.const 0)) -(assert_return (invoke "as-global.set-value")) - -(assert_return (invoke "as-load-address") (i32.const 0)) -(assert_return (invoke "as-loadN-address") (i32.const 0)) -(assert_return (invoke "as-store-address")) -(assert_return (invoke "as-store-value")) -(assert_return (invoke "as-storeN-address")) -(assert_return (invoke "as-storeN-value")) - -(assert_return (invoke "as-unary-operand") (i32.const 32)) - -(assert_return (invoke "as-binary-left") (i32.const 10)) -(assert_return (invoke "as-binary-right") (i32.const 10)) - -(assert_return (invoke "as-test-operand") (i32.const 1)) - -(assert_return (invoke "as-compare-left") (i32.const 1)) -(assert_return (invoke "as-compare-right") (i32.const 1)) - -(assert_return (invoke "as-memory.grow-size") (i64.const 1)) - -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result i32) (i32.load32 (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result i32) (i32.load32_u (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result i32) (i32.load32_s (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result i32) (i32.load64 (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result i32) (i32.load64_u (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result i32) (i32.load64_s (local.get 0)))" - ) - "unknown operator" -) - -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result i64) (i64.load64 (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result i64) (i64.load64_u (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result i64) (i64.load64_s (local.get 0)))" - ) - "unknown operator" -) - -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result f32) (f32.load32 (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result f32) (f32.load64 (local.get 0)))" - ) - "unknown operator" -) - -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result f64) (f64.load32 (local.get 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory i64 1)" - "(func (param i64) (result f64) (f64.load64 (local.get 0)))" - ) - "unknown operator" -) - - -;; load should have retval - -(assert_invalid - (module (memory i64 1) (func $load_i32 (i32.load (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load8_s_i32 (i32.load8_s (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load8_u_i32 (i32.load8_u (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load16_s_i32 (i32.load16_s (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load16_u_i32 (i32.load16_u (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load_i64 (i64.load (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load8_s_i64 (i64.load8_s (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load8_u_i64 (i64.load8_u (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load16_s_i64 (i64.load16_s (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load16_u_i64 (i64.load16_u (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load32_s_i64 (i64.load32_s (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load32_u_i64 (i64.load32_u (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load_f32 (f32.load (i64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (memory i64 1) (func $load_f64 (f64.load (i64.const 0)))) - "type mismatch" -) - - -;; Type check - -(assert_invalid (module (memory i64 1) (func (result i32) (i32.load (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result i32) (i32.load8_s (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result i32) (i32.load8_u (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result i32) (i32.load16_s (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result i32) (i32.load16_u (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result i64) (i64.load (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result i64) (i64.load8_s (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result i64) (i64.load8_u (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result i64) (i64.load16_s (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result i64) (i64.load16_u (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result i64) (i64.load32_s (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result i64) (i64.load32_u (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result f32) (f32.load (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory i64 1) (func (result f64) (f64.load (f32.const 0)))) "type mismatch") - - -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty - (i32.load) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-block - (i32.const 0) - (block (i32.load) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-loop - (i32.const 0) - (loop (i32.load) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-then - (i32.const 0) (i32.const 0) - (if (then (i32.load) (drop))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-else - (i32.const 0) (i32.const 0) - (if (result i32) (then (i32.const 0)) (else (i32.load))) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-br - (i32.const 0) - (block (br 0 (i32.load)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-br_if - (i32.const 0) - (block (br_if 0 (i32.load) (i32.const 1)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-br_table - (i32.const 0) - (block (br_table 0 (i32.load)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-return - (return (i32.load)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-select - (select (i32.load) (i32.const 1) (i32.const 2)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-call - (call 1 (i32.load)) (drop) - ) - (func (param i32) (result i32) (local.get 0)) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $f (param i32) (result i32) (local.get 0)) - (type $sig (func (param i32) (result i32))) - (table funcref (elem $f)) - (func $type-address-empty-in-call_indirect - (block (result i32) - (call_indirect (type $sig) - (i32.load) (i32.const 0) - ) - (drop) - ) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-local.set - (local i32) - (local.set 0 (i32.load)) (local.get 0) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-local.tee - (local i32) - (local.tee 0 (i32.load)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (global $x (mut i32) (i32.const 0)) - (func $type-address-empty-in-global.set - (global.set $x (i32.load)) (global.get $x) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-memory.grow - (memory.grow (i64.load)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 0) - (func $type-address-empty-in-load - (i32.load (i32.load)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory i64 1) - (func $type-address-empty-in-store - (i32.store (i32.load) (i32.const 1)) - ) - ) - "type mismatch" -) diff --git a/test/spec/local_get.wast b/test/spec/local_get.wast deleted file mode 100644 index ab564cbed..000000000 --- a/test/spec/local_get.wast +++ /dev/null @@ -1,226 +0,0 @@ -;; Test `local.get` operator - -(module - ;; Typing - - (func (export "type-local-i32") (result i32) (local i32) (local.get 0)) - (func (export "type-local-i64") (result i64) (local i64) (local.get 0)) - (func (export "type-local-f32") (result f32) (local f32) (local.get 0)) - (func (export "type-local-f64") (result f64) (local f64) (local.get 0)) - - (func (export "type-param-i32") (param i32) (result i32) (local.get 0)) - (func (export "type-param-i64") (param i64) (result i64) (local.get 0)) - (func (export "type-param-f32") (param f32) (result f32) (local.get 0)) - (func (export "type-param-f64") (param f64) (result f64) (local.get 0)) - - (func (export "type-mixed") (param i64 f32 f64 i32 i32) - (local f32 i64 i64 f64) - (drop (i64.eqz (local.get 0))) - (drop (f32.neg (local.get 1))) - (drop (f64.neg (local.get 2))) - (drop (i32.eqz (local.get 3))) - (drop (i32.eqz (local.get 4))) - (drop (f32.neg (local.get 5))) - (drop (i64.eqz (local.get 6))) - (drop (i64.eqz (local.get 7))) - (drop (f64.neg (local.get 8))) - ) - - ;; Reading - - (func (export "read") (param i64 f32 f64 i32 i32) (result f64) - (local f32 i64 i64 f64) - (local.set 5 (f32.const 5.5)) - (local.set 6 (i64.const 6)) - (local.set 8 (f64.const 8)) - (f64.add - (f64.convert_i64_u (local.get 0)) - (f64.add - (f64.promote_f32 (local.get 1)) - (f64.add - (local.get 2) - (f64.add - (f64.convert_i32_u (local.get 3)) - (f64.add - (f64.convert_i32_s (local.get 4)) - (f64.add - (f64.promote_f32 (local.get 5)) - (f64.add - (f64.convert_i64_u (local.get 6)) - (f64.add - (f64.convert_i64_u (local.get 7)) - (local.get 8) - ) - ) - ) - ) - ) - ) - ) - ) - ) - - ;; As parameter of control constructs and instructions - - (func (export "as-block-value") (param i32) (result i32) - (block (result i32) (local.get 0)) - ) - (func (export "as-loop-value") (param i32) (result i32) - (loop (result i32) (local.get 0)) - ) - (func (export "as-br-value") (param i32) (result i32) - (block (result i32) (br 0 (local.get 0))) - ) - (func (export "as-br_if-value") (param i32) (result i32) - (block $l0 (result i32) (br_if $l0 (local.get 0) (i32.const 1))) - ) - - (func (export "as-br_if-value-cond") (param i32) (result i32) - (block (result i32) - (br_if 0 (local.get 0) (local.get 0)) - ) - ) - (func (export "as-br_table-value") (param i32) (result i32) - (block - (block - (block - (br_table 0 1 2 (local.get 0)) - (return (i32.const 0)) - ) - (return (i32.const 1)) - ) - (return (i32.const 2)) - ) - (i32.const 3) - ) - - (func (export "as-return-value") (param i32) (result i32) - (return (local.get 0)) - ) - - (func (export "as-if-then") (param i32) (result i32) - (if (result i32) (local.get 0) (then (local.get 0)) (else (i32.const 0))) - ) - (func (export "as-if-else") (param i32) (result i32) - (if (result i32) (local.get 0) (then (i32.const 1)) (else (local.get 0))) - ) -) - -(assert_return (invoke "type-local-i32") (i32.const 0)) -(assert_return (invoke "type-local-i64") (i64.const 0)) -(assert_return (invoke "type-local-f32") (f32.const 0)) -(assert_return (invoke "type-local-f64") (f64.const 0)) - -(assert_return (invoke "type-param-i32" (i32.const 2)) (i32.const 2)) -(assert_return (invoke "type-param-i64" (i64.const 3)) (i64.const 3)) -(assert_return (invoke "type-param-f32" (f32.const 4.4)) (f32.const 4.4)) -(assert_return (invoke "type-param-f64" (f64.const 5.5)) (f64.const 5.5)) - -(assert_return (invoke "as-block-value" (i32.const 6)) (i32.const 6)) -(assert_return (invoke "as-loop-value" (i32.const 7)) (i32.const 7)) - -(assert_return (invoke "as-br-value" (i32.const 8)) (i32.const 8)) -(assert_return (invoke "as-br_if-value" (i32.const 9)) (i32.const 9)) -(assert_return (invoke "as-br_if-value-cond" (i32.const 10)) (i32.const 10)) -(assert_return (invoke "as-br_table-value" (i32.const 1)) (i32.const 2)) - -(assert_return (invoke "as-return-value" (i32.const 0)) (i32.const 0)) - -(assert_return (invoke "as-if-then" (i32.const 1)) (i32.const 1)) -(assert_return (invoke "as-if-else" (i32.const 0)) (i32.const 0)) - -(assert_return - (invoke "type-mixed" - (i64.const 1) (f32.const 2.2) (f64.const 3.3) (i32.const 4) (i32.const 5) - ) -) - -(assert_return - (invoke "read" - (i64.const 1) (f32.const 2) (f64.const 3.3) (i32.const 4) (i32.const 5) - ) - (f64.const 34.8) -) - - -;; Invalid typing of access to locals - -(assert_invalid - (module (func $type-local-num-vs-num (result i64) (local i32) (local.get 0))) - "type mismatch" -) -(assert_invalid - (module (func $type-local-num-vs-num (result i32) (local f32) (i32.eqz (local.get 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-local-num-vs-num (result f64) (local f64 i64) (f64.neg (local.get 1)))) - "type mismatch" -) - - -;; Invalid typing of access to parameters - -(assert_invalid - (module (func $type-param-num-vs-num (param i32) (result i64) (local.get 0))) - "type mismatch" -) -(assert_invalid - (module (func $type-param-num-vs-num (param f32) (result i32) (i32.eqz (local.get 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-param-num-vs-num (param f64 i64) (result f64) (f64.neg (local.get 1)))) - "type mismatch" -) - - -;; local.set should have retval - -(assert_invalid - (module (func $type-empty-vs-i32 (local i32) (local.get 0))) - "type mismatch" -) -(assert_invalid - (module (func $type-empty-vs-i64 (local i64) (local.get 0))) - "type mismatch" -) -(assert_invalid - (module (func $type-empty-vs-f32 (local f32) (local.get 0))) - "type mismatch" -) -(assert_invalid - (module (func $type-empty-vs-f64 (local f64) (local.get 0))) - "type mismatch" -) - - -;; Invalid local index - -(assert_invalid - (module (func $unbound-local (local i32 i64) (local.get 3))) - "unknown local" -) -(assert_invalid - (module (func $large-local (local i32 i64) (local.get 14324343))) - "unknown local" -) - -(assert_invalid - (module (func $unbound-param (param i32 i64) (local.get 2))) - "unknown local" -) -(assert_invalid - (module (func $large-param (param i32 i64) (local.get 714324343))) - "unknown local" -) - -(assert_invalid - (module (func $unbound-mixed (param i32) (local i32 i64) (local.get 3))) - "unknown local" -) -(assert_invalid - (module (func $large-mixed (param i64) (local i32 i64) (local.get 214324343))) - "unknown local" -) - diff --git a/test/spec/local_set.wast b/test/spec/local_set.wast deleted file mode 100644 index ce9cf77f4..000000000 --- a/test/spec/local_set.wast +++ /dev/null @@ -1,362 +0,0 @@ -;; Test `local.set` operator - -(module - ;; Typing - - (func (export "type-local-i32") (local i32) (local.set 0 (i32.const 0))) - (func (export "type-local-i64") (local i64) (local.set 0 (i64.const 0))) - (func (export "type-local-f32") (local f32) (local.set 0 (f32.const 0))) - (func (export "type-local-f64") (local f64) (local.set 0 (f64.const 0))) - - (func (export "type-param-i32") (param i32) (local.set 0 (i32.const 10))) - (func (export "type-param-i64") (param i64) (local.set 0 (i64.const 11))) - (func (export "type-param-f32") (param f32) (local.set 0 (f32.const 11.1))) - (func (export "type-param-f64") (param f64) (local.set 0 (f64.const 12.2))) - - (func (export "type-mixed") (param i64 f32 f64 i32 i32) (local f32 i64 i64 f64) - (local.set 0 (i64.const 0)) - (local.set 1 (f32.const 0)) - (local.set 2 (f64.const 0)) - (local.set 3 (i32.const 0)) - (local.set 4 (i32.const 0)) - (local.set 5 (f32.const 0)) - (local.set 6 (i64.const 0)) - (local.set 7 (i64.const 0)) - (local.set 8 (f64.const 0)) - ) - - ;; Writing - - (func (export "write") (param i64 f32 f64 i32 i32) (result i64) - (local f32 i64 i64 f64) - (local.set 1 (f32.const -0.3)) - (local.set 3 (i32.const 40)) - (local.set 4 (i32.const -7)) - (local.set 5 (f32.const 5.5)) - (local.set 6 (i64.const 6)) - (local.set 8 (f64.const 8)) - (i64.trunc_f64_s - (f64.add - (f64.convert_i64_u (local.get 0)) - (f64.add - (f64.promote_f32 (local.get 1)) - (f64.add - (local.get 2) - (f64.add - (f64.convert_i32_u (local.get 3)) - (f64.add - (f64.convert_i32_s (local.get 4)) - (f64.add - (f64.promote_f32 (local.get 5)) - (f64.add - (f64.convert_i64_u (local.get 6)) - (f64.add - (f64.convert_i64_u (local.get 7)) - (local.get 8) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - - ;; As parameter of control constructs and instructions - - (func (export "as-block-value") (param i32) - (block (local.set 0 (i32.const 1))) - ) - (func (export "as-loop-value") (param i32) - (loop (local.set 0 (i32.const 3))) - ) - - (func (export "as-br-value") (param i32) - (block (br 0 (local.set 0 (i32.const 9)))) - ) - (func (export "as-br_if-value") (param i32) - (block - (br_if 0 (local.set 0 (i32.const 8)) (i32.const 1)) - ) - ) - (func (export "as-br_if-value-cond") (param i32) - (block - (br_if 0 (i32.const 6) (local.set 0 (i32.const 9))) - ) - ) - (func (export "as-br_table-value") (param i32) - (block - (br_table 0 (local.set 0 (i32.const 10)) (i32.const 1)) - ) - ) - - (func (export "as-return-value") (param i32) - (return (local.set 0 (i32.const 7))) - ) - - (func (export "as-if-then") (param i32) - (if (local.get 0) (then (local.set 0 (i32.const 3)))) - ) - (func (export "as-if-else") (param i32) - (if (local.get 0) (then) (else (local.set 0 (i32.const 1)))) - ) -) - -(assert_return (invoke "type-local-i32")) -(assert_return (invoke "type-local-i64")) -(assert_return (invoke "type-local-f32")) -(assert_return (invoke "type-local-f64")) - -(assert_return (invoke "type-param-i32" (i32.const 2))) -(assert_return (invoke "type-param-i64" (i64.const 3))) -(assert_return (invoke "type-param-f32" (f32.const 4.4))) -(assert_return (invoke "type-param-f64" (f64.const 5.5))) - -(assert_return (invoke "as-block-value" (i32.const 0))) -(assert_return (invoke "as-loop-value" (i32.const 0))) - -(assert_return (invoke "as-br-value" (i32.const 0))) -(assert_return (invoke "as-br_if-value" (i32.const 0))) -(assert_return (invoke "as-br_if-value-cond" (i32.const 0))) -(assert_return (invoke "as-br_table-value" (i32.const 0))) - -(assert_return (invoke "as-return-value" (i32.const 0))) - -(assert_return (invoke "as-if-then" (i32.const 1))) -(assert_return (invoke "as-if-else" (i32.const 0))) - -(assert_return - (invoke "type-mixed" - (i64.const 1) (f32.const 2.2) (f64.const 3.3) (i32.const 4) (i32.const 5) - ) -) - -(assert_return - (invoke "write" - (i64.const 1) (f32.const 2) (f64.const 3.3) (i32.const 4) (i32.const 5) - ) - (i64.const 56) -) - - -;; Invalid typing of access to locals - - -(assert_invalid - (module (func $type-local-arg-void-vs-num (local i32) (local.set 0 (nop)))) - "type mismatch" -) -(assert_invalid - (module (func $type-local-arg-num-vs-num (local i32) (local.set 0 (f32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-local-arg-num-vs-num (local f32) (local.set 0 (f64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-local-arg-num-vs-num (local f64 i64) (local.set 1 (f64.const 0)))) - "type mismatch" -) - - -;; Invalid typing of access to parameters - - -(assert_invalid - (module (func $type-param-arg-void-vs-num (param i32) (local.set 0 (nop)))) - "type mismatch" -) -(assert_invalid - (module (func $type-param-arg-num-vs-num (param i32) (local.set 0 (f32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-param-arg-num-vs-num (param f32) (local.set 0 (f64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-param-arg-num-vs-num (param f64 i64) (local.set 1 (f64.const 0)))) - "type mismatch" -) - -(assert_invalid - (module - (func $type-param-arg-empty-vs-num (param i32) - (local.set 0) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-block (param i32) - (i32.const 0) - (block (local.set 0)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-loop (param i32) - (i32.const 0) - (loop (local.set 0)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-then (param i32) - (i32.const 0) - (if (i32.const 1) (then (local.set 0))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-else (param i32) - (i32.const 0) - (if (result i32) (i32.const 0) (then (i32.const 0)) (else (local.set 0))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-br (param i32) - (i32.const 0) - (block (br 0 (local.set 0))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-br_if (param i32) - (i32.const 0) - (block (br_if 0 (local.set 0))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-br_table (param i32) - (i32.const 0) - (block (br_table 0 (local.set 0))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-return (param i32) - (return (local.set 0)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-select (param i32) - (select (local.set 0) (i32.const 1) (i32.const 2)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-call (param i32) - (call 1 (local.set 0)) - ) - (func (param i32) (result i32) (local.get 0)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $f (param i32) (result i32) (local.get 0)) - (type $sig (func (param i32) (result i32))) - (table funcref (elem $f)) - (func $type-param-arg-empty-vs-num-in-call_indirect (param i32) - (block (result i32) - (call_indirect (type $sig) - (local.set 0) (i32.const 0) - ) - ) - ) - ) - "type mismatch" -) - - -;; Invalid typing of access to mixed args - -(assert_invalid - (module (func $type-mixed-arg-num-vs-num (param f32) (local i32) (local.set 1 (f32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-mixed-arg-num-vs-num (param i64 i32) (local f32) (local.set 1 (f32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-mixed-arg-num-vs-num (param i64) (local f64 i64) (local.set 1 (i64.const 0)))) - "type mismatch" -) - - -;; local.set should have no retval - -(assert_invalid - (module (func $type-empty-vs-i32 (param i32) (result i32) (local.set 0 (i32.const 1)))) - "type mismatch" -) -(assert_invalid - (module (func $type-empty-vs-i64 (param i64) (result i64) (local.set 0 (i64.const 1)))) - "type mismatch" -) -(assert_invalid - (module (func $type-empty-vs-f32 (param f32) (result f32) (local.set 0 (f32.const 1)))) - "type mismatch" -) -(assert_invalid - (module (func $type-empty-vs-f64 (param f64) (result f64) (local.set 0 (f64.const 1)))) - "type mismatch" -) - - -;; Invalid local index - -(assert_invalid - (module (func $unbound-local (local i32 i64) (local.set 3 (i32.const 0)))) - "unknown local" -) -(assert_invalid - (module (func $large-local (local i32 i64) (local.set 14324343 (i32.const 0)))) - "unknown local" -) - -(assert_invalid - (module (func $unbound-param (param i32 i64) (local.set 2 (i32.const 0)))) - "unknown local" -) -(assert_invalid - (module (func $large-param (param i32 i64) (local.set 714324343 (i32.const 0)))) - "unknown local" -) - -(assert_invalid - (module (func $unbound-mixed (param i32) (local i32 i64) (local.set 3 (i32.const 0)))) - "unknown local" -) -(assert_invalid - (module (func $large-mixed (param i64) (local i32 i64) (local.set 214324343 (i32.const 0)))) - "unknown local" -) - diff --git a/test/spec/local_tee.wast b/test/spec/local_tee.wast deleted file mode 100644 index dde7321ec..000000000 --- a/test/spec/local_tee.wast +++ /dev/null @@ -1,639 +0,0 @@ -;; Test `local.tee` operator - -(module - ;; Typing - - (func (export "type-local-i32") (result i32) (local i32) (local.tee 0 (i32.const 0))) - (func (export "type-local-i64") (result i64) (local i64) (local.tee 0 (i64.const 0))) - (func (export "type-local-f32") (result f32) (local f32) (local.tee 0 (f32.const 0))) - (func (export "type-local-f64") (result f64) (local f64) (local.tee 0 (f64.const 0))) - - (func (export "type-param-i32") (param i32) (result i32) (local.tee 0 (i32.const 10))) - (func (export "type-param-i64") (param i64) (result i64) (local.tee 0 (i64.const 11))) - (func (export "type-param-f32") (param f32) (result f32) (local.tee 0 (f32.const 11.1))) - (func (export "type-param-f64") (param f64) (result f64) (local.tee 0 (f64.const 12.2))) - - (func (export "type-mixed") (param i64 f32 f64 i32 i32) (local f32 i64 i64 f64) - (drop (i64.eqz (local.tee 0 (i64.const 0)))) - (drop (f32.neg (local.tee 1 (f32.const 0)))) - (drop (f64.neg (local.tee 2 (f64.const 0)))) - (drop (i32.eqz (local.tee 3 (i32.const 0)))) - (drop (i32.eqz (local.tee 4 (i32.const 0)))) - (drop (f32.neg (local.tee 5 (f32.const 0)))) - (drop (i64.eqz (local.tee 6 (i64.const 0)))) - (drop (i64.eqz (local.tee 7 (i64.const 0)))) - (drop (f64.neg (local.tee 8 (f64.const 0)))) - ) - - ;; Writing - - (func (export "write") (param i64 f32 f64 i32 i32) (result i64) (local f32 i64 i64 f64) - (drop (local.tee 1 (f32.const -0.3))) - (drop (local.tee 3 (i32.const 40))) - (drop (local.tee 4 (i32.const -7))) - (drop (local.tee 5 (f32.const 5.5))) - (drop (local.tee 6 (i64.const 6))) - (drop (local.tee 8 (f64.const 8))) - (i64.trunc_f64_s - (f64.add - (f64.convert_i64_u (local.get 0)) - (f64.add - (f64.promote_f32 (local.get 1)) - (f64.add - (local.get 2) - (f64.add - (f64.convert_i32_u (local.get 3)) - (f64.add - (f64.convert_i32_s (local.get 4)) - (f64.add - (f64.promote_f32 (local.get 5)) - (f64.add - (f64.convert_i64_u (local.get 6)) - (f64.add - (f64.convert_i64_u (local.get 7)) - (local.get 8) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - - ;; Result - - (func (export "result") (param i64 f32 f64 i32 i32) (result f64) - (local f32 i64 i64 f64) - (f64.add - (f64.convert_i64_u (local.tee 0 (i64.const 1))) - (f64.add - (f64.promote_f32 (local.tee 1 (f32.const 2))) - (f64.add - (local.tee 2 (f64.const 3.3)) - (f64.add - (f64.convert_i32_u (local.tee 3 (i32.const 4))) - (f64.add - (f64.convert_i32_s (local.tee 4 (i32.const 5))) - (f64.add - (f64.promote_f32 (local.tee 5 (f32.const 5.5))) - (f64.add - (f64.convert_i64_u (local.tee 6 (i64.const 6))) - (f64.add - (f64.convert_i64_u (local.tee 7 (i64.const 0))) - (local.tee 8 (f64.const 8)) - ) - ) - ) - ) - ) - ) - ) - ) - ) - - (func $dummy) - - (func (export "as-block-first") (param i32) (result i32) - (block (result i32) (local.tee 0 (i32.const 1)) (call $dummy)) - ) - (func (export "as-block-mid") (param i32) (result i32) - (block (result i32) (call $dummy) (local.tee 0 (i32.const 1)) (call $dummy)) - ) - (func (export "as-block-last") (param i32) (result i32) - (block (result i32) (call $dummy) (call $dummy) (local.tee 0 (i32.const 1))) - ) - - (func (export "as-loop-first") (param i32) (result i32) - (loop (result i32) (local.tee 0 (i32.const 3)) (call $dummy)) - ) - (func (export "as-loop-mid") (param i32) (result i32) - (loop (result i32) (call $dummy) (local.tee 0 (i32.const 4)) (call $dummy)) - ) - (func (export "as-loop-last") (param i32) (result i32) - (loop (result i32) (call $dummy) (call $dummy) (local.tee 0 (i32.const 5))) - ) - - (func (export "as-br-value") (param i32) (result i32) - (block (result i32) (br 0 (local.tee 0 (i32.const 9)))) - ) - - (func (export "as-br_if-cond") (param i32) - (block (br_if 0 (local.tee 0 (i32.const 1)))) - ) - (func (export "as-br_if-value") (param i32) (result i32) - (block (result i32) - (drop (br_if 0 (local.tee 0 (i32.const 8)) (i32.const 1))) (i32.const 7) - ) - ) - (func (export "as-br_if-value-cond") (param i32) (result i32) - (block (result i32) - (drop (br_if 0 (i32.const 6) (local.tee 0 (i32.const 9)))) (i32.const 7) - ) - ) - - (func (export "as-br_table-index") (param i32) - (block (br_table 0 0 0 (local.tee 0 (i32.const 0)))) - ) - (func (export "as-br_table-value") (param i32) (result i32) - (block (result i32) - (br_table 0 0 0 (local.tee 0 (i32.const 10)) (i32.const 1)) (i32.const 7) - ) - ) - (func (export "as-br_table-value-index") (param i32) (result i32) - (block (result i32) - (br_table 0 0 (i32.const 6) (local.tee 0 (i32.const 11))) (i32.const 7) - ) - ) - - (func (export "as-return-value") (param i32) (result i32) - (return (local.tee 0 (i32.const 7))) - ) - - (func (export "as-if-cond") (param i32) (result i32) - (if (result i32) (local.tee 0 (i32.const 2)) - (then (i32.const 0)) (else (i32.const 1)) - ) - ) - (func (export "as-if-then") (param i32) (result i32) - (if (result i32) (local.get 0) - (then (local.tee 0 (i32.const 3))) (else (local.get 0)) - ) - ) - (func (export "as-if-else") (param i32) (result i32) - (if (result i32) (local.get 0) - (then (local.get 0)) (else (local.tee 0 (i32.const 4))) - ) - ) - - (func (export "as-select-first") (param i32 i32) (result i32) - (select (local.tee 0 (i32.const 5)) (local.get 0) (local.get 1)) - ) - (func (export "as-select-second") (param i32 i32) (result i32) - (select (local.get 0) (local.tee 0 (i32.const 6)) (local.get 1)) - ) - (func (export "as-select-cond") (param i32) (result i32) - (select (i32.const 0) (i32.const 1) (local.tee 0 (i32.const 7))) - ) - - (func $f (param i32 i32 i32) (result i32) (i32.const -1)) - (func (export "as-call-first") (param i32) (result i32) - (call $f (local.tee 0 (i32.const 12)) (i32.const 2) (i32.const 3)) - ) - (func (export "as-call-mid") (param i32) (result i32) - (call $f (i32.const 1) (local.tee 0 (i32.const 13)) (i32.const 3)) - ) - (func (export "as-call-last") (param i32) (result i32) - (call $f (i32.const 1) (i32.const 2) (local.tee 0 (i32.const 14))) - ) - - (type $sig (func (param i32 i32 i32) (result i32))) - (table funcref (elem $f)) - (func (export "as-call_indirect-first") (param i32) (result i32) - (call_indirect (type $sig) - (local.tee 0 (i32.const 1)) (i32.const 2) (i32.const 3) (i32.const 0) - ) - ) - (func (export "as-call_indirect-mid") (param i32) (result i32) - (call_indirect (type $sig) - (i32.const 1) (local.tee 0 (i32.const 2)) (i32.const 3) (i32.const 0) - ) - ) - (func (export "as-call_indirect-last") (param i32) (result i32) - (call_indirect (type $sig) - (i32.const 1) (i32.const 2) (local.tee 0 (i32.const 3)) (i32.const 0) - ) - ) - (func (export "as-call_indirect-index") (param i32) (result i32) - (call_indirect (type $sig) - (i32.const 1) (i32.const 2) (i32.const 3) (local.tee 0 (i32.const 0)) - ) - ) - - (func (export "as-local.set-value") (local i32) - (local.set 0 (local.tee 0 (i32.const 1))) - ) - (func (export "as-local.tee-value") (param i32) (result i32) - (local.tee 0 (local.tee 0 (i32.const 1))) - ) - (global $g (mut i32) (i32.const 0)) - (func (export "as-global.set-value") (local i32) - (global.set $g (local.tee 0 (i32.const 1))) - ) - - (memory 1) - (func (export "as-load-address") (param i32) (result i32) - (i32.load (local.tee 0 (i32.const 1))) - ) - (func (export "as-loadN-address") (param i32) (result i32) - (i32.load8_s (local.tee 0 (i32.const 3))) - ) - - (func (export "as-store-address") (param i32) - (i32.store (local.tee 0 (i32.const 30)) (i32.const 7)) - ) - (func (export "as-store-value") (param i32) - (i32.store (i32.const 2) (local.tee 0 (i32.const 1))) - ) - - (func (export "as-storeN-address") (param i32) - (i32.store8 (local.tee 0 (i32.const 1)) (i32.const 7)) - ) - (func (export "as-storeN-value") (param i32) - (i32.store16 (i32.const 2) (local.tee 0 (i32.const 1))) - ) - - (func (export "as-unary-operand") (param f32) (result f32) - (f32.neg (local.tee 0 (f32.const nan:0x0f1e2))) - ) - - (func (export "as-binary-left") (param i32) (result i32) - (i32.add (local.tee 0 (i32.const 3)) (i32.const 10)) - ) - (func (export "as-binary-right") (param i32) (result i32) - (i32.sub (i32.const 10) (local.tee 0 (i32.const 4))) - ) - - (func (export "as-test-operand") (param i32) (result i32) - (i32.eqz (local.tee 0 (i32.const 0))) - ) - - (func (export "as-compare-left") (param i32) (result i32) - (i32.le_s (local.tee 0 (i32.const 43)) (i32.const 10)) - ) - (func (export "as-compare-right") (param i32) (result i32) - (i32.ne (i32.const 10) (local.tee 0 (i32.const 42))) - ) - - (func (export "as-convert-operand") (param i64) (result i32) - (i32.wrap_i64 (local.tee 0 (i64.const 41))) - ) - - (func (export "as-memory.grow-size") (param i32) (result i32) - (memory.grow (local.tee 0 (i32.const 40))) - ) - -) - -(assert_return (invoke "type-local-i32") (i32.const 0)) -(assert_return (invoke "type-local-i64") (i64.const 0)) -(assert_return (invoke "type-local-f32") (f32.const 0)) -(assert_return (invoke "type-local-f64") (f64.const 0)) - -(assert_return (invoke "type-param-i32" (i32.const 2)) (i32.const 10)) -(assert_return (invoke "type-param-i64" (i64.const 3)) (i64.const 11)) -(assert_return (invoke "type-param-f32" (f32.const 4.4)) (f32.const 11.1)) -(assert_return (invoke "type-param-f64" (f64.const 5.5)) (f64.const 12.2)) - -(assert_return (invoke "as-block-first" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "as-block-mid" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "as-block-last" (i32.const 0)) (i32.const 1)) - -(assert_return (invoke "as-loop-first" (i32.const 0)) (i32.const 3)) -(assert_return (invoke "as-loop-mid" (i32.const 0)) (i32.const 4)) -(assert_return (invoke "as-loop-last" (i32.const 0)) (i32.const 5)) - -(assert_return (invoke "as-br-value" (i32.const 0)) (i32.const 9)) - -(assert_return (invoke "as-br_if-cond" (i32.const 0))) -(assert_return (invoke "as-br_if-value" (i32.const 0)) (i32.const 8)) -(assert_return (invoke "as-br_if-value-cond" (i32.const 0)) (i32.const 6)) - -(assert_return (invoke "as-br_table-index" (i32.const 0))) -(assert_return (invoke "as-br_table-value" (i32.const 0)) (i32.const 10)) -(assert_return (invoke "as-br_table-value-index" (i32.const 0)) (i32.const 6)) - -(assert_return (invoke "as-return-value" (i32.const 0)) (i32.const 7)) - -(assert_return (invoke "as-if-cond" (i32.const 0)) (i32.const 0)) -(assert_return (invoke "as-if-then" (i32.const 1)) (i32.const 3)) -(assert_return (invoke "as-if-else" (i32.const 0)) (i32.const 4)) - -(assert_return (invoke "as-select-first" (i32.const 0) (i32.const 1)) (i32.const 5)) -(assert_return (invoke "as-select-second" (i32.const 0) (i32.const 0)) (i32.const 6)) -(assert_return (invoke "as-select-cond" (i32.const 0)) (i32.const 0)) - -(assert_return (invoke "as-call-first" (i32.const 0)) (i32.const -1)) -(assert_return (invoke "as-call-mid" (i32.const 0)) (i32.const -1)) -(assert_return (invoke "as-call-last" (i32.const 0)) (i32.const -1)) - -(assert_return (invoke "as-call_indirect-first" (i32.const 0)) (i32.const -1)) -(assert_return (invoke "as-call_indirect-mid" (i32.const 0)) (i32.const -1)) -(assert_return (invoke "as-call_indirect-last" (i32.const 0)) (i32.const -1)) -(assert_return (invoke "as-call_indirect-index" (i32.const 0)) (i32.const -1)) - -(assert_return (invoke "as-local.set-value")) -(assert_return (invoke "as-local.tee-value" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "as-global.set-value")) - -(assert_return (invoke "as-load-address" (i32.const 0)) (i32.const 0)) -(assert_return (invoke "as-loadN-address" (i32.const 0)) (i32.const 0)) -(assert_return (invoke "as-store-address" (i32.const 0))) -(assert_return (invoke "as-store-value" (i32.const 0))) -(assert_return (invoke "as-storeN-address" (i32.const 0))) -(assert_return (invoke "as-storeN-value" (i32.const 0))) - -(assert_return (invoke "as-unary-operand" (f32.const 0)) (f32.const -nan:0x0f1e2)) -(assert_return (invoke "as-binary-left" (i32.const 0)) (i32.const 13)) -(assert_return (invoke "as-binary-right" (i32.const 0)) (i32.const 6)) -(assert_return (invoke "as-test-operand" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "as-compare-left" (i32.const 0)) (i32.const 0)) -(assert_return (invoke "as-compare-right" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "as-convert-operand" (i64.const 0)) (i32.const 41)) -(assert_return (invoke "as-memory.grow-size" (i32.const 0)) (i32.const 1)) - -(assert_return - (invoke "type-mixed" - (i64.const 1) (f32.const 2.2) (f64.const 3.3) (i32.const 4) (i32.const 5) - ) -) - -(assert_return - (invoke "write" - (i64.const 1) (f32.const 2) (f64.const 3.3) (i32.const 4) (i32.const 5) - ) - (i64.const 56) -) - -(assert_return - (invoke "result" - (i64.const -1) (f32.const -2) (f64.const -3.3) (i32.const -4) (i32.const -5) - ) - (f64.const 34.8) -) - - -;; Invalid typing of access to locals - -(assert_invalid - (module (func $type-local-num-vs-num (result i64) (local i32) (local.tee 0 (i32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-local-num-vs-num (local f32) (i32.eqz (local.tee 0 (f32.const 0))))) - "type mismatch" -) -(assert_invalid - (module (func $type-local-num-vs-num (local f64 i64) (f64.neg (local.tee 1 (i64.const 0))))) - "type mismatch" -) - -(assert_invalid - (module (func $type-local-arg-void-vs-num (local i32) (local.tee 0 (nop)))) - "type mismatch" -) -(assert_invalid - (module (func $type-local-arg-num-vs-num (local i32) (local.tee 0 (f32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-local-arg-num-vs-num (local f32) (local.tee 0 (f64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-local-arg-num-vs-num (local f64 i64) (local.tee 1 (f64.const 0)))) - "type mismatch" -) - - -;; Invalid typing of access to parameters - -(assert_invalid - (module (func $type-param-num-vs-num (param i32) (result i64) (local.get 0))) - "type mismatch" -) -(assert_invalid - (module (func $type-param-num-vs-num (param f32) (i32.eqz (local.get 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-param-num-vs-num (param f64 i64) (f64.neg (local.get 1)))) - "type mismatch" -) - -(assert_invalid - (module (func $type-param-arg-void-vs-num (param i32) (local.tee 0 (nop)))) - "type mismatch" -) -(assert_invalid - (module (func $type-param-arg-num-vs-num (param i32) (local.tee 0 (f32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-param-arg-num-vs-num (param f32) (local.tee 0 (f64.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-param-arg-num-vs-num (param f64 i64) (local.tee 1 (f64.const 0)))) - "type mismatch" -) - -(assert_invalid - (module - (func $type-param-arg-empty-vs-num (param i32) - (local.tee 0) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-block (param i32) - (i32.const 0) - (block (local.tee 0) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-loop (param i32) - (i32.const 0) - (loop (local.tee 0) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-then (param i32) - (i32.const 0) (i32.const 0) - (if (then (local.tee 0) (drop))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-else (param i32) - (i32.const 0) (i32.const 0) - (if (result i32) (then (i32.const 0)) (else (local.tee 0))) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-br (param i32) - (i32.const 0) - (block (br 0 (local.tee 0)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-br_if (param i32) - (i32.const 0) - (block (br_if 0 (local.tee 0) (i32.const 1)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-br_table (param i32) - (i32.const 0) - (block (br_table 0 (local.tee 0)) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-return (param i32) - (return (local.tee 0)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-select (param i32) - (select (local.tee 0) (i32.const 1) (i32.const 2)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-call (param i32) - (call 1 (local.tee 0)) (drop) - ) - (func (param i32) (result i32) (local.get 0)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $f (param i32) (result i32) (local.get 0)) - (type $sig (func (param i32) (result i32))) - (table funcref (elem $f)) - (func $type-param-arg-empty-vs-num-in-call_indirect (param i32) - (block (result i32) - (call_indirect (type $sig) - (local.tee 0) (i32.const 0) - ) - (drop) - ) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-local.set (param i32) - (local.set 0 (local.tee 0)) (local.get 0) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-param-arg-empty-vs-num-in-local.tee (param i32) - (local.tee 0 (local.tee 0)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (global $x (mut i32) (i32.const 0)) - (func $type-param-arg-empty-vs-num-in-global.set (param i32) - (global.set $x (local.tee 0)) (global.get $x) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-param-arg-empty-vs-num-in-memory.grow (param i32) - (memory.grow (local.tee 0)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-param-arg-empty-vs-num-in-load (param i32) - (i32.load (local.tee 0)) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-param-arg-empty-vs-num-in-store (param i32) - (i32.store (local.tee 0) (i32.const 1)) - ) - ) - "type mismatch" -) - - -;; Invalid local index - -(assert_invalid - (module (func $unbound-local (local i32 i64) (local.get 3))) - "unknown local" -) -(assert_invalid - (module (func $large-local (local i32 i64) (local.get 14324343))) - "unknown local" -) - -(assert_invalid - (module (func $unbound-param (param i32 i64) (local.get 2))) - "unknown local" -) -(assert_invalid - (module (func $large-param (local i32 i64) (local.get 714324343))) - "unknown local" -) - -(assert_invalid - (module (func $unbound-mixed (param i32) (local i32 i64) (local.get 3))) - "unknown local" -) -(assert_invalid - (module (func $large-mixed (param i64) (local i32 i64) (local.get 214324343))) - "unknown local" -) - -(assert_invalid - (module (func $type-mixed-arg-num-vs-num (param f32) (local i32) (local.tee 1 (f32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-mixed-arg-num-vs-num (param i64 i32) (local f32) (local.tee 1 (f32.const 0)))) - "type mismatch" -) -(assert_invalid - (module (func $type-mixed-arg-num-vs-num (param i64) (local f64 i64) (local.tee 1 (i64.const 0)))) - "type mismatch" -) diff --git a/test/spec/memory_grow.wast b/test/spec/memory_grow.wast deleted file mode 100644 index 8a87c77c6..000000000 --- a/test/spec/memory_grow.wast +++ /dev/null @@ -1,355 +0,0 @@ -(module - (memory 0) - - (func (export "load_at_zero") (result i32) (i32.load (i32.const 0))) - (func (export "store_at_zero") (i32.store (i32.const 0) (i32.const 2))) - - (func (export "load_at_page_size") (result i32) (i32.load (i32.const 0x10000))) - (func (export "store_at_page_size") (i32.store (i32.const 0x10000) (i32.const 3))) - - (func (export "grow") (param $sz i32) (result i32) (memory.grow (local.get $sz))) - (func (export "size") (result i32) (memory.size)) -) - -(assert_return (invoke "size") (i32.const 0)) -(assert_trap (invoke "store_at_zero") "out of bounds memory access") -(assert_trap (invoke "load_at_zero") "out of bounds memory access") -(assert_trap (invoke "store_at_page_size") "out of bounds memory access") -(assert_trap (invoke "load_at_page_size") "out of bounds memory access") -(assert_return (invoke "grow" (i32.const 1)) (i32.const 0)) -(assert_return (invoke "size") (i32.const 1)) -(assert_return (invoke "load_at_zero") (i32.const 0)) -(assert_return (invoke "store_at_zero")) -(assert_return (invoke "load_at_zero") (i32.const 2)) -(assert_trap (invoke "store_at_page_size") "out of bounds memory access") -(assert_trap (invoke "load_at_page_size") "out of bounds memory access") -(assert_return (invoke "grow" (i32.const 4)) (i32.const 1)) -(assert_return (invoke "size") (i32.const 5)) -(assert_return (invoke "load_at_zero") (i32.const 2)) -(assert_return (invoke "store_at_zero")) -(assert_return (invoke "load_at_zero") (i32.const 2)) -(assert_return (invoke "load_at_page_size") (i32.const 0)) -(assert_return (invoke "store_at_page_size")) -(assert_return (invoke "load_at_page_size") (i32.const 3)) - - -(module - (memory 0) - (func (export "grow") (param i32) (result i32) (memory.grow (local.get 0))) -) - -(assert_return (invoke "grow" (i32.const 0)) (i32.const 0)) -(assert_return (invoke "grow" (i32.const 1)) (i32.const 0)) -(assert_return (invoke "grow" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "grow" (i32.const 2)) (i32.const 1)) -(assert_return (invoke "grow" (i32.const 800)) (i32.const 3)) -(assert_return (invoke "grow" (i32.const 0x10000)) (i32.const -1)) -(assert_return (invoke "grow" (i32.const 64736)) (i32.const -1)) -(assert_return (invoke "grow" (i32.const 1)) (i32.const 803)) - -(module - (memory 0 10) - (func (export "grow") (param i32) (result i32) (memory.grow (local.get 0))) -) - -(assert_return (invoke "grow" (i32.const 0)) (i32.const 0)) -(assert_return (invoke "grow" (i32.const 1)) (i32.const 0)) -(assert_return (invoke "grow" (i32.const 1)) (i32.const 1)) -(assert_return (invoke "grow" (i32.const 2)) (i32.const 2)) -(assert_return (invoke "grow" (i32.const 6)) (i32.const 4)) -(assert_return (invoke "grow" (i32.const 0)) (i32.const 10)) -(assert_return (invoke "grow" (i32.const 1)) (i32.const -1)) -(assert_return (invoke "grow" (i32.const 0x10000)) (i32.const -1)) - -;; Test that newly allocated memory (program start and memory.grow) is zeroed - -(module - (memory 1) - (func (export "grow") (param i32) (result i32) - (memory.grow (local.get 0)) - ) - (func (export "check-memory-zero") (param i32 i32) (result i32) - (local i32) - (local.set 2 (i32.const 1)) - (block - (loop - (local.set 2 (i32.load8_u (local.get 0))) - (br_if 1 (i32.ne (local.get 2) (i32.const 0))) - (br_if 1 (i32.ge_u (local.get 0) (local.get 1))) - (local.set 0 (i32.add (local.get 0) (i32.const 1))) - (br_if 0 (i32.le_u (local.get 0) (local.get 1))) - ) - ) - (local.get 2) - ) -) - -(assert_return (invoke "check-memory-zero" (i32.const 0) (i32.const 0xffff)) (i32.const 0)) -(assert_return (invoke "grow" (i32.const 1)) (i32.const 1)) -(assert_return (invoke "check-memory-zero" (i32.const 0x10000) (i32.const 0x1_ffff)) (i32.const 0)) -(assert_return (invoke "grow" (i32.const 1)) (i32.const 2)) -(assert_return (invoke "check-memory-zero" (i32.const 0x20000) (i32.const 0x2_ffff)) (i32.const 0)) -(assert_return (invoke "grow" (i32.const 1)) (i32.const 3)) -(assert_return (invoke "check-memory-zero" (i32.const 0x30000) (i32.const 0x3_ffff)) (i32.const 0)) -(assert_return (invoke "grow" (i32.const 1)) (i32.const 4)) -(assert_return (invoke "check-memory-zero" (i32.const 0x40000) (i32.const 0x4_ffff)) (i32.const 0)) -(assert_return (invoke "grow" (i32.const 1)) (i32.const 5)) -(assert_return (invoke "check-memory-zero" (i32.const 0x50000) (i32.const 0x5_ffff)) (i32.const 0)) - -;; As the argument of control constructs and instructions - -(module - (memory 1) - - (func (export "as-br-value") (result i32) - (block (result i32) (br 0 (memory.grow (i32.const 0)))) - ) - - (func (export "as-br_if-cond") - (block (br_if 0 (memory.grow (i32.const 0)))) - ) - (func (export "as-br_if-value") (result i32) - (block (result i32) - (drop (br_if 0 (memory.grow (i32.const 0)) (i32.const 1))) (i32.const 7) - ) - ) - (func (export "as-br_if-value-cond") (result i32) - (block (result i32) - (drop (br_if 0 (i32.const 6) (memory.grow (i32.const 0)))) (i32.const 7) - ) - ) - - (func (export "as-br_table-index") - (block (br_table 0 0 0 (memory.grow (i32.const 0)))) - ) - (func (export "as-br_table-value") (result i32) - (block (result i32) - (br_table 0 0 0 (memory.grow (i32.const 0)) (i32.const 1)) (i32.const 7) - ) - ) - (func (export "as-br_table-value-index") (result i32) - (block (result i32) - (br_table 0 0 (i32.const 6) (memory.grow (i32.const 0))) (i32.const 7) - ) - ) - - (func (export "as-return-value") (result i32) - (return (memory.grow (i32.const 0))) - ) - - (func (export "as-if-cond") (result i32) - (if (result i32) (memory.grow (i32.const 0)) - (then (i32.const 0)) (else (i32.const 1)) - ) - ) - (func (export "as-if-then") (result i32) - (if (result i32) (i32.const 1) - (then (memory.grow (i32.const 0))) (else (i32.const 0)) - ) - ) - (func (export "as-if-else") (result i32) - (if (result i32) (i32.const 0) - (then (i32.const 0)) (else (memory.grow (i32.const 0))) - ) - ) - - (func (export "as-select-first") (param i32 i32) (result i32) - (select (memory.grow (i32.const 0)) (local.get 0) (local.get 1)) - ) - (func (export "as-select-second") (param i32 i32) (result i32) - (select (local.get 0) (memory.grow (i32.const 0)) (local.get 1)) - ) - (func (export "as-select-cond") (result i32) - (select (i32.const 0) (i32.const 1) (memory.grow (i32.const 0))) - ) - - (func $f (param i32 i32 i32) (result i32) (i32.const -1)) - (func (export "as-call-first") (result i32) - (call $f (memory.grow (i32.const 0)) (i32.const 2) (i32.const 3)) - ) - (func (export "as-call-mid") (result i32) - (call $f (i32.const 1) (memory.grow (i32.const 0)) (i32.const 3)) - ) - (func (export "as-call-last") (result i32) - (call $f (i32.const 1) (i32.const 2) (memory.grow (i32.const 0))) - ) - - (type $sig (func (param i32 i32 i32) (result i32))) - (table funcref (elem $f)) - (func (export "as-call_indirect-first") (result i32) - (call_indirect (type $sig) - (memory.grow (i32.const 0)) (i32.const 2) (i32.const 3) (i32.const 0) - ) - ) - (func (export "as-call_indirect-mid") (result i32) - (call_indirect (type $sig) - (i32.const 1) (memory.grow (i32.const 0)) (i32.const 3) (i32.const 0) - ) - ) - (func (export "as-call_indirect-last") (result i32) - (call_indirect (type $sig) - (i32.const 1) (i32.const 2) (memory.grow (i32.const 0)) (i32.const 0) - ) - ) - (func (export "as-call_indirect-index") (result i32) - (call_indirect (type $sig) - (i32.const 1) (i32.const 2) (i32.const 3) (memory.grow (i32.const 0)) - ) - ) - - (func (export "as-local.set-value") (local i32) - (local.set 0 (memory.grow (i32.const 0))) - ) - (func (export "as-local.tee-value") (result i32) (local i32) - (local.tee 0 (memory.grow (i32.const 0))) - ) - (global $g (mut i32) (i32.const 0)) - (func (export "as-global.set-value") (local i32) - (global.set $g (memory.grow (i32.const 0))) - ) - - (func (export "as-load-address") (result i32) - (i32.load (memory.grow (i32.const 0))) - ) - (func (export "as-loadN-address") (result i32) - (i32.load8_s (memory.grow (i32.const 0))) - ) - - (func (export "as-store-address") - (i32.store (memory.grow (i32.const 0)) (i32.const 7)) - ) - (func (export "as-store-value") - (i32.store (i32.const 2) (memory.grow (i32.const 0))) - ) - - (func (export "as-storeN-address") - (i32.store8 (memory.grow (i32.const 0)) (i32.const 7)) - ) - (func (export "as-storeN-value") - (i32.store16 (i32.const 2) (memory.grow (i32.const 0))) - ) - - (func (export "as-unary-operand") (result i32) - (i32.clz (memory.grow (i32.const 0))) - ) - - (func (export "as-binary-left") (result i32) - (i32.add (memory.grow (i32.const 0)) (i32.const 10)) - ) - (func (export "as-binary-right") (result i32) - (i32.sub (i32.const 10) (memory.grow (i32.const 0))) - ) - - (func (export "as-test-operand") (result i32) - (i32.eqz (memory.grow (i32.const 0))) - ) - - (func (export "as-compare-left") (result i32) - (i32.le_s (memory.grow (i32.const 0)) (i32.const 10)) - ) - (func (export "as-compare-right") (result i32) - (i32.ne (i32.const 10) (memory.grow (i32.const 0))) - ) - - (func (export "as-memory.grow-size") (result i32) - (memory.grow (memory.grow (i32.const 0))) - ) -) - -(assert_return (invoke "as-br-value") (i32.const 1)) - -(assert_return (invoke "as-br_if-cond")) -(assert_return (invoke "as-br_if-value") (i32.const 1)) -(assert_return (invoke "as-br_if-value-cond") (i32.const 6)) - -(assert_return (invoke "as-br_table-index")) -(assert_return (invoke "as-br_table-value") (i32.const 1)) -(assert_return (invoke "as-br_table-value-index") (i32.const 6)) - -(assert_return (invoke "as-return-value") (i32.const 1)) - -(assert_return (invoke "as-if-cond") (i32.const 0)) -(assert_return (invoke "as-if-then") (i32.const 1)) -(assert_return (invoke "as-if-else") (i32.const 1)) - -(assert_return (invoke "as-select-first" (i32.const 0) (i32.const 1)) (i32.const 1)) -(assert_return (invoke "as-select-second" (i32.const 0) (i32.const 0)) (i32.const 1)) -(assert_return (invoke "as-select-cond") (i32.const 0)) - -(assert_return (invoke "as-call-first") (i32.const -1)) -(assert_return (invoke "as-call-mid") (i32.const -1)) -(assert_return (invoke "as-call-last") (i32.const -1)) - -(assert_return (invoke "as-call_indirect-first") (i32.const -1)) -(assert_return (invoke "as-call_indirect-mid") (i32.const -1)) -(assert_return (invoke "as-call_indirect-last") (i32.const -1)) -(assert_trap (invoke "as-call_indirect-index") "undefined element") - -(assert_return (invoke "as-local.set-value")) -(assert_return (invoke "as-local.tee-value") (i32.const 1)) -(assert_return (invoke "as-global.set-value")) - -(assert_return (invoke "as-load-address") (i32.const 0)) -(assert_return (invoke "as-loadN-address") (i32.const 0)) -(assert_return (invoke "as-store-address")) -(assert_return (invoke "as-store-value")) -(assert_return (invoke "as-storeN-address")) -(assert_return (invoke "as-storeN-value")) - -(assert_return (invoke "as-unary-operand") (i32.const 31)) - -(assert_return (invoke "as-binary-left") (i32.const 11)) -(assert_return (invoke "as-binary-right") (i32.const 9)) - -(assert_return (invoke "as-test-operand") (i32.const 0)) - -(assert_return (invoke "as-compare-left") (i32.const 1)) -(assert_return (invoke "as-compare-right") (i32.const 1)) - -(assert_return (invoke "as-memory.grow-size") (i32.const 1)) - - -(assert_invalid - (module - (memory 0) - (func $type-size-empty - (memory.grow) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-size-empty-in-block - (i32.const 0) - (block (memory.grow) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-size-empty-in-loop - (i32.const 0) - (loop (memory.grow) (drop)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-size-empty-in-then - (i32.const 0) (i32.const 0) - (if (then (memory.grow) (drop))) - ) - ) - "type mismatch" -) - - -;; Type check - -(assert_invalid (module (memory 1) (func (result i32) (memory.grow (f32.const 0)))) "type mismatch") diff --git a/test/spec/memory_grow64.wast b/test/spec/memory_grow64.wast deleted file mode 100644 index 90d8de607..000000000 --- a/test/spec/memory_grow64.wast +++ /dev/null @@ -1,95 +0,0 @@ -(module - (memory i64 0) - - (func (export "load_at_zero") (result i32) (i32.load (i64.const 0))) - (func (export "store_at_zero") (i32.store (i64.const 0) (i32.const 2))) - - (func (export "load_at_page_size") (result i32) (i32.load (i64.const 0x10000))) - (func (export "store_at_page_size") (i32.store (i64.const 0x10000) (i32.const 3))) - - (func (export "grow") (param $sz i64) (result i64) (memory.grow (local.get $sz))) - (func (export "size") (result i64) (memory.size)) -) - -(assert_return (invoke "size") (i64.const 0)) -(assert_trap (invoke "store_at_zero") "out of bounds memory access") -(assert_trap (invoke "load_at_zero") "out of bounds memory access") -(assert_trap (invoke "store_at_page_size") "out of bounds memory access") -(assert_trap (invoke "load_at_page_size") "out of bounds memory access") -(assert_return (invoke "grow" (i64.const 1)) (i64.const 0)) -(assert_return (invoke "size") (i64.const 1)) -(assert_return (invoke "load_at_zero") (i32.const 0)) -(assert_return (invoke "store_at_zero")) -(assert_return (invoke "load_at_zero") (i32.const 2)) -(assert_trap (invoke "store_at_page_size") "out of bounds memory access") -(assert_trap (invoke "load_at_page_size") "out of bounds memory access") -(assert_return (invoke "grow" (i64.const 4)) (i64.const 1)) -(assert_return (invoke "size") (i64.const 5)) -(assert_return (invoke "load_at_zero") (i32.const 2)) -(assert_return (invoke "store_at_zero")) -(assert_return (invoke "load_at_zero") (i32.const 2)) -(assert_return (invoke "load_at_page_size") (i32.const 0)) -(assert_return (invoke "store_at_page_size")) -(assert_return (invoke "load_at_page_size") (i32.const 3)) - - -(module - (memory i64 0) - (func (export "grow") (param i64) (result i64) (memory.grow (local.get 0))) -) - -(assert_return (invoke "grow" (i64.const 0)) (i64.const 0)) -(assert_return (invoke "grow" (i64.const 1)) (i64.const 0)) -(assert_return (invoke "grow" (i64.const 0)) (i64.const 1)) -(assert_return (invoke "grow" (i64.const 2)) (i64.const 1)) -(assert_return (invoke "grow" (i64.const 800)) (i64.const 3)) -(assert_return (invoke "grow" (i64.const 1)) (i64.const 803)) - -(module - (memory i64 0 10) - (func (export "grow") (param i64) (result i64) (memory.grow (local.get 0))) -) - -(assert_return (invoke "grow" (i64.const 0)) (i64.const 0)) -(assert_return (invoke "grow" (i64.const 1)) (i64.const 0)) -(assert_return (invoke "grow" (i64.const 1)) (i64.const 1)) -(assert_return (invoke "grow" (i64.const 2)) (i64.const 2)) -(assert_return (invoke "grow" (i64.const 6)) (i64.const 4)) -(assert_return (invoke "grow" (i64.const 0)) (i64.const 10)) -(assert_return (invoke "grow" (i64.const 1)) (i64.const -1)) -(assert_return (invoke "grow" (i64.const 0x10000)) (i64.const -1)) - -;; Test that newly allocated memory (program start and memory.grow) is zeroed - -(module - (memory i64 1) - (func (export "grow") (param i64) (result i64) - (memory.grow (local.get 0)) - ) - (func (export "check-memory-zero") (param i64 i64) (result i32) - (local i32) - (local.set 2 (i32.const 1)) - (block - (loop - (local.set 2 (i32.load8_u (local.get 0))) - (br_if 1 (i32.ne (local.get 2) (i32.const 0))) - (br_if 1 (i64.ge_u (local.get 0) (local.get 1))) - (local.set 0 (i64.add (local.get 0) (i64.const 1))) - (br_if 0 (i64.le_u (local.get 0) (local.get 1))) - ) - ) - (local.get 2) - ) -) - -(assert_return (invoke "check-memory-zero" (i64.const 0) (i64.const 0xffff)) (i32.const 0)) -(assert_return (invoke "grow" (i64.const 1)) (i64.const 1)) -(assert_return (invoke "check-memory-zero" (i64.const 0x10000) (i64.const 0x1_ffff)) (i32.const 0)) -(assert_return (invoke "grow" (i64.const 1)) (i64.const 2)) -(assert_return (invoke "check-memory-zero" (i64.const 0x20000) (i64.const 0x2_ffff)) (i32.const 0)) -(assert_return (invoke "grow" (i64.const 1)) (i64.const 3)) -(assert_return (invoke "check-memory-zero" (i64.const 0x30000) (i64.const 0x3_ffff)) (i32.const 0)) -(assert_return (invoke "grow" (i64.const 1)) (i64.const 4)) -(assert_return (invoke "check-memory-zero" (i64.const 0x40000) (i64.const 0x4_ffff)) (i32.const 0)) -(assert_return (invoke "grow" (i64.const 1)) (i64.const 5)) -(assert_return (invoke "check-memory-zero" (i64.const 0x50000) (i64.const 0x5_ffff)) (i32.const 0)) diff --git a/test/spec/memory_redundancy.wast b/test/spec/memory_redundancy.wast deleted file mode 100644 index dd317311b..000000000 --- a/test/spec/memory_redundancy.wast +++ /dev/null @@ -1,65 +0,0 @@ -;; Test that optimizers don't do redundant-load, store-to-load, or dead-store -;; optimizations when there are interfering stores, even of different types -;; and to non-identical addresses. - -(module - (memory 1 1) - - (func (export "zero_everything") - (i32.store (i32.const 0) (i32.const 0)) - (i32.store (i32.const 4) (i32.const 0)) - (i32.store (i32.const 8) (i32.const 0)) - (i32.store (i32.const 12) (i32.const 0)) - ) - - (func (export "test_store_to_load") (result i32) - (i32.store (i32.const 8) (i32.const 0)) - (f32.store (i32.const 5) (f32.const -0.0)) - (i32.load (i32.const 8)) - ) - - (func (export "test_redundant_load") (result i32) - (local $t i32) - (local $s i32) - (local.set $t (i32.load (i32.const 8))) - (i32.store (i32.const 5) (i32.const 0x80000000)) - (local.set $s (i32.load (i32.const 8))) - (i32.add (local.get $t) (local.get $s)) - ) - - (func (export "test_dead_store") (result f32) - (local $t f32) - (i32.store (i32.const 8) (i32.const 0x23232323)) - (local.set $t (f32.load (i32.const 11))) - (i32.store (i32.const 8) (i32.const 0)) - (local.get $t) - ) - - ;; A function named "malloc" which implementations nonetheless shouldn't - ;; assume behaves like C malloc. - (func $malloc (export "malloc") - (param $size i32) - (result i32) - (i32.const 16) - ) - - ;; Call malloc twice, but unlike C malloc, we don't get non-aliasing pointers. - (func (export "malloc_aliasing") - (result i32) - (local $x i32) - (local $y i32) - (local.set $x (call $malloc (i32.const 4))) - (local.set $y (call $malloc (i32.const 4))) - (i32.store (local.get $x) (i32.const 42)) - (i32.store (local.get $y) (i32.const 43)) - (i32.load (local.get $x)) - ) -) - -(assert_return (invoke "test_store_to_load") (i32.const 0x00000080)) -(invoke "zero_everything") -(assert_return (invoke "test_redundant_load") (i32.const 0x00000080)) -(invoke "zero_everything") -(assert_return (invoke "test_dead_store") (f32.const 0x1.18p-144)) -(invoke "zero_everything") -(assert_return (invoke "malloc_aliasing") (i32.const 43)) diff --git a/test/spec/memory_redundancy64.wast b/test/spec/memory_redundancy64.wast deleted file mode 100644 index 4aa1ebac1..000000000 --- a/test/spec/memory_redundancy64.wast +++ /dev/null @@ -1,65 +0,0 @@ -;; Test that optimizers don't do redundant-load, store-to-load, or dead-store -;; optimizations when there are interfering stores, even of different types -;; and to non-identical addresses. - -(module - (memory i64 1 1) - - (func (export "zero_everything") - (i32.store (i64.const 0) (i32.const 0)) - (i32.store (i64.const 4) (i32.const 0)) - (i32.store (i64.const 8) (i32.const 0)) - (i32.store (i64.const 12) (i32.const 0)) - ) - - (func (export "test_store_to_load") (result i32) - (i32.store (i64.const 8) (i32.const 0)) - (f32.store (i64.const 5) (f32.const -0.0)) - (i32.load (i64.const 8)) - ) - - (func (export "test_redundant_load") (result i32) - (local $t i32) - (local $s i32) - (local.set $t (i32.load (i64.const 8))) - (i32.store (i64.const 5) (i32.const 0x80000000)) - (local.set $s (i32.load (i64.const 8))) - (i32.add (local.get $t) (local.get $s)) - ) - - (func (export "test_dead_store") (result f32) - (local $t f32) - (i32.store (i64.const 8) (i32.const 0x23232323)) - (local.set $t (f32.load (i64.const 11))) - (i32.store (i64.const 8) (i32.const 0)) - (local.get $t) - ) - - ;; A function named "malloc" which implementations nonetheless shouldn't - ;; assume behaves like C malloc. - (func $malloc (export "malloc") - (param $size i64) - (result i64) - (i64.const 16) - ) - - ;; Call malloc twice, but unlike C malloc, we don't get non-aliasing pointers. - (func (export "malloc_aliasing") - (result i32) - (local $x i64) - (local $y i64) - (local.set $x (call $malloc (i64.const 4))) - (local.set $y (call $malloc (i64.const 4))) - (i32.store (local.get $x) (i32.const 42)) - (i32.store (local.get $y) (i32.const 43)) - (i32.load (local.get $x)) - ) -) - -(assert_return (invoke "test_store_to_load") (i32.const 0x00000080)) -(invoke "zero_everything") -(assert_return (invoke "test_redundant_load") (i32.const 0x00000080)) -(invoke "zero_everything") -(assert_return (invoke "test_dead_store") (f32.const 0x1.18p-144)) -(invoke "zero_everything") -(assert_return (invoke "malloc_aliasing") (i32.const 43)) diff --git a/test/spec/memory_size.wast b/test/spec/memory_size.wast deleted file mode 100644 index 239e66d8f..000000000 --- a/test/spec/memory_size.wast +++ /dev/null @@ -1,85 +0,0 @@ -(module - (memory 0) - (func (export "size") (result i32) (memory.size)) - (func (export "grow") (param $sz i32) (drop (memory.grow (local.get $sz)))) -) - -(assert_return (invoke "size") (i32.const 0)) -(assert_return (invoke "grow" (i32.const 1))) -(assert_return (invoke "size") (i32.const 1)) -(assert_return (invoke "grow" (i32.const 4))) -(assert_return (invoke "size") (i32.const 5)) -(assert_return (invoke "grow" (i32.const 0))) -(assert_return (invoke "size") (i32.const 5)) - -(module - (memory 1) - (func (export "size") (result i32) (memory.size)) - (func (export "grow") (param $sz i32) (drop (memory.grow (local.get $sz)))) -) - -(assert_return (invoke "size") (i32.const 1)) -(assert_return (invoke "grow" (i32.const 1))) -(assert_return (invoke "size") (i32.const 2)) -(assert_return (invoke "grow" (i32.const 4))) -(assert_return (invoke "size") (i32.const 6)) -(assert_return (invoke "grow" (i32.const 0))) -(assert_return (invoke "size") (i32.const 6)) - -(module - (memory 0 2) - (func (export "size") (result i32) (memory.size)) - (func (export "grow") (param $sz i32) (drop (memory.grow (local.get $sz)))) -) - -(assert_return (invoke "size") (i32.const 0)) -(assert_return (invoke "grow" (i32.const 3))) -(assert_return (invoke "size") (i32.const 0)) -(assert_return (invoke "grow" (i32.const 1))) -(assert_return (invoke "size") (i32.const 1)) -(assert_return (invoke "grow" (i32.const 0))) -(assert_return (invoke "size") (i32.const 1)) -(assert_return (invoke "grow" (i32.const 4))) -(assert_return (invoke "size") (i32.const 1)) -(assert_return (invoke "grow" (i32.const 1))) -(assert_return (invoke "size") (i32.const 2)) - -(module - (memory 3 8) - (func (export "size") (result i32) (memory.size)) - (func (export "grow") (param $sz i32) (drop (memory.grow (local.get $sz)))) -) - -(assert_return (invoke "size") (i32.const 3)) -(assert_return (invoke "grow" (i32.const 1))) -(assert_return (invoke "size") (i32.const 4)) -(assert_return (invoke "grow" (i32.const 3))) -(assert_return (invoke "size") (i32.const 7)) -(assert_return (invoke "grow" (i32.const 0))) -(assert_return (invoke "size") (i32.const 7)) -(assert_return (invoke "grow" (i32.const 2))) -(assert_return (invoke "size") (i32.const 7)) -(assert_return (invoke "grow" (i32.const 1))) -(assert_return (invoke "size") (i32.const 8)) - - -;; Type errors - -(assert_invalid - (module - (memory 1) - (func $type-result-i32-vs-empty - (memory.size) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-result-i32-vs-f32 (result f32) - (memory.size) - ) - ) - "type mismatch" -) diff --git a/test/spec/memory_trap.wast b/test/spec/memory_trap.wast deleted file mode 100644 index a4156fe2c..000000000 --- a/test/spec/memory_trap.wast +++ /dev/null @@ -1,270 +0,0 @@ -(module - (memory 1) - - (func $addr_limit (result i32) - (i32.mul (memory.size) (i32.const 0x10000)) - ) - - (func (export "store") (param $i i32) (param $v i32) - (i32.store (i32.add (call $addr_limit) (local.get $i)) (local.get $v)) - ) - - (func (export "load") (param $i i32) (result i32) - (i32.load (i32.add (call $addr_limit) (local.get $i))) - ) - - (func (export "memory.grow") (param i32) (result i32) - (memory.grow (local.get 0)) - ) -) - -(assert_return (invoke "store" (i32.const -4) (i32.const 42))) -(assert_return (invoke "load" (i32.const -4)) (i32.const 42)) -(assert_trap (invoke "store" (i32.const -3) (i32.const 13)) "out of bounds memory access") -(assert_trap (invoke "load" (i32.const -3)) "out of bounds memory access") -(assert_trap (invoke "store" (i32.const -2) (i32.const 13)) "out of bounds memory access") -(assert_trap (invoke "load" (i32.const -2)) "out of bounds memory access") -(assert_trap (invoke "store" (i32.const -1) (i32.const 13)) "out of bounds memory access") -(assert_trap (invoke "load" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "store" (i32.const 0) (i32.const 13)) "out of bounds memory access") -(assert_trap (invoke "load" (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "store" (i32.const 0x80000000) (i32.const 13)) "out of bounds memory access") -(assert_trap (invoke "load" (i32.const 0x80000000)) "out of bounds memory access") -(assert_return (invoke "memory.grow" (i32.const 0x10001)) (i32.const -1)) - -(module - (memory 1) - (data (i32.const 0) "abcdefgh") - (data (i32.const 0xfff8) "abcdefgh") - - (func (export "i32.load") (param $a i32) (result i32) - (i32.load (local.get $a)) - ) - (func (export "i64.load") (param $a i32) (result i64) - (i64.load (local.get $a)) - ) - (func (export "f32.load") (param $a i32) (result f32) - (f32.load (local.get $a)) - ) - (func (export "f64.load") (param $a i32) (result f64) - (f64.load (local.get $a)) - ) - (func (export "i32.load8_s") (param $a i32) (result i32) - (i32.load8_s (local.get $a)) - ) - (func (export "i32.load8_u") (param $a i32) (result i32) - (i32.load8_u (local.get $a)) - ) - (func (export "i32.load16_s") (param $a i32) (result i32) - (i32.load16_s (local.get $a)) - ) - (func (export "i32.load16_u") (param $a i32) (result i32) - (i32.load16_u (local.get $a)) - ) - (func (export "i64.load8_s") (param $a i32) (result i64) - (i64.load8_s (local.get $a)) - ) - (func (export "i64.load8_u") (param $a i32) (result i64) - (i64.load8_u (local.get $a)) - ) - (func (export "i64.load16_s") (param $a i32) (result i64) - (i64.load16_s (local.get $a)) - ) - (func (export "i64.load16_u") (param $a i32) (result i64) - (i64.load16_u (local.get $a)) - ) - (func (export "i64.load32_s") (param $a i32) (result i64) - (i64.load32_s (local.get $a)) - ) - (func (export "i64.load32_u") (param $a i32) (result i64) - (i64.load32_u (local.get $a)) - ) - (func (export "i32.store") (param $a i32) (param $v i32) - (i32.store (local.get $a) (local.get $v)) - ) - (func (export "i64.store") (param $a i32) (param $v i64) - (i64.store (local.get $a) (local.get $v)) - ) - (func (export "f32.store") (param $a i32) (param $v f32) - (f32.store (local.get $a) (local.get $v)) - ) - (func (export "f64.store") (param $a i32) (param $v f64) - (f64.store (local.get $a) (local.get $v)) - ) - (func (export "i32.store8") (param $a i32) (param $v i32) - (i32.store8 (local.get $a) (local.get $v)) - ) - (func (export "i32.store16") (param $a i32) (param $v i32) - (i32.store16 (local.get $a) (local.get $v)) - ) - (func (export "i64.store8") (param $a i32) (param $v i64) - (i64.store8 (local.get $a) (local.get $v)) - ) - (func (export "i64.store16") (param $a i32) (param $v i64) - (i64.store16 (local.get $a) (local.get $v)) - ) - (func (export "i64.store32") (param $a i32) (param $v i64) - (i64.store32 (local.get $a) (local.get $v)) - ) -) - -(assert_trap (invoke "i32.store" (i32.const 0x10000) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i32.const 0xffff) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i32.const 0xfffe) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i32.const 0xfffd) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i32.const -1) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i32.const -2) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i32.const -3) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i32.const -4) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const 0x10000) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const 0xffff) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const 0xfffe) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const 0xfffd) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const 0xfffc) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const 0xfffb) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const 0xfffa) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const 0xfff9) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const -1) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const -2) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const -3) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const -4) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const -5) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const -6) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const -7) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i32.const -8) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i32.const 0x10000) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i32.const 0xffff) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i32.const 0xfffe) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i32.const 0xfffd) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i32.const -1) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i32.const -2) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i32.const -3) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i32.const -4) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const 0x10000) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const 0xffff) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const 0xfffe) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const 0xfffd) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const 0xfffc) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const 0xfffb) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const 0xfffa) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const 0xfff9) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const -1) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const -2) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const -3) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const -4) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const -5) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const -6) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const -7) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i32.const -8) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store8" (i32.const 0x10000) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store8" (i32.const -1) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store16" (i32.const 0x10000) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store16" (i32.const 0xffff) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store16" (i32.const -1) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store16" (i32.const -2) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store8" (i32.const 0x10000) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store8" (i32.const -1) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store16" (i32.const 0x10000) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store16" (i32.const 0xffff) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store16" (i32.const -1) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store16" (i32.const -2) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i32.const 0x10000) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i32.const 0xffff) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i32.const 0xfffe) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i32.const 0xfffd) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i32.const -1) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i32.const -2) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i32.const -3) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i32.const -4) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i32.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i32.const 0xfffe)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i32.const 0xfffd)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i32.const -2)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i32.const -3)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i32.const -4)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const 0xfffe)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const 0xfffd)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const 0xfffc)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const 0xfffb)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const 0xfffa)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const 0xfff9)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const -2)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const -3)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const -4)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const -5)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const -6)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const -7)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i32.const -8)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i32.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i32.const 0xfffe)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i32.const 0xfffd)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i32.const -2)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i32.const -3)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i32.const -4)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const 0xfffe)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const 0xfffd)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const 0xfffc)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const 0xfffb)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const 0xfffa)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const 0xfff9)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const -2)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const -3)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const -4)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const -5)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const -6)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const -7)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i32.const -8)) "out of bounds memory access") -(assert_trap (invoke "i32.load8_s" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i32.load8_s" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "i32.load8_u" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i32.load8_u" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_s" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_s" (i32.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_s" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_s" (i32.const -2)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_u" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_u" (i32.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_u" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_u" (i32.const -2)) "out of bounds memory access") -(assert_trap (invoke "i64.load8_s" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load8_s" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load8_u" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load8_u" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_s" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_s" (i32.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_s" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_s" (i32.const -2)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_u" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_u" (i32.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_u" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_u" (i32.const -2)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i32.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i32.const 0xfffe)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i32.const 0xfffd)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i32.const -2)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i32.const -3)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i32.const -4)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i32.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i32.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i32.const 0xfffe)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i32.const 0xfffd)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i32.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i32.const -2)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i32.const -3)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i32.const -4)) "out of bounds memory access") - -;; No memory was changed -(assert_return (invoke "i64.load" (i32.const 0xfff8)) (i64.const 0x6867666564636261)) -(assert_return (invoke "i64.load" (i32.const 0)) (i64.const 0x6867666564636261)) diff --git a/test/spec/memory_trap64.wast b/test/spec/memory_trap64.wast deleted file mode 100644 index 78d39d87b..000000000 --- a/test/spec/memory_trap64.wast +++ /dev/null @@ -1,269 +0,0 @@ -(module - (memory i64 1) - - (func $addr_limit (result i64) - (i64.mul (memory.size) (i64.const 0x10000)) - ) - - (func (export "store") (param $i i64) (param $v i32) - (i32.store (i64.add (call $addr_limit) (local.get $i)) (local.get $v)) - ) - - (func (export "load") (param $i i64) (result i32) - (i32.load (i64.add (call $addr_limit) (local.get $i))) - ) - - (func (export "memory.grow") (param i64) (result i64) - (memory.grow (local.get 0)) - ) -) - -(assert_return (invoke "store" (i64.const -4) (i32.const 42))) -(assert_return (invoke "load" (i64.const -4)) (i32.const 42)) -(assert_trap (invoke "store" (i64.const -3) (i32.const 13)) "out of bounds memory access") -(assert_trap (invoke "load" (i64.const -3)) "out of bounds memory access") -(assert_trap (invoke "store" (i64.const -2) (i32.const 13)) "out of bounds memory access") -(assert_trap (invoke "load" (i64.const -2)) "out of bounds memory access") -(assert_trap (invoke "store" (i64.const -1) (i32.const 13)) "out of bounds memory access") -(assert_trap (invoke "load" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "store" (i64.const 0) (i32.const 13)) "out of bounds memory access") -(assert_trap (invoke "load" (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "store" (i64.const 0x80000000) (i32.const 13)) "out of bounds memory access") -(assert_trap (invoke "load" (i64.const 0x80000000)) "out of bounds memory access") - -(module - (memory i64 1) - (data (i64.const 0) "abcdefgh") - (data (i64.const 0xfff8) "abcdefgh") - - (func (export "i32.load") (param $a i64) (result i32) - (i32.load (local.get $a)) - ) - (func (export "i64.load") (param $a i64) (result i64) - (i64.load (local.get $a)) - ) - (func (export "f32.load") (param $a i64) (result f32) - (f32.load (local.get $a)) - ) - (func (export "f64.load") (param $a i64) (result f64) - (f64.load (local.get $a)) - ) - (func (export "i32.load8_s") (param $a i64) (result i32) - (i32.load8_s (local.get $a)) - ) - (func (export "i32.load8_u") (param $a i64) (result i32) - (i32.load8_u (local.get $a)) - ) - (func (export "i32.load16_s") (param $a i64) (result i32) - (i32.load16_s (local.get $a)) - ) - (func (export "i32.load16_u") (param $a i64) (result i32) - (i32.load16_u (local.get $a)) - ) - (func (export "i64.load8_s") (param $a i64) (result i64) - (i64.load8_s (local.get $a)) - ) - (func (export "i64.load8_u") (param $a i64) (result i64) - (i64.load8_u (local.get $a)) - ) - (func (export "i64.load16_s") (param $a i64) (result i64) - (i64.load16_s (local.get $a)) - ) - (func (export "i64.load16_u") (param $a i64) (result i64) - (i64.load16_u (local.get $a)) - ) - (func (export "i64.load32_s") (param $a i64) (result i64) - (i64.load32_s (local.get $a)) - ) - (func (export "i64.load32_u") (param $a i64) (result i64) - (i64.load32_u (local.get $a)) - ) - (func (export "i32.store") (param $a i64) (param $v i32) - (i32.store (local.get $a) (local.get $v)) - ) - (func (export "i64.store") (param $a i64) (param $v i64) - (i64.store (local.get $a) (local.get $v)) - ) - (func (export "f32.store") (param $a i64) (param $v f32) - (f32.store (local.get $a) (local.get $v)) - ) - (func (export "f64.store") (param $a i64) (param $v f64) - (f64.store (local.get $a) (local.get $v)) - ) - (func (export "i32.store8") (param $a i64) (param $v i32) - (i32.store8 (local.get $a) (local.get $v)) - ) - (func (export "i32.store16") (param $a i64) (param $v i32) - (i32.store16 (local.get $a) (local.get $v)) - ) - (func (export "i64.store8") (param $a i64) (param $v i64) - (i64.store8 (local.get $a) (local.get $v)) - ) - (func (export "i64.store16") (param $a i64) (param $v i64) - (i64.store16 (local.get $a) (local.get $v)) - ) - (func (export "i64.store32") (param $a i64) (param $v i64) - (i64.store32 (local.get $a) (local.get $v)) - ) -) - -(assert_trap (invoke "i32.store" (i64.const 0x10000) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i64.const 0xffff) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i64.const 0xfffe) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i64.const 0xfffd) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i64.const -1) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i64.const -2) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i64.const -3) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store" (i64.const -4) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const 0x10000) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const 0xffff) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const 0xfffe) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const 0xfffd) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const 0xfffc) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const 0xfffb) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const 0xfffa) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const 0xfff9) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const -1) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const -2) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const -3) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const -4) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const -5) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const -6) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const -7) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store" (i64.const -8) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i64.const 0x10000) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i64.const 0xffff) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i64.const 0xfffe) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i64.const 0xfffd) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i64.const -1) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i64.const -2) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i64.const -3) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f32.store" (i64.const -4) (f32.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const 0x10000) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const 0xffff) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const 0xfffe) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const 0xfffd) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const 0xfffc) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const 0xfffb) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const 0xfffa) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const 0xfff9) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const -1) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const -2) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const -3) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const -4) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const -5) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const -6) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const -7) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "f64.store" (i64.const -8) (f64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store8" (i64.const 0x10000) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store8" (i64.const -1) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store16" (i64.const 0x10000) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store16" (i64.const 0xffff) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store16" (i64.const -1) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.store16" (i64.const -2) (i32.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store8" (i64.const 0x10000) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store8" (i64.const -1) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store16" (i64.const 0x10000) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store16" (i64.const 0xffff) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store16" (i64.const -1) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store16" (i64.const -2) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i64.const 0x10000) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i64.const 0xffff) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i64.const 0xfffe) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i64.const 0xfffd) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i64.const -1) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i64.const -2) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i64.const -3) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i64.store32" (i64.const -4) (i64.const 0)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i64.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i64.const 0xfffe)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i64.const 0xfffd)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i64.const -2)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i64.const -3)) "out of bounds memory access") -(assert_trap (invoke "i32.load" (i64.const -4)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const 0xfffe)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const 0xfffd)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const 0xfffc)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const 0xfffb)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const 0xfffa)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const 0xfff9)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const -2)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const -3)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const -4)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const -5)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const -6)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const -7)) "out of bounds memory access") -(assert_trap (invoke "i64.load" (i64.const -8)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i64.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i64.const 0xfffe)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i64.const 0xfffd)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i64.const -2)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i64.const -3)) "out of bounds memory access") -(assert_trap (invoke "f32.load" (i64.const -4)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const 0xfffe)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const 0xfffd)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const 0xfffc)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const 0xfffb)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const 0xfffa)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const 0xfff9)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const -2)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const -3)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const -4)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const -5)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const -6)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const -7)) "out of bounds memory access") -(assert_trap (invoke "f64.load" (i64.const -8)) "out of bounds memory access") -(assert_trap (invoke "i32.load8_s" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i32.load8_s" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "i32.load8_u" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i32.load8_u" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_s" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_s" (i64.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_s" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_s" (i64.const -2)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_u" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_u" (i64.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_u" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "i32.load16_u" (i64.const -2)) "out of bounds memory access") -(assert_trap (invoke "i64.load8_s" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load8_s" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load8_u" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load8_u" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_s" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_s" (i64.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_s" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_s" (i64.const -2)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_u" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_u" (i64.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_u" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load16_u" (i64.const -2)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i64.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i64.const 0xfffe)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i64.const 0xfffd)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i64.const -2)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i64.const -3)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_s" (i64.const -4)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i64.const 0x10000)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i64.const 0xffff)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i64.const 0xfffe)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i64.const 0xfffd)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i64.const -1)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i64.const -2)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i64.const -3)) "out of bounds memory access") -(assert_trap (invoke "i64.load32_u" (i64.const -4)) "out of bounds memory access") - -;; No memory was changed -(assert_return (invoke "i64.load" (i64.const 0xfff8)) (i64.const 0x6867666564636261)) -(assert_return (invoke "i64.load" (i64.const 0)) (i64.const 0x6867666564636261)) diff --git a/test/spec/names.wast b/test/spec/names.wast deleted file mode 100644 index 9c53234cf..000000000 --- a/test/spec/names.wast +++ /dev/null @@ -1,1107 +0,0 @@ -;; Test files can define multiple modules. Test that implementations treat -;; each module independently from the other. - -(module - (func (export "foo") (result i32) (i32.const 0)) -) - -(assert_return (invoke "foo") (i32.const 0)) - -;; Another module, same function name, different contents. - -(module - (func (export "foo") (result i32) (i32.const 1)) -) - -(assert_return (invoke "foo") (i32.const 1)) - - -(module - ;; Test that we can use the empty string as a symbol. - (func (export "") (result i32) (i32.const 0)) - - ;; Test that we can use names beginning with a digit. - (func (export "0") (result i32) (i32.const 1)) - - ;; Test that we can use names beginning with a dash. - (func (export "-0") (result i32) (i32.const 2)) - - ;; Test that we can use names beginning with an underscore. - (func (export "_") (result i32) (i32.const 3)) - - ;; Test that we can use names beginning with a dollar sign. - (func (export "$") (result i32) (i32.const 4)) - - ;; Test that we can use names beginning with an at sign. - (func (export "@") (result i32) (i32.const 5)) - - ;; Test that we can use non-alphanumeric names. - (func (export "~!@#$%^&*()_+`-={}|[]\\:\";'<>?,./ ") (result i32) (i32.const 6)) - - ;; Test that we can use names that have special meaning in JS. - (func (export "NaN") (result i32) (i32.const 7)) - (func (export "Infinity") (result i32) (i32.const 8)) - (func (export "if") (result i32) (i32.const 9)) - - ;; Test that we can use common libc names without conflict. - (func (export "malloc") (result i32) (i32.const 10)) - - ;; Test that we can use some libc hidden names without conflict. - (func (export "_malloc") (result i32) (i32.const 11)) - (func (export "__malloc") (result i32) (i32.const 12)) - - ;; Test that names are case-sensitive. - (func (export "a") (result i32) (i32.const 13)) - (func (export "A") (result i32) (i32.const 14)) - - ;; Test that UTF-8 BOM code points can appear in identifiers. - (func (export "") (result i32) (i32.const 15)) - - ;; Test that Unicode normalization is not applied. These function names - ;; contain different codepoints which normalize to the same thing under - ;; NFC or NFD. - (func (export "Å") (result i32) (i32.const 16)) - (func (export "Å") (result i32) (i32.const 17)) - (func (export "Å") (result i32) (i32.const 18)) - - ;; Test that Unicode compatibility normalization is not applied. These - ;; function names contain different codepoints which normalize to the - ;; same thing under NFKC or NFKD. - (func (export "ffi") (result i32) (i32.const 19)) - (func (export "ffi") (result i32) (i32.const 20)) - (func (export "ffi") (result i32) (i32.const 21)) - - ;; Test the C0 control codes. - (func (export "\00\01\02\03\04\05\06\07\08\09\0a\0b\0c\0d\0e\0f") (result i32) (i32.const 22)) - (func (export "\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f") (result i32) (i32.const 23)) - ;; Test miscellaneous control codes. - (func (export " \7f") (result i32) (i32.const 24)) - ;; Test the C1 control codes. - (func (export "\c2\80\c2\81\c2\82\c2\83\c2\84\c2\85\c2\86\c2\87\c2\88\c2\89\c2\8a\c2\8b\c2\8c\c2\8d\c2\8e\c2\8f") (result i32) (i32.const 25)) - (func (export "\c2\90\c2\91\c2\92\c2\93\c2\94\c2\95\c2\96\c2\97\c2\98\c2\99\c2\9a\c2\9b\c2\9c\c2\9d\c2\9e\c2\9f") (result i32) (i32.const 26)) - ;; Test the Unicode Specials. - (func (export "\ef\bf\b0\ef\bf\b1\ef\bf\b2\ef\bf\b3\ef\bf\b4\ef\bf\b5\ef\bf\b6\ef\bf\b7") (result i32) (i32.const 27)) - (func (export "\ef\bf\b8\ef\bf\b9\ef\bf\ba\ef\bf\bb\ef\bf\bc\ef\bf\bd\ef\bf\be\ef\bf\bf") (result i32) (i32.const 28)) - - ;; Test that the control pictures are distinct from the control codes they - ;; depict. These correspond to the C0 and miscellaneous control code tests - ;; above. - (func (export "␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏") (result i32) (i32.const 29)) - (func (export "␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟") (result i32) (i32.const 30)) - (func (export "␠␡") (result i32) (i32.const 31)) - - ;; Test the Unicode Specials in non-escaped form (excluding U+FFFE and - ;; U+FFFF, so that generic tools don't detect this file as non-UTF-8). - (func (export "�") (result i32) (i32.const 32)) - - ;; Test a bare ZWJ code point. - (func (export "") (result i32) (i32.const 33)) - ;; Test a bare ZWNJ code point. - (func (export "") (result i32) (i32.const 34)) - - ;; Test various bare joiner code points. - (func (export "͏") (result i32) (i32.const 35)) - (func (export "") (result i32) (i32.const 36)) - (func (export "⵿") (result i32) (i32.const 37)) - (func (export "𑁿") (result i32) (i32.const 38)) - (func (export "") (result i32) (i32.const 39)) - - ;; Test various interesting code points: reverse BOM, zero-width space, - ;; no-break space, soft hyphen, word joiner, ogham space mark, - ;; right-to-left override, left-to-right override. - (func (export " ") (result i32) (i32.const 40)) - - ;; Test more interesting code points: left-to-right mark, right-to-left mark, - ;; non-breaking hyphen, line separator, paragraph separator, - ;; left-to-right embedding, right-to-left embedding, - ;; pop directional formatting, narrow no-break space, left-to-right isolate, - ;; right-to-left isolate, first strong isolate, pop directional isolate. - (func (export "‑
") (result i32) (i32.const 41)) - - ;; Test some deprecated code points: inhibit symmetric swapping, - ;; activate symmetric swapping, inhibit arabic form shaping, - ;; activate arabic form shaping, national digit shapes, nominal digit shapes. - (func (export "") (result i32) (i32.const 42)) - - ;; Test "invisible" operator code points. - (func (export "") (result i32) (i32.const 43)) - - ;; Test that code points outside the BMP are supported. - (func (export "𐀀") (result i32) (i32.const 44)) - - ;; Test that WebAssembly implementations cope in the presence of Zalgo. - (func (export "Z̴͇̫̥̪͓͈͔͎̗̞̺̯̱̞̙̱̜̖̠̏͆̆͛͌͘͞ḁ̶̰̳̭͙̲̱̹̝͎̼͗ͨ̎̄̆͗̿̀́͟͡l̶̷͉̩̹̫̝͖̙̲̼͇͚͍̮͎̥̞̈́͊͗ͦ̈́ͫ̇́̚ͅͅg̶͕͔͚̩̓̐̅ͮ̔̐̎̂̏̾͊̍͋͊ͧ́̆ͦ͞o̡͋̔͐ͪͩ͏̢̧̫̙̤̮͖͙͓̺̜̩̼̘̠́") (result i32) (i32.const 45)) - - ;; Test Hangul filler code points. - (func (export "ᅟᅠㅤᅠ") (result i32) (i32.const 46)) - - ;; Test variation selectors (which are also ID_Continue code points). - (func (export "︀") (result i32) (i32.const 47)) - (func (export "︄") (result i32) (i32.const 48)) - (func (export "󠄀") (result i32) (i32.const 49)) - (func (export "󠇯") (result i32) (i32.const 50)) - - ;; Test an uncombined combining code point. - (func (export "̈") (result i32) (i32.const 51)) - - ;; Test that numerous different present and historical representations of the - ;; "newline" concept are distinct. Tests largely inspired by: - ;; https://en.wikipedia.org/wiki/Newline#Representations - ;; https://en.wikipedia.org/wiki/Newline#Unicode and - ;; https://en.wikipedia.org/wiki/Newline#Reverse_and_partial_line_feeds - (func (export "\0a") (result i32) (i32.const 52)) - (func (export "") (result i32) (i32.const 53)) - (func (export "
") (result i32) (i32.const 54)) - (func (export "\0d") (result i32) (i32.const 55)) - (func (export "\0d\0a") (result i32) (i32.const 56)) - (func (export "\0a\0d") (result i32) (i32.const 57)) - (func (export "\1e") (result i32) (i32.const 58)) - (func (export "\0b") (result i32) (i32.const 59)) - (func (export "\0c") (result i32) (i32.const 60)) - (func (export "\c2\85") (result i32) (i32.const 61)) - (func (export "
") (result i32) (i32.const 62)) - (func (export "…") (result i32) (i32.const 63)) - (func (export "⏎") (result i32) (i32.const 64)) - (func (export "\c2\8b") (result i32) (i32.const 65)) - (func (export "\c2\8c") (result i32) (i32.const 66)) - (func (export "\c2\8d") (result i32) (i32.const 67)) - (func (export "↵") (result i32) (i32.const 68)) - (func (export "↩") (result i32) (i32.const 69)) - (func (export "⌤") (result i32) (i32.const 70)) - (func (export "⤶") (result i32) (i32.const 71)) - (func (export "↲") (result i32) (i32.const 72)) - (func (export "⮨") (result i32) (i32.const 73)) - (func (export "⮰") (result i32) (i32.const 74)) - - ;; Test that non-characters are not replaced by the replacement character. - (func (export "�") (result i32) (i32.const 75)) - (func (export "\ef\b7\90") (result i32) (i32.const 76)) - (func (export "\ef\b7\91") (result i32) (i32.const 77)) - (func (export "\ef\b7\92") (result i32) (i32.const 78)) - (func (export "\ef\b7\93") (result i32) (i32.const 79)) - (func (export "\ef\b7\94") (result i32) (i32.const 80)) - (func (export "\ef\b7\95") (result i32) (i32.const 81)) - (func (export "\ef\b7\96") (result i32) (i32.const 82)) - (func (export "\ef\b7\97") (result i32) (i32.const 83)) - (func (export "\ef\b7\98") (result i32) (i32.const 84)) - (func (export "\ef\b7\99") (result i32) (i32.const 85)) - (func (export "\ef\b7\9a") (result i32) (i32.const 86)) - (func (export "\ef\b7\9b") (result i32) (i32.const 87)) - (func (export "\ef\b7\9c") (result i32) (i32.const 88)) - (func (export "\ef\b7\9d") (result i32) (i32.const 89)) - (func (export "\ef\b7\9e") (result i32) (i32.const 90)) - (func (export "\ef\b7\9f") (result i32) (i32.const 91)) - (func (export "\ef\b7\a0") (result i32) (i32.const 92)) - (func (export "\ef\b7\a1") (result i32) (i32.const 93)) - (func (export "\ef\b7\a2") (result i32) (i32.const 94)) - (func (export "\ef\b7\a3") (result i32) (i32.const 95)) - (func (export "\ef\b7\a4") (result i32) (i32.const 96)) - (func (export "\ef\b7\a5") (result i32) (i32.const 97)) - (func (export "\ef\b7\a6") (result i32) (i32.const 98)) - (func (export "\ef\b7\a7") (result i32) (i32.const 99)) - (func (export "\ef\b7\a8") (result i32) (i32.const 100)) - (func (export "\ef\b7\a9") (result i32) (i32.const 101)) - (func (export "\ef\b7\aa") (result i32) (i32.const 102)) - (func (export "\ef\b7\ab") (result i32) (i32.const 103)) - (func (export "\ef\b7\ac") (result i32) (i32.const 104)) - (func (export "\ef\b7\ad") (result i32) (i32.const 105)) - (func (export "\ef\b7\ae") (result i32) (i32.const 106)) - (func (export "\ef\b7\af") (result i32) (i32.const 107)) - (func (export "\ef\bf\be") (result i32) (i32.const 108)) - (func (export "\ef\bf\bf") (result i32) (i32.const 109)) - (func (export "\f0\9f\bf\be") (result i32) (i32.const 110)) - (func (export "\f0\9f\bf\bf") (result i32) (i32.const 111)) - (func (export "\f0\af\bf\be") (result i32) (i32.const 112)) - (func (export "\f0\af\bf\bf") (result i32) (i32.const 113)) - (func (export "\f0\bf\bf\be") (result i32) (i32.const 114)) - (func (export "\f0\bf\bf\bf") (result i32) (i32.const 115)) - (func (export "\f1\8f\bf\be") (result i32) (i32.const 116)) - (func (export "\f1\8f\bf\bf") (result i32) (i32.const 117)) - (func (export "\f1\9f\bf\be") (result i32) (i32.const 118)) - (func (export "\f1\9f\bf\bf") (result i32) (i32.const 119)) - (func (export "\f1\af\bf\be") (result i32) (i32.const 120)) - (func (export "\f1\af\bf\bf") (result i32) (i32.const 121)) - (func (export "\f1\bf\bf\be") (result i32) (i32.const 122)) - (func (export "\f1\bf\bf\bf") (result i32) (i32.const 123)) - (func (export "\f2\8f\bf\be") (result i32) (i32.const 124)) - (func (export "\f2\8f\bf\bf") (result i32) (i32.const 125)) - (func (export "\f2\9f\bf\be") (result i32) (i32.const 126)) - (func (export "\f2\9f\bf\bf") (result i32) (i32.const 127)) - (func (export "\f2\af\bf\be") (result i32) (i32.const 128)) - (func (export "\f2\af\bf\bf") (result i32) (i32.const 129)) - (func (export "\f2\bf\bf\be") (result i32) (i32.const 130)) - (func (export "\f2\bf\bf\bf") (result i32) (i32.const 131)) - (func (export "\f3\8f\bf\be") (result i32) (i32.const 132)) - (func (export "\f3\8f\bf\bf") (result i32) (i32.const 133)) - (func (export "\f3\9f\bf\be") (result i32) (i32.const 134)) - (func (export "\f3\9f\bf\bf") (result i32) (i32.const 135)) - (func (export "\f3\af\bf\be") (result i32) (i32.const 136)) - (func (export "\f3\af\bf\bf") (result i32) (i32.const 137)) - (func (export "\f3\bf\bf\be") (result i32) (i32.const 138)) - (func (export "\f3\bf\bf\bf") (result i32) (i32.const 139)) - (func (export "\f4\8f\bf\be") (result i32) (i32.const 140)) - (func (export "\f4\8f\bf\bf") (result i32) (i32.const 141)) - - ;; Test an interrobang with combining diacritical marks above. - ;; https://xkcd.com/1209/ - (func (export "̈‽̈̉") (result i32) (i32.const 142)) - - ;; Test that RLM/LRM don't change the logical byte order. - (func (export "abc") (result i32) (i32.const 143)) - (func (export "abc") (result i32) (i32.const 144)) - (func (export "cba") (result i32) (i32.const 145)) - (func (export "abc") (result i32) (i32.const 146)) - (func (export "cba") (result i32) (i32.const 147)) - - ;; Test that Unicode font variations are preserved. - (func (export "𝑨") (result i32) (i32.const 148)) - (func (export "𝐴") (result i32) (i32.const 149)) - (func (export "𝘈") (result i32) (i32.const 150)) - (func (export "𝘼") (result i32) (i32.const 151)) - (func (export "𝐀") (result i32) (i32.const 152)) - (func (export "𝓐") (result i32) (i32.const 153)) - (func (export "𝕬") (result i32) (i32.const 154)) - (func (export "𝗔") (result i32) (i32.const 155)) - (func (export "𝒜") (result i32) (i32.const 156)) - (func (export "𝔄") (result i32) (i32.const 157)) - (func (export "𝔸") (result i32) (i32.const 158)) - (func (export "𝖠") (result i32) (i32.const 159)) - (func (export "𝙰") (result i32) (i32.const 160)) - (func (export "ᴀ") (result i32) (i32.const 161)) - - ;; Test that various additional letter variations are preserved. - ;; (U+0040, U+0061, U+0041, U+00C5, U+0041 U+030A, U+212B, and the font - ;; variations are covered above.) - (func (export "ᴬ") (result i32) (i32.const 162)) - (func (export "Ⓐ") (result i32) (i32.const 163)) - (func (export "A") (result i32) (i32.const 164)) - (func (export "🄐") (result i32) (i32.const 165)) - (func (export "🄰") (result i32) (i32.const 166)) - (func (export "") (result i32) (i32.const 167)) - (func (export "U+0041") (result i32) (i32.const 168)) - (func (export "A") (result i32) (i32.const 169)) - (func (export "А") (result i32) (i32.const 170)) - (func (export "Ꙗ") (result i32) (i32.const 171)) - (func (export "ⷼ") (result i32) (i32.const 172)) - (func (export "ⷶ") (result i32) (i32.const 173)) - (func (export "Ɐ") (result i32) (i32.const 174)) - (func (export "🅐") (result i32) (i32.const 175)) - (func (export "🅰") (result i32) (i32.const 176)) - (func (export "Ⱝ") (result i32) (i32.const 177)) - (func (export "𐐂") (result i32) (i32.const 178)) - (func (export "𐐈") (result i32) (i32.const 179)) - (func (export "𐒰") (result i32) (i32.const 180)) - (func (export "À") (result i32) (i32.const 181)) - (func (export "Á") (result i32) (i32.const 182)) - (func (export "Â") (result i32) (i32.const 183)) - (func (export "Ã") (result i32) (i32.const 184)) - (func (export "Ä") (result i32) (i32.const 185)) - (func (export "Ā") (result i32) (i32.const 186)) - (func (export "Ă") (result i32) (i32.const 187)) - (func (export "Ą") (result i32) (i32.const 188)) - (func (export "Ǎ") (result i32) (i32.const 189)) - (func (export "Ǟ") (result i32) (i32.const 190)) - (func (export "Ǡ") (result i32) (i32.const 191)) - (func (export "Ǻ") (result i32) (i32.const 192)) - (func (export "Ȁ") (result i32) (i32.const 193)) - (func (export "Ȃ") (result i32) (i32.const 194)) - (func (export "Ȧ") (result i32) (i32.const 195)) - (func (export "Ⱥ") (result i32) (i32.const 196)) - (func (export "Ӑ") (result i32) (i32.const 197)) - (func (export "Ӓ") (result i32) (i32.const 198)) - (func (export "ߊ") (result i32) (i32.const 199)) - (func (export "ࠡ") (result i32) (i32.const 200)) - (func (export "ࠢ") (result i32) (i32.const 201)) - (func (export "ࠣ") (result i32) (i32.const 202)) - (func (export "ࠤ") (result i32) (i32.const 203)) - (func (export "ࠥ") (result i32) (i32.const 204)) - (func (export "ऄ") (result i32) (i32.const 205)) - (func (export "अ") (result i32) (i32.const 206)) - (func (export "ॲ") (result i32) (i32.const 207)) - (func (export "অ") (result i32) (i32.const 208)) - (func (export "ਅ") (result i32) (i32.const 209)) - (func (export "અ") (result i32) (i32.const 210)) - (func (export "ଅ") (result i32) (i32.const 211)) - (func (export "அ") (result i32) (i32.const 212)) - (func (export "అ") (result i32) (i32.const 213)) - (func (export "ಅ") (result i32) (i32.const 214)) - (func (export "അ") (result i32) (i32.const 215)) - (func (export "ะ") (result i32) (i32.const 216)) - (func (export "ະ") (result i32) (i32.const 217)) - (func (export "༁") (result i32) (i32.const 218)) - (func (export "ཨ") (result i32) (i32.const 219)) - (func (export "ྸ") (result i32) (i32.const 220)) - (func (export "အ") (result i32) (i32.const 221)) - (func (export "ဢ") (result i32) (i32.const 222)) - (func (export "ႜ") (result i32) (i32.const 223)) - (func (export "ᅡ") (result i32) (i32.const 224)) - (func (export "አ") (result i32) (i32.const 225)) - (func (export "ዐ") (result i32) (i32.const 226)) - (func (export "Ꭰ") (result i32) (i32.const 227)) - (func (export "ᐊ") (result i32) (i32.const 228)) - (func (export "ᖳ") (result i32) (i32.const 229)) - (func (export "ᚨ") (result i32) (i32.const 230)) - (func (export "ᚪ") (result i32) (i32.const 231)) - (func (export "ᛆ") (result i32) (i32.const 232)) - (func (export "ᜀ") (result i32) (i32.const 233)) - (func (export "ᜠ") (result i32) (i32.const 234)) - (func (export "ᝀ") (result i32) (i32.const 235)) - (func (export "ᝠ") (result i32) (i32.const 236)) - (func (export "ᠠ") (result i32) (i32.const 237)) - (func (export "ᢇ") (result i32) (i32.const 238)) - (func (export "ᤠ") (result i32) (i32.const 239)) - (func (export "ᥣ") (result i32) (i32.const 240)) - (func (export "ᨕ") (result i32) (i32.const 241)) - (func (export "ᩋ") (result i32) (i32.const 242)) - (func (export "ᩡ") (result i32) (i32.const 243)) - (func (export "ᮃ") (result i32) (i32.const 244)) - (func (export "ᯀ") (result i32) (i32.const 245)) - (func (export "ᯁ") (result i32) (i32.const 246)) - (func (export "ᰣ") (result i32) (i32.const 247)) - (func (export "Ḁ") (result i32) (i32.const 248)) - (func (export "Ạ") (result i32) (i32.const 249)) - (func (export "Ả") (result i32) (i32.const 250)) - (func (export "Ấ") (result i32) (i32.const 251)) - (func (export "Ầ") (result i32) (i32.const 252)) - (func (export "Ẩ") (result i32) (i32.const 253)) - (func (export "Ẫ") (result i32) (i32.const 254)) - (func (export "Ậ") (result i32) (i32.const 255)) - (func (export "Ắ") (result i32) (i32.const 256)) - (func (export "Ằ") (result i32) (i32.const 257)) - (func (export "Ẳ") (result i32) (i32.const 258)) - (func (export "Ẵ") (result i32) (i32.const 259)) - (func (export "Ặ") (result i32) (i32.const 260)) - (func (export "あ") (result i32) (i32.const 261)) - (func (export "ア") (result i32) (i32.const 262)) - (func (export "ㄚ") (result i32) (i32.const 263)) - (func (export "ㅏ") (result i32) (i32.const 264)) - (func (export "㈎") (result i32) (i32.const 265)) - (func (export "㈏") (result i32) (i32.const 266)) - (func (export "㈐") (result i32) (i32.const 267)) - (func (export "㈑") (result i32) (i32.const 268)) - (func (export "㈒") (result i32) (i32.const 269)) - (func (export "㈓") (result i32) (i32.const 270)) - (func (export "㈔") (result i32) (i32.const 271)) - (func (export "㈕") (result i32) (i32.const 272)) - (func (export "㈖") (result i32) (i32.const 273)) - (func (export "㈗") (result i32) (i32.const 274)) - (func (export "㈘") (result i32) (i32.const 275)) - (func (export "㈙") (result i32) (i32.const 276)) - (func (export "㈚") (result i32) (i32.const 277)) - (func (export "㈛") (result i32) (i32.const 278)) - (func (export "㉮") (result i32) (i32.const 279)) - (func (export "㉯") (result i32) (i32.const 280)) - (func (export "㉰") (result i32) (i32.const 281)) - (func (export "㉱") (result i32) (i32.const 282)) - (func (export "㉲") (result i32) (i32.const 283)) - (func (export "㉳") (result i32) (i32.const 284)) - (func (export "㉴") (result i32) (i32.const 285)) - (func (export "㉵") (result i32) (i32.const 286)) - (func (export "㉶") (result i32) (i32.const 287)) - (func (export "㉷") (result i32) (i32.const 288)) - (func (export "㉸") (result i32) (i32.const 289)) - (func (export "㉹") (result i32) (i32.const 290)) - (func (export "㉺") (result i32) (i32.const 291)) - (func (export "㉻") (result i32) (i32.const 292)) - (func (export "㋐") (result i32) (i32.const 293)) - (func (export "ꀊ") (result i32) (i32.const 294)) - (func (export "ꓮ") (result i32) (i32.const 295)) - (func (export "ꕉ") (result i32) (i32.const 296)) - (func (export "ꚠ") (result i32) (i32.const 297)) - (func (export "ꠀ") (result i32) (i32.const 298)) - (func (export "ꠣ") (result i32) (i32.const 299)) - (func (export "ꡝ") (result i32) (i32.const 300)) - (func (export "ꢂ") (result i32) (i32.const 301)) - (func (export "꣪") (result i32) (i32.const 302)) - (func (export "ꤢ") (result i32) (i32.const 303)) - (func (export "ꥆ") (result i32) (i32.const 304)) - (func (export "ꦄ") (result i32) (i32.const 305)) - (func (export "ꨀ") (result i32) (i32.const 306)) - (func (export "ア") (result i32) (i32.const 307)) - (func (export "ᅡ") (result i32) (i32.const 308)) - (func (export "𐀀") (result i32) (i32.const 309)) - (func (export "𐊀") (result i32) (i32.const 310)) - (func (export "𐊠") (result i32) (i32.const 311)) - (func (export "𐌀") (result i32) (i32.const 312)) - (func (export "𐎠") (result i32) (i32.const 313)) - (func (export "𐒖") (result i32) (i32.const 314)) - (func (export "𐔀") (result i32) (i32.const 315)) - (func (export "𐝀") (result i32) (i32.const 316)) - (func (export "𐠀") (result i32) (i32.const 317)) - (func (export "𐤠") (result i32) (i32.const 318)) - (func (export "𐦀") (result i32) (i32.const 319)) - (func (export "𐦠") (result i32) (i32.const 320)) - (func (export "𐨀") (result i32) (i32.const 321)) - (func (export "𐬀") (result i32) (i32.const 322)) - (func (export "𐰀") (result i32) (i32.const 323)) - (func (export "𐰁") (result i32) (i32.const 324)) - (func (export "𐲀") (result i32) (i32.const 325)) - (func (export "𑀅") (result i32) (i32.const 326)) - (func (export "𑂃") (result i32) (i32.const 327)) - (func (export "𑄧") (result i32) (i32.const 328)) - (func (export "𑅐") (result i32) (i32.const 329)) - (func (export "𑆃") (result i32) (i32.const 330)) - (func (export "𑈀") (result i32) (i32.const 331)) - (func (export "𑊀") (result i32) (i32.const 332)) - (func (export "𑊰") (result i32) (i32.const 333)) - (func (export "𑌅") (result i32) (i32.const 334)) - (func (export "𑍰") (result i32) (i32.const 335)) - (func (export "𑐀") (result i32) (i32.const 336)) - (func (export "𑒁") (result i32) (i32.const 337)) - (func (export "𑖀") (result i32) (i32.const 338)) - (func (export "𑘀") (result i32) (i32.const 339)) - (func (export "𑚀") (result i32) (i32.const 340)) - (func (export "𑜒") (result i32) (i32.const 341)) - (func (export "𑜠") (result i32) (i32.const 342)) - (func (export "𑢡") (result i32) (i32.const 343)) - (func (export "𑫕") (result i32) (i32.const 344)) - (func (export "𑰀") (result i32) (i32.const 345)) - (func (export "𑲏") (result i32) (i32.const 346)) - (func (export "𑲯") (result i32) (i32.const 347)) - (func (export "𒀀") (result i32) (i32.const 348)) - (func (export "𖧕") (result i32) (i32.const 349)) - (func (export "𖩆") (result i32) (i32.const 350)) - (func (export "𖫧") (result i32) (i32.const 351)) - (func (export "𖽔") (result i32) (i32.const 352)) - (func (export "𛱁") (result i32) (i32.const 353)) - (func (export "𛱤") (result i32) (i32.const 354)) - (func (export "𞠣") (result i32) (i32.const 355)) - (func (export "🇦") (result i32) (i32.const 356)) - (func (export "Ɑ") (result i32) (i32.const 357)) - (func (export "Λ") (result i32) (i32.const 358)) - (func (export "Ɒ") (result i32) (i32.const 359)) - (func (export "ª") (result i32) (i32.const 360)) - (func (export "∀") (result i32) (i32.const 361)) - (func (export "₳") (result i32) (i32.const 362)) - (func (export "𐤀") (result i32) (i32.const 363)) - (func (export "Ⲁ") (result i32) (i32.const 364)) - (func (export "𐌰") (result i32) (i32.const 365)) - (func (export "Ά") (result i32) (i32.const 366)) - (func (export "Α") (result i32) (i32.const 367)) - (func (export "Ἀ") (result i32) (i32.const 368)) - (func (export "Ἁ") (result i32) (i32.const 369)) - (func (export "Ἂ") (result i32) (i32.const 370)) - (func (export "Ἃ") (result i32) (i32.const 371)) - (func (export "Ἄ") (result i32) (i32.const 372)) - (func (export "Ἅ") (result i32) (i32.const 373)) - (func (export "Ἆ") (result i32) (i32.const 374)) - (func (export "Ἇ") (result i32) (i32.const 375)) - (func (export "ᾈ") (result i32) (i32.const 376)) - (func (export "ᾉ") (result i32) (i32.const 377)) - (func (export "ᾊ") (result i32) (i32.const 378)) - (func (export "ᾋ") (result i32) (i32.const 379)) - (func (export "ᾌ") (result i32) (i32.const 380)) - (func (export "ᾍ") (result i32) (i32.const 381)) - (func (export "ᾎ") (result i32) (i32.const 382)) - (func (export "ᾏ") (result i32) (i32.const 383)) - (func (export "Ᾰ") (result i32) (i32.const 384)) - (func (export "Ᾱ") (result i32) (i32.const 385)) - (func (export "Ὰ") (result i32) (i32.const 386)) - (func (export "Ά") (result i32) (i32.const 387)) - (func (export "ᾼ") (result i32) (i32.const 388)) - (func (export "𝚨") (result i32) (i32.const 389)) - (func (export "𝛢") (result i32) (i32.const 390)) - (func (export "𝜜") (result i32) (i32.const 391)) - (func (export "𝝖") (result i32) (i32.const 392)) - (func (export "𝞐") (result i32) (i32.const 393)) - (func (export "⍶") (result i32) (i32.const 394)) - (func (export "⍺") (result i32) (i32.const 395)) - (func (export "⩜") (result i32) (i32.const 396)) - (func (export "ᗅ") (result i32) (i32.const 397)) - (func (export "Ꭺ") (result i32) (i32.const 398)) - - ;; Test unmatched "closing" and "opening" code points. - (func (export ")˺˼𔗏⁾₎❩❫⟯﴿︶﹚)⦆❳❵⟧⟩⟫⟭⦈⦊⦖⸣⸥︘︸︺︼︾﹀﹂﹄﹈﹜﹞]}」»’”›❯") (result i32) (i32.const 399)) - (func (export "(˹˻𔗎⁽₍❨❪⟮﴾︵﹙(⦅❲❴⟦⟨⟪⟬⦇⦉⦕⸢⸤︗︷︹︻︽︿﹁﹃﹇﹛﹝[{「«‘“‹❮") (result i32) (i32.const 400)) - (func (export "𝪋𝪤") (result i32) (i32.const 401)) - (func (export "𝪋") (result i32) (i32.const 402)) - - ;; Test that Unicode fraction normalization is not applied. - (func (export "½") (result i32) (i32.const 403)) - (func (export "1⁄2") (result i32) (i32.const 404)) - (func (export "1/2") (result i32) (i32.const 405)) - (func (export "୳") (result i32) (i32.const 406)) - (func (export "൴") (result i32) (i32.const 407)) - (func (export "⳽") (result i32) (i32.const 408)) - (func (export "꠱") (result i32) (i32.const 409)) - (func (export "𐅁") (result i32) (i32.const 410)) - (func (export "𐅵") (result i32) (i32.const 411)) - (func (export "𐅶") (result i32) (i32.const 412)) - (func (export "𐦽") (result i32) (i32.const 413)) - (func (export "𐹻") (result i32) (i32.const 414)) - - ;; Test a full-width quote. - (func (export """) (result i32) (i32.const 415)) - - ;; Test that different present and historical representations of the "delete" - ;; concept are distinct. - (func (export "\7f") (result i32) (i32.const 416)) - (func (export "\08") (result i32) (i32.const 417)) - (func (export "⌫") (result i32) (i32.const 418)) - (func (export "⌦") (result i32) (i32.const 419)) - (func (export "␈") (result i32) (i32.const 420)) - (func (export "␡") (result i32) (i32.const 421)) - (func (export "᷻") (result i32) (i32.const 422)) - (func (export "\0f") (result i32) (i32.const 423)) - (func (export "←") (result i32) (i32.const 424)) - (func (export "⌧") (result i32) (i32.const 425)) - (func (export "⍒") (result i32) (i32.const 426)) - (func (export "⍔") (result i32) (i32.const 427)) - (func (export "⍢") (result i32) (i32.const 428)) - (func (export "⍫") (result i32) (i32.const 429)) - - ;; Test that different representations of the "substitute" concept are - ;; distinct. (U+FFFD is covered above.) - (func (export "\1a") (result i32) (i32.const 430)) - (func (export "␦") (result i32) (i32.const 431)) - (func (export "␚") (result i32) (i32.const 432)) - (func (export "") (result i32) (i32.const 433)) - (func (export "?") (result i32) (i32.const 434)) - (func (export "¿") (result i32) (i32.const 435)) - (func (export "᥅") (result i32) (i32.const 436)) - (func (export ";") (result i32) (i32.const 437)) - (func (export "՞") (result i32) (i32.const 438)) - (func (export "؟") (result i32) (i32.const 439)) - (func (export "፧") (result i32) (i32.const 440)) - (func (export "⁇") (result i32) (i32.const 441)) - (func (export "⍰") (result i32) (i32.const 442)) - (func (export "❓") (result i32) (i32.const 443)) - (func (export "❔") (result i32) (i32.const 444)) - (func (export "⳺") (result i32) (i32.const 445)) - (func (export "⳻") (result i32) (i32.const 446)) - (func (export "⸮") (result i32) (i32.const 447)) - (func (export "㉄") (result i32) (i32.const 448)) - (func (export "꘏") (result i32) (i32.const 449)) - (func (export "꛷") (result i32) (i32.const 450)) - (func (export "︖") (result i32) (i32.const 451)) - (func (export "﹖") (result i32) (i32.const 452)) - (func (export "?") (result i32) (i32.const 453)) - (func (export "𑅃") (result i32) (i32.const 454)) - (func (export "𞥟") (result i32) (i32.const 455)) - (func (export "") (result i32) (i32.const 456)) - (func (export "𖡄") (result i32) (i32.const 457)) - (func (export "⯑") (result i32) (i32.const 458)) - - ;; Test that different present and historical representations of the - ;; "paragraph" concept are distinct. (U+2029 is covered above). - (func (export "¶") (result i32) (i32.const 459)) - (func (export "⁋") (result i32) (i32.const 460)) - (func (export "܀") (result i32) (i32.const 461)) - (func (export "჻") (result i32) (i32.const 462)) - (func (export "፨") (result i32) (i32.const 463)) - (func (export "〷") (result i32) (i32.const 464)) - (func (export "❡") (result i32) (i32.const 465)) - (func (export "⸏") (result i32) (i32.const 466)) - (func (export "⸐") (result i32) (i32.const 467)) - (func (export "⸑") (result i32) (i32.const 468)) - (func (export "⸎") (result i32) (i32.const 469)) - (func (export "\14") (result i32) (i32.const 470)) ;; ¶ in CP437 - (func (export "☙") (result i32) (i32.const 471)) - (func (export "⸿") (result i32) (i32.const 472)) - (func (export "〇") (result i32) (i32.const 473)) - (func (export "๛") (result i32) (i32.const 474)) - - ;; Test an unusual character. - (func (export "ꙮ") (result i32) (i32.const 475)) - - ;; Test the three characters whose normalization forms under NFC, NFD, NFKC, - ;; and NFKD are all different. - ;; http://unicode.org/faq/normalization.html#6 - (func (export "ϓ") (result i32) (i32.const 476)) - (func (export "ϔ") (result i32) (i32.const 477)) - (func (export "ẛ") (result i32) (i32.const 478)) -) - -(assert_return (invoke "") (i32.const 0)) -(assert_return (invoke "0") (i32.const 1)) -(assert_return (invoke "-0") (i32.const 2)) -(assert_return (invoke "_") (i32.const 3)) -(assert_return (invoke "$") (i32.const 4)) -(assert_return (invoke "@") (i32.const 5)) -(assert_return (invoke "~!@#$%^&*()_+`-={}|[]\\:\";'<>?,./ ") (i32.const 6)) -(assert_return (invoke "NaN") (i32.const 7)) -(assert_return (invoke "Infinity") (i32.const 8)) -(assert_return (invoke "if") (i32.const 9)) -(assert_return (invoke "malloc") (i32.const 10)) -(assert_return (invoke "_malloc") (i32.const 11)) -(assert_return (invoke "__malloc") (i32.const 12)) -(assert_return (invoke "a") (i32.const 13)) -(assert_return (invoke "A") (i32.const 14)) -(assert_return (invoke "") (i32.const 15)) -(assert_return (invoke "Å") (i32.const 16)) -(assert_return (invoke "Å") (i32.const 17)) -(assert_return (invoke "Å") (i32.const 18)) -(assert_return (invoke "ffi") (i32.const 19)) -(assert_return (invoke "ffi") (i32.const 20)) -(assert_return (invoke "ffi") (i32.const 21)) -(assert_return (invoke "\00\01\02\03\04\05\06\07\08\09\0a\0b\0c\0d\0e\0f") (i32.const 22)) -(assert_return (invoke "\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f") (i32.const 23)) -(assert_return (invoke " \7f") (i32.const 24)) -(assert_return (invoke "\c2\80\c2\81\c2\82\c2\83\c2\84\c2\85\c2\86\c2\87\c2\88\c2\89\c2\8a\c2\8b\c2\8c\c2\8d\c2\8e\c2\8f") (i32.const 25)) -(assert_return (invoke "\c2\90\c2\91\c2\92\c2\93\c2\94\c2\95\c2\96\c2\97\c2\98\c2\99\c2\9a\c2\9b\c2\9c\c2\9d\c2\9e\c2\9f") (i32.const 26)) -(assert_return (invoke "\ef\bf\b0\ef\bf\b1\ef\bf\b2\ef\bf\b3\ef\bf\b4\ef\bf\b5\ef\bf\b6\ef\bf\b7") (i32.const 27)) -(assert_return (invoke "\ef\bf\b8\ef\bf\b9\ef\bf\ba\ef\bf\bb\ef\bf\bc\ef\bf\bd\ef\bf\be\ef\bf\bf") (i32.const 28)) -(assert_return (invoke "␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏") (i32.const 29)) -(assert_return (invoke "␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟") (i32.const 30)) -(assert_return (invoke "␠␡") (i32.const 31)) -(assert_return (invoke "�") (i32.const 32)) -(assert_return (invoke "") (i32.const 33)) -(assert_return (invoke "") (i32.const 34)) -(assert_return (invoke "͏") (i32.const 35)) -(assert_return (invoke "") (i32.const 36)) -(assert_return (invoke "⵿") (i32.const 37)) -(assert_return (invoke "𑁿") (i32.const 38)) -(assert_return (invoke "") (i32.const 39)) -(assert_return (invoke " ") (i32.const 40)) -(assert_return (invoke "‑
") (i32.const 41)) -(assert_return (invoke "") (i32.const 42)) -(assert_return (invoke "") (i32.const 43)) -(assert_return (invoke "𐀀") (i32.const 44)) -(assert_return (invoke "Z̴͇̫̥̪͓͈͔͎̗̞̺̯̱̞̙̱̜̖̠̏͆̆͛͌͘͞ḁ̶̰̳̭͙̲̱̹̝͎̼͗ͨ̎̄̆͗̿̀́͟͡l̶̷͉̩̹̫̝͖̙̲̼͇͚͍̮͎̥̞̈́͊͗ͦ̈́ͫ̇́̚ͅͅg̶͕͔͚̩̓̐̅ͮ̔̐̎̂̏̾͊̍͋͊ͧ́̆ͦ͞o̡͋̔͐ͪͩ͏̢̧̫̙̤̮͖͙͓̺̜̩̼̘̠́") (i32.const 45)) -(assert_return (invoke "ᅟᅠㅤᅠ") (i32.const 46)) -(assert_return (invoke "︀") (i32.const 47)) -(assert_return (invoke "︄") (i32.const 48)) -(assert_return (invoke "󠄀") (i32.const 49)) -(assert_return (invoke "󠇯") (i32.const 50)) -(assert_return (invoke "̈") (i32.const 51)) -(assert_return (invoke "\0a") (i32.const 52)) -(assert_return (invoke "") (i32.const 53)) -(assert_return (invoke "
") (i32.const 54)) -(assert_return (invoke "\0d") (i32.const 55)) -(assert_return (invoke "\0d\0a") (i32.const 56)) -(assert_return (invoke "\0a\0d") (i32.const 57)) -(assert_return (invoke "\1e") (i32.const 58)) -(assert_return (invoke "\0b") (i32.const 59)) -(assert_return (invoke "\0c") (i32.const 60)) -(assert_return (invoke "\c2\85") (i32.const 61)) -(assert_return (invoke "
") (i32.const 62)) -(assert_return (invoke "…") (i32.const 63)) -(assert_return (invoke "⏎") (i32.const 64)) -(assert_return (invoke "\c2\8b") (i32.const 65)) -(assert_return (invoke "\c2\8c") (i32.const 66)) -(assert_return (invoke "\c2\8d") (i32.const 67)) -(assert_return (invoke "↵") (i32.const 68)) -(assert_return (invoke "↩") (i32.const 69)) -(assert_return (invoke "⌤") (i32.const 70)) -(assert_return (invoke "⤶") (i32.const 71)) -(assert_return (invoke "↲") (i32.const 72)) -(assert_return (invoke "⮨") (i32.const 73)) -(assert_return (invoke "⮰") (i32.const 74)) -(assert_return (invoke "�") (i32.const 75)) -(assert_return (invoke "\ef\b7\90") (i32.const 76)) -(assert_return (invoke "\ef\b7\91") (i32.const 77)) -(assert_return (invoke "\ef\b7\92") (i32.const 78)) -(assert_return (invoke "\ef\b7\93") (i32.const 79)) -(assert_return (invoke "\ef\b7\94") (i32.const 80)) -(assert_return (invoke "\ef\b7\95") (i32.const 81)) -(assert_return (invoke "\ef\b7\96") (i32.const 82)) -(assert_return (invoke "\ef\b7\97") (i32.const 83)) -(assert_return (invoke "\ef\b7\98") (i32.const 84)) -(assert_return (invoke "\ef\b7\99") (i32.const 85)) -(assert_return (invoke "\ef\b7\9a") (i32.const 86)) -(assert_return (invoke "\ef\b7\9b") (i32.const 87)) -(assert_return (invoke "\ef\b7\9c") (i32.const 88)) -(assert_return (invoke "\ef\b7\9d") (i32.const 89)) -(assert_return (invoke "\ef\b7\9e") (i32.const 90)) -(assert_return (invoke "\ef\b7\9f") (i32.const 91)) -(assert_return (invoke "\ef\b7\a0") (i32.const 92)) -(assert_return (invoke "\ef\b7\a1") (i32.const 93)) -(assert_return (invoke "\ef\b7\a2") (i32.const 94)) -(assert_return (invoke "\ef\b7\a3") (i32.const 95)) -(assert_return (invoke "\ef\b7\a4") (i32.const 96)) -(assert_return (invoke "\ef\b7\a5") (i32.const 97)) -(assert_return (invoke "\ef\b7\a6") (i32.const 98)) -(assert_return (invoke "\ef\b7\a7") (i32.const 99)) -(assert_return (invoke "\ef\b7\a8") (i32.const 100)) -(assert_return (invoke "\ef\b7\a9") (i32.const 101)) -(assert_return (invoke "\ef\b7\aa") (i32.const 102)) -(assert_return (invoke "\ef\b7\ab") (i32.const 103)) -(assert_return (invoke "\ef\b7\ac") (i32.const 104)) -(assert_return (invoke "\ef\b7\ad") (i32.const 105)) -(assert_return (invoke "\ef\b7\ae") (i32.const 106)) -(assert_return (invoke "\ef\b7\af") (i32.const 107)) -(assert_return (invoke "\ef\bf\be") (i32.const 108)) -(assert_return (invoke "\ef\bf\bf") (i32.const 109)) -(assert_return (invoke "\f0\9f\bf\be") (i32.const 110)) -(assert_return (invoke "\f0\9f\bf\bf") (i32.const 111)) -(assert_return (invoke "\f0\af\bf\be") (i32.const 112)) -(assert_return (invoke "\f0\af\bf\bf") (i32.const 113)) -(assert_return (invoke "\f0\bf\bf\be") (i32.const 114)) -(assert_return (invoke "\f0\bf\bf\bf") (i32.const 115)) -(assert_return (invoke "\f1\8f\bf\be") (i32.const 116)) -(assert_return (invoke "\f1\8f\bf\bf") (i32.const 117)) -(assert_return (invoke "\f1\9f\bf\be") (i32.const 118)) -(assert_return (invoke "\f1\9f\bf\bf") (i32.const 119)) -(assert_return (invoke "\f1\af\bf\be") (i32.const 120)) -(assert_return (invoke "\f1\af\bf\bf") (i32.const 121)) -(assert_return (invoke "\f1\bf\bf\be") (i32.const 122)) -(assert_return (invoke "\f1\bf\bf\bf") (i32.const 123)) -(assert_return (invoke "\f2\8f\bf\be") (i32.const 124)) -(assert_return (invoke "\f2\8f\bf\bf") (i32.const 125)) -(assert_return (invoke "\f2\9f\bf\be") (i32.const 126)) -(assert_return (invoke "\f2\9f\bf\bf") (i32.const 127)) -(assert_return (invoke "\f2\af\bf\be") (i32.const 128)) -(assert_return (invoke "\f2\af\bf\bf") (i32.const 129)) -(assert_return (invoke "\f2\bf\bf\be") (i32.const 130)) -(assert_return (invoke "\f2\bf\bf\bf") (i32.const 131)) -(assert_return (invoke "\f3\8f\bf\be") (i32.const 132)) -(assert_return (invoke "\f3\8f\bf\bf") (i32.const 133)) -(assert_return (invoke "\f3\9f\bf\be") (i32.const 134)) -(assert_return (invoke "\f3\9f\bf\bf") (i32.const 135)) -(assert_return (invoke "\f3\af\bf\be") (i32.const 136)) -(assert_return (invoke "\f3\af\bf\bf") (i32.const 137)) -(assert_return (invoke "\f3\bf\bf\be") (i32.const 138)) -(assert_return (invoke "\f3\bf\bf\bf") (i32.const 139)) -(assert_return (invoke "\f4\8f\bf\be") (i32.const 140)) -(assert_return (invoke "\f4\8f\bf\bf") (i32.const 141)) -(assert_return (invoke "̈‽̈̉") (i32.const 142)) -(assert_return (invoke "abc") (i32.const 143)) -(assert_return (invoke "abc") (i32.const 144)) -(assert_return (invoke "cba") (i32.const 145)) -(assert_return (invoke "abc") (i32.const 146)) -(assert_return (invoke "cba") (i32.const 147)) -(assert_return (invoke "𝑨") (i32.const 148)) -(assert_return (invoke "𝐴") (i32.const 149)) -(assert_return (invoke "𝘈") (i32.const 150)) -(assert_return (invoke "𝘼") (i32.const 151)) -(assert_return (invoke "𝐀") (i32.const 152)) -(assert_return (invoke "𝓐") (i32.const 153)) -(assert_return (invoke "𝕬") (i32.const 154)) -(assert_return (invoke "𝗔") (i32.const 155)) -(assert_return (invoke "𝒜") (i32.const 156)) -(assert_return (invoke "𝔄") (i32.const 157)) -(assert_return (invoke "𝔸") (i32.const 158)) -(assert_return (invoke "𝖠") (i32.const 159)) -(assert_return (invoke "𝙰") (i32.const 160)) -(assert_return (invoke "ᴀ") (i32.const 161)) -(assert_return (invoke "ᴬ") (i32.const 162)) -(assert_return (invoke "Ⓐ") (i32.const 163)) -(assert_return (invoke "A") (i32.const 164)) -(assert_return (invoke "🄐") (i32.const 165)) -(assert_return (invoke "🄰") (i32.const 166)) -(assert_return (invoke "") (i32.const 167)) -(assert_return (invoke "U+0041") (i32.const 168)) -(assert_return (invoke "A") (i32.const 169)) -(assert_return (invoke "А") (i32.const 170)) -(assert_return (invoke "Ꙗ") (i32.const 171)) -(assert_return (invoke "ⷼ") (i32.const 172)) -(assert_return (invoke "ⷶ") (i32.const 173)) -(assert_return (invoke "Ɐ") (i32.const 174)) -(assert_return (invoke "🅐") (i32.const 175)) -(assert_return (invoke "🅰") (i32.const 176)) -(assert_return (invoke "Ⱝ") (i32.const 177)) -(assert_return (invoke "𐐂") (i32.const 178)) -(assert_return (invoke "𐐈") (i32.const 179)) -(assert_return (invoke "𐒰") (i32.const 180)) -(assert_return (invoke "À") (i32.const 181)) -(assert_return (invoke "Á") (i32.const 182)) -(assert_return (invoke "Â") (i32.const 183)) -(assert_return (invoke "Ã") (i32.const 184)) -(assert_return (invoke "Ä") (i32.const 185)) -(assert_return (invoke "Ā") (i32.const 186)) -(assert_return (invoke "Ă") (i32.const 187)) -(assert_return (invoke "Ą") (i32.const 188)) -(assert_return (invoke "Ǎ") (i32.const 189)) -(assert_return (invoke "Ǟ") (i32.const 190)) -(assert_return (invoke "Ǡ") (i32.const 191)) -(assert_return (invoke "Ǻ") (i32.const 192)) -(assert_return (invoke "Ȁ") (i32.const 193)) -(assert_return (invoke "Ȃ") (i32.const 194)) -(assert_return (invoke "Ȧ") (i32.const 195)) -(assert_return (invoke "Ⱥ") (i32.const 196)) -(assert_return (invoke "Ӑ") (i32.const 197)) -(assert_return (invoke "Ӓ") (i32.const 198)) -(assert_return (invoke "ߊ") (i32.const 199)) -(assert_return (invoke "ࠡ") (i32.const 200)) -(assert_return (invoke "ࠢ") (i32.const 201)) -(assert_return (invoke "ࠣ") (i32.const 202)) -(assert_return (invoke "ࠤ") (i32.const 203)) -(assert_return (invoke "ࠥ") (i32.const 204)) -(assert_return (invoke "ऄ") (i32.const 205)) -(assert_return (invoke "अ") (i32.const 206)) -(assert_return (invoke "ॲ") (i32.const 207)) -(assert_return (invoke "অ") (i32.const 208)) -(assert_return (invoke "ਅ") (i32.const 209)) -(assert_return (invoke "અ") (i32.const 210)) -(assert_return (invoke "ଅ") (i32.const 211)) -(assert_return (invoke "அ") (i32.const 212)) -(assert_return (invoke "అ") (i32.const 213)) -(assert_return (invoke "ಅ") (i32.const 214)) -(assert_return (invoke "അ") (i32.const 215)) -(assert_return (invoke "ะ") (i32.const 216)) -(assert_return (invoke "ະ") (i32.const 217)) -(assert_return (invoke "༁") (i32.const 218)) -(assert_return (invoke "ཨ") (i32.const 219)) -(assert_return (invoke "ྸ") (i32.const 220)) -(assert_return (invoke "အ") (i32.const 221)) -(assert_return (invoke "ဢ") (i32.const 222)) -(assert_return (invoke "ႜ") (i32.const 223)) -(assert_return (invoke "ᅡ") (i32.const 224)) -(assert_return (invoke "አ") (i32.const 225)) -(assert_return (invoke "ዐ") (i32.const 226)) -(assert_return (invoke "Ꭰ") (i32.const 227)) -(assert_return (invoke "ᐊ") (i32.const 228)) -(assert_return (invoke "ᖳ") (i32.const 229)) -(assert_return (invoke "ᚨ") (i32.const 230)) -(assert_return (invoke "ᚪ") (i32.const 231)) -(assert_return (invoke "ᛆ") (i32.const 232)) -(assert_return (invoke "ᜀ") (i32.const 233)) -(assert_return (invoke "ᜠ") (i32.const 234)) -(assert_return (invoke "ᝀ") (i32.const 235)) -(assert_return (invoke "ᝠ") (i32.const 236)) -(assert_return (invoke "ᠠ") (i32.const 237)) -(assert_return (invoke "ᢇ") (i32.const 238)) -(assert_return (invoke "ᤠ") (i32.const 239)) -(assert_return (invoke "ᥣ") (i32.const 240)) -(assert_return (invoke "ᨕ") (i32.const 241)) -(assert_return (invoke "ᩋ") (i32.const 242)) -(assert_return (invoke "ᩡ") (i32.const 243)) -(assert_return (invoke "ᮃ") (i32.const 244)) -(assert_return (invoke "ᯀ") (i32.const 245)) -(assert_return (invoke "ᯁ") (i32.const 246)) -(assert_return (invoke "ᰣ") (i32.const 247)) -(assert_return (invoke "Ḁ") (i32.const 248)) -(assert_return (invoke "Ạ") (i32.const 249)) -(assert_return (invoke "Ả") (i32.const 250)) -(assert_return (invoke "Ấ") (i32.const 251)) -(assert_return (invoke "Ầ") (i32.const 252)) -(assert_return (invoke "Ẩ") (i32.const 253)) -(assert_return (invoke "Ẫ") (i32.const 254)) -(assert_return (invoke "Ậ") (i32.const 255)) -(assert_return (invoke "Ắ") (i32.const 256)) -(assert_return (invoke "Ằ") (i32.const 257)) -(assert_return (invoke "Ẳ") (i32.const 258)) -(assert_return (invoke "Ẵ") (i32.const 259)) -(assert_return (invoke "Ặ") (i32.const 260)) -(assert_return (invoke "あ") (i32.const 261)) -(assert_return (invoke "ア") (i32.const 262)) -(assert_return (invoke "ㄚ") (i32.const 263)) -(assert_return (invoke "ㅏ") (i32.const 264)) -(assert_return (invoke "㈎") (i32.const 265)) -(assert_return (invoke "㈏") (i32.const 266)) -(assert_return (invoke "㈐") (i32.const 267)) -(assert_return (invoke "㈑") (i32.const 268)) -(assert_return (invoke "㈒") (i32.const 269)) -(assert_return (invoke "㈓") (i32.const 270)) -(assert_return (invoke "㈔") (i32.const 271)) -(assert_return (invoke "㈕") (i32.const 272)) -(assert_return (invoke "㈖") (i32.const 273)) -(assert_return (invoke "㈗") (i32.const 274)) -(assert_return (invoke "㈘") (i32.const 275)) -(assert_return (invoke "㈙") (i32.const 276)) -(assert_return (invoke "㈚") (i32.const 277)) -(assert_return (invoke "㈛") (i32.const 278)) -(assert_return (invoke "㉮") (i32.const 279)) -(assert_return (invoke "㉯") (i32.const 280)) -(assert_return (invoke "㉰") (i32.const 281)) -(assert_return (invoke "㉱") (i32.const 282)) -(assert_return (invoke "㉲") (i32.const 283)) -(assert_return (invoke "㉳") (i32.const 284)) -(assert_return (invoke "㉴") (i32.const 285)) -(assert_return (invoke "㉵") (i32.const 286)) -(assert_return (invoke "㉶") (i32.const 287)) -(assert_return (invoke "㉷") (i32.const 288)) -(assert_return (invoke "㉸") (i32.const 289)) -(assert_return (invoke "㉹") (i32.const 290)) -(assert_return (invoke "㉺") (i32.const 291)) -(assert_return (invoke "㉻") (i32.const 292)) -(assert_return (invoke "㋐") (i32.const 293)) -(assert_return (invoke "ꀊ") (i32.const 294)) -(assert_return (invoke "ꓮ") (i32.const 295)) -(assert_return (invoke "ꕉ") (i32.const 296)) -(assert_return (invoke "ꚠ") (i32.const 297)) -(assert_return (invoke "ꠀ") (i32.const 298)) -(assert_return (invoke "ꠣ") (i32.const 299)) -(assert_return (invoke "ꡝ") (i32.const 300)) -(assert_return (invoke "ꢂ") (i32.const 301)) -(assert_return (invoke "꣪") (i32.const 302)) -(assert_return (invoke "ꤢ") (i32.const 303)) -(assert_return (invoke "ꥆ") (i32.const 304)) -(assert_return (invoke "ꦄ") (i32.const 305)) -(assert_return (invoke "ꨀ") (i32.const 306)) -(assert_return (invoke "ア") (i32.const 307)) -(assert_return (invoke "ᅡ") (i32.const 308)) -(assert_return (invoke "𐀀") (i32.const 309)) -(assert_return (invoke "𐊀") (i32.const 310)) -(assert_return (invoke "𐊠") (i32.const 311)) -(assert_return (invoke "𐌀") (i32.const 312)) -(assert_return (invoke "𐎠") (i32.const 313)) -(assert_return (invoke "𐒖") (i32.const 314)) -(assert_return (invoke "𐔀") (i32.const 315)) -(assert_return (invoke "𐝀") (i32.const 316)) -(assert_return (invoke "𐠀") (i32.const 317)) -(assert_return (invoke "𐤠") (i32.const 318)) -(assert_return (invoke "𐦀") (i32.const 319)) -(assert_return (invoke "𐦠") (i32.const 320)) -(assert_return (invoke "𐨀") (i32.const 321)) -(assert_return (invoke "𐬀") (i32.const 322)) -(assert_return (invoke "𐰀") (i32.const 323)) -(assert_return (invoke "𐰁") (i32.const 324)) -(assert_return (invoke "𐲀") (i32.const 325)) -(assert_return (invoke "𑀅") (i32.const 326)) -(assert_return (invoke "𑂃") (i32.const 327)) -(assert_return (invoke "𑄧") (i32.const 328)) -(assert_return (invoke "𑅐") (i32.const 329)) -(assert_return (invoke "𑆃") (i32.const 330)) -(assert_return (invoke "𑈀") (i32.const 331)) -(assert_return (invoke "𑊀") (i32.const 332)) -(assert_return (invoke "𑊰") (i32.const 333)) -(assert_return (invoke "𑌅") (i32.const 334)) -(assert_return (invoke "𑍰") (i32.const 335)) -(assert_return (invoke "𑐀") (i32.const 336)) -(assert_return (invoke "𑒁") (i32.const 337)) -(assert_return (invoke "𑖀") (i32.const 338)) -(assert_return (invoke "𑘀") (i32.const 339)) -(assert_return (invoke "𑚀") (i32.const 340)) -(assert_return (invoke "𑜒") (i32.const 341)) -(assert_return (invoke "𑜠") (i32.const 342)) -(assert_return (invoke "𑢡") (i32.const 343)) -(assert_return (invoke "𑫕") (i32.const 344)) -(assert_return (invoke "𑰀") (i32.const 345)) -(assert_return (invoke "𑲏") (i32.const 346)) -(assert_return (invoke "𑲯") (i32.const 347)) -(assert_return (invoke "𒀀") (i32.const 348)) -(assert_return (invoke "𖧕") (i32.const 349)) -(assert_return (invoke "𖩆") (i32.const 350)) -(assert_return (invoke "𖫧") (i32.const 351)) -(assert_return (invoke "𖽔") (i32.const 352)) -(assert_return (invoke "𛱁") (i32.const 353)) -(assert_return (invoke "𛱤") (i32.const 354)) -(assert_return (invoke "𞠣") (i32.const 355)) -(assert_return (invoke "🇦") (i32.const 356)) -(assert_return (invoke "Ɑ") (i32.const 357)) -(assert_return (invoke "Λ") (i32.const 358)) -(assert_return (invoke "Ɒ") (i32.const 359)) -(assert_return (invoke "ª") (i32.const 360)) -(assert_return (invoke "∀") (i32.const 361)) -(assert_return (invoke "₳") (i32.const 362)) -(assert_return (invoke "𐤀") (i32.const 363)) -(assert_return (invoke "Ⲁ") (i32.const 364)) -(assert_return (invoke "𐌰") (i32.const 365)) -(assert_return (invoke "Ά") (i32.const 366)) -(assert_return (invoke "Α") (i32.const 367)) -(assert_return (invoke "Ἀ") (i32.const 368)) -(assert_return (invoke "Ἁ") (i32.const 369)) -(assert_return (invoke "Ἂ") (i32.const 370)) -(assert_return (invoke "Ἃ") (i32.const 371)) -(assert_return (invoke "Ἄ") (i32.const 372)) -(assert_return (invoke "Ἅ") (i32.const 373)) -(assert_return (invoke "Ἆ") (i32.const 374)) -(assert_return (invoke "Ἇ") (i32.const 375)) -(assert_return (invoke "ᾈ") (i32.const 376)) -(assert_return (invoke "ᾉ") (i32.const 377)) -(assert_return (invoke "ᾊ") (i32.const 378)) -(assert_return (invoke "ᾋ") (i32.const 379)) -(assert_return (invoke "ᾌ") (i32.const 380)) -(assert_return (invoke "ᾍ") (i32.const 381)) -(assert_return (invoke "ᾎ") (i32.const 382)) -(assert_return (invoke "ᾏ") (i32.const 383)) -(assert_return (invoke "Ᾰ") (i32.const 384)) -(assert_return (invoke "Ᾱ") (i32.const 385)) -(assert_return (invoke "Ὰ") (i32.const 386)) -(assert_return (invoke "Ά") (i32.const 387)) -(assert_return (invoke "ᾼ") (i32.const 388)) -(assert_return (invoke "𝚨") (i32.const 389)) -(assert_return (invoke "𝛢") (i32.const 390)) -(assert_return (invoke "𝜜") (i32.const 391)) -(assert_return (invoke "𝝖") (i32.const 392)) -(assert_return (invoke "𝞐") (i32.const 393)) -(assert_return (invoke "⍶") (i32.const 394)) -(assert_return (invoke "⍺") (i32.const 395)) -(assert_return (invoke "⩜") (i32.const 396)) -(assert_return (invoke "ᗅ") (i32.const 397)) -(assert_return (invoke "Ꭺ") (i32.const 398)) -(assert_return (invoke ")˺˼𔗏⁾₎❩❫⟯﴿︶﹚)⦆❳❵⟧⟩⟫⟭⦈⦊⦖⸣⸥︘︸︺︼︾﹀﹂﹄﹈﹜﹞]}」»’”›❯") (i32.const 399)) -(assert_return (invoke "(˹˻𔗎⁽₍❨❪⟮﴾︵﹙(⦅❲❴⟦⟨⟪⟬⦇⦉⦕⸢⸤︗︷︹︻︽︿﹁﹃﹇﹛﹝[{「«‘“‹❮") (i32.const 400)) -(assert_return (invoke "𝪋𝪤") (i32.const 401)) -(assert_return (invoke "𝪋") (i32.const 402)) -(assert_return (invoke "½") (i32.const 403)) -(assert_return (invoke "1⁄2") (i32.const 404)) -(assert_return (invoke "1/2") (i32.const 405)) -(assert_return (invoke "୳") (i32.const 406)) -(assert_return (invoke "൴") (i32.const 407)) -(assert_return (invoke "⳽") (i32.const 408)) -(assert_return (invoke "꠱") (i32.const 409)) -(assert_return (invoke "𐅁") (i32.const 410)) -(assert_return (invoke "𐅵") (i32.const 411)) -(assert_return (invoke "𐅶") (i32.const 412)) -(assert_return (invoke "𐦽") (i32.const 413)) -(assert_return (invoke "𐹻") (i32.const 414)) -(assert_return (invoke """) (i32.const 415)) -(assert_return (invoke "\7f") (i32.const 416)) -(assert_return (invoke "\08") (i32.const 417)) -(assert_return (invoke "⌫") (i32.const 418)) -(assert_return (invoke "⌦") (i32.const 419)) -(assert_return (invoke "␈") (i32.const 420)) -(assert_return (invoke "␡") (i32.const 421)) -(assert_return (invoke "᷻") (i32.const 422)) -(assert_return (invoke "\0f") (i32.const 423)) -(assert_return (invoke "←") (i32.const 424)) -(assert_return (invoke "⌧") (i32.const 425)) -(assert_return (invoke "⍒") (i32.const 426)) -(assert_return (invoke "⍔") (i32.const 427)) -(assert_return (invoke "⍢") (i32.const 428)) -(assert_return (invoke "⍫") (i32.const 429)) -(assert_return (invoke "\1a") (i32.const 430)) -(assert_return (invoke "␦") (i32.const 431)) -(assert_return (invoke "␚") (i32.const 432)) -(assert_return (invoke "") (i32.const 433)) -(assert_return (invoke "?") (i32.const 434)) -(assert_return (invoke "¿") (i32.const 435)) -(assert_return (invoke "᥅") (i32.const 436)) -(assert_return (invoke ";") (i32.const 437)) -(assert_return (invoke "՞") (i32.const 438)) -(assert_return (invoke "؟") (i32.const 439)) -(assert_return (invoke "፧") (i32.const 440)) -(assert_return (invoke "⁇") (i32.const 441)) -(assert_return (invoke "⍰") (i32.const 442)) -(assert_return (invoke "❓") (i32.const 443)) -(assert_return (invoke "❔") (i32.const 444)) -(assert_return (invoke "⳺") (i32.const 445)) -(assert_return (invoke "⳻") (i32.const 446)) -(assert_return (invoke "⸮") (i32.const 447)) -(assert_return (invoke "㉄") (i32.const 448)) -(assert_return (invoke "꘏") (i32.const 449)) -(assert_return (invoke "꛷") (i32.const 450)) -(assert_return (invoke "︖") (i32.const 451)) -(assert_return (invoke "﹖") (i32.const 452)) -(assert_return (invoke "?") (i32.const 453)) -(assert_return (invoke "𑅃") (i32.const 454)) -(assert_return (invoke "𞥟") (i32.const 455)) -(assert_return (invoke "") (i32.const 456)) -(assert_return (invoke "𖡄") (i32.const 457)) -(assert_return (invoke "⯑") (i32.const 458)) -(assert_return (invoke "¶") (i32.const 459)) -(assert_return (invoke "⁋") (i32.const 460)) -(assert_return (invoke "܀") (i32.const 461)) -(assert_return (invoke "჻") (i32.const 462)) -(assert_return (invoke "፨") (i32.const 463)) -(assert_return (invoke "〷") (i32.const 464)) -(assert_return (invoke "❡") (i32.const 465)) -(assert_return (invoke "⸏") (i32.const 466)) -(assert_return (invoke "⸐") (i32.const 467)) -(assert_return (invoke "⸑") (i32.const 468)) -(assert_return (invoke "⸎") (i32.const 469)) -(assert_return (invoke "\14") (i32.const 470)) -(assert_return (invoke "☙") (i32.const 471)) -(assert_return (invoke "⸿") (i32.const 472)) -(assert_return (invoke "〇") (i32.const 473)) -(assert_return (invoke "๛") (i32.const 474)) -(assert_return (invoke "ꙮ") (i32.const 475)) -(assert_return (invoke "ϓ") (i32.const 476)) -(assert_return (invoke "ϔ") (i32.const 477)) -(assert_return (invoke "ẛ") (i32.const 478)) - -(module - ;; Test that we can use indices instead of names to reference imports, - ;; exports, functions and parameters. - (import "spectest" "print_i32" (func (param i32))) - (func (import "spectest" "print_i32") (param i32)) - (func (param i32) (param i32) - (call 0 (local.get 0)) - (call 1 (local.get 1)) - ) - (export "print32" (func 2)) -) - -(assert_return (invoke "print32" (i32.const 42) (i32.const 123))) diff --git a/test/spec/nop.wast b/test/spec/nop.wast deleted file mode 100644 index e8fe2de4b..000000000 --- a/test/spec/nop.wast +++ /dev/null @@ -1,426 +0,0 @@ -;; Test `nop` operator. - -(module - ;; Auxiliary definitions - (func $dummy) - (func $3-ary (param i32 i32 i32) (result i32) - local.get 0 local.get 1 local.get 2 i32.sub i32.add - ) - (memory 1) - - (func (export "as-func-first") (result i32) - (nop) (i32.const 1) - ) - (func (export "as-func-mid") (result i32) - (call $dummy) (nop) (i32.const 2) - ) - (func (export "as-func-last") (result i32) - (call $dummy) (i32.const 3) (nop) - ) - (func (export "as-func-everywhere") (result i32) - (nop) (nop) (call $dummy) (nop) (i32.const 4) (nop) (nop) - ) - - (func (export "as-drop-first") (param i32) - (nop) (local.get 0) (drop) - ) - (func (export "as-drop-last") (param i32) - (local.get 0) (nop) (drop) - ) - (func (export "as-drop-everywhere") (param i32) - (nop) (nop) (local.get 0) (nop) (nop) (drop) - ) - - (func (export "as-select-first") (param i32) (result i32) - (nop) (local.get 0) (local.get 0) (local.get 0) (select) - ) - (func (export "as-select-mid1") (param i32) (result i32) - (local.get 0) (nop) (local.get 0) (local.get 0) (select) - ) - (func (export "as-select-mid2") (param i32) (result i32) - (local.get 0) (local.get 0) (nop) (local.get 0) (select) - ) - (func (export "as-select-last") (param i32) (result i32) - (local.get 0) (local.get 0) (local.get 0) (nop) (select) - ) - (func (export "as-select-everywhere") (param i32) (result i32) - (nop) (local.get 0) (nop) (nop) (local.get 0) - (nop) (nop) (local.get 0) (nop) (nop) (select) - ) - - (func (export "as-block-first") (result i32) - (block (result i32) (nop) (i32.const 2)) - ) - (func (export "as-block-mid") (result i32) - (block (result i32) (call $dummy) (nop) (i32.const 2)) - ) - (func (export "as-block-last") (result i32) - (block (result i32) (nop) (call $dummy) (i32.const 3) (nop)) - ) - (func (export "as-block-everywhere") (result i32) - (block (result i32) - (nop) (nop) (call $dummy) (nop) (i32.const 4) (nop) (nop) - ) - ) - - (func (export "as-loop-first") (result i32) - (loop (result i32) (nop) (i32.const 2)) - ) - (func (export "as-loop-mid") (result i32) - (loop (result i32) (call $dummy) (nop) (i32.const 2)) - ) - (func (export "as-loop-last") (result i32) - (loop (result i32) (call $dummy) (i32.const 3) (nop)) - ) - (func (export "as-loop-everywhere") (result i32) - (loop (result i32) - (nop) (nop) (call $dummy) (nop) (i32.const 4) (nop) (nop) - ) - ) - - (func (export "as-if-condition") (param i32) - (local.get 0) (nop) (if (then (call $dummy))) - ) - (func (export "as-if-then") (param i32) - (if (local.get 0) (then (nop)) (else (call $dummy))) - ) - (func (export "as-if-else") (param i32) - (if (local.get 0) (then (call $dummy)) (else (nop))) - ) - - (func (export "as-br-first") (param i32) (result i32) - (block (result i32) (nop) (local.get 0) (br 0)) - ) - (func (export "as-br-last") (param i32) (result i32) - (block (result i32) (local.get 0) (nop) (br 0)) - ) - (func (export "as-br-everywhere") (param i32) (result i32) - (block (result i32) (nop) (nop) (local.get 0) (nop) (nop) (br 0)) - ) - - (func (export "as-br_if-first") (param i32) (result i32) - (block (result i32) (nop) (local.get 0) (local.get 0) (br_if 0)) - ) - (func (export "as-br_if-mid") (param i32) (result i32) - (block (result i32) (local.get 0) (nop) (local.get 0) (br_if 0)) - ) - (func (export "as-br_if-last") (param i32) (result i32) - (block (result i32) (local.get 0) (local.get 0) (nop) (br_if 0)) - ) - (func (export "as-br_if-everywhere") (param i32) (result i32) - (block (result i32) - (nop) (nop) (local.get 0) (nop) (nop) (local.get 0) (nop) (nop) - (br_if 0) - ) - ) - - (func (export "as-br_table-first") (param i32) (result i32) - (block (result i32) (nop) (local.get 0) (local.get 0) (br_table 0 0)) - ) - (func (export "as-br_table-mid") (param i32) (result i32) - (block (result i32) (local.get 0) (nop) (local.get 0) (br_table 0 0)) - ) - (func (export "as-br_table-last") (param i32) (result i32) - (block (result i32) (local.get 0) (local.get 0) (nop) (br_table 0 0)) - ) - (func (export "as-br_table-everywhere") (param i32) (result i32) - (block (result i32) - (nop) (nop) (local.get 0) (nop) (nop) (local.get 0) (nop) (nop) - (br_table 0 0) - ) - ) - - (func (export "as-return-first") (param i32) (result i32) - (nop) (local.get 0) (return) - ) - (func (export "as-return-last") (param i32) (result i32) - (local.get 0) (nop) (return) - ) - (func (export "as-return-everywhere") (param i32) (result i32) - (nop) (nop) (local.get 0) (nop) (nop) (return) - ) - - (func (export "as-call-first") (param i32 i32 i32) (result i32) - (nop) (local.get 0) (local.get 1) (local.get 2) (call $3-ary) - ) - (func (export "as-call-mid1") (param i32 i32 i32) (result i32) - (local.get 0) (nop) (local.get 1) (local.get 2) (call $3-ary) - ) - (func (export "as-call-mid2") (param i32 i32 i32) (result i32) - (local.get 0) (local.get 1) (nop) (local.get 2) (call $3-ary) - ) - (func (export "as-call-last") (param i32 i32 i32) (result i32) - (local.get 0) (local.get 1) (local.get 2) (nop) (call $3-ary) - ) - (func (export "as-call-everywhere") (param i32 i32 i32) (result i32) - (nop) (nop) (local.get 0) (nop) (nop) (local.get 1) - (nop) (nop) (local.get 2) (nop) (nop) (call $3-ary) - ) - - (func (export "as-unary-first") (param i32) (result i32) - (nop) (local.get 0) (i32.ctz) - ) - (func (export "as-unary-last") (param i32) (result i32) - (local.get 0) (nop) (i32.ctz) - ) - (func (export "as-unary-everywhere") (param i32) (result i32) - (nop) (nop) (local.get 0) (nop) (nop) (i32.ctz) - ) - - (func (export "as-binary-first") (param i32) (result i32) - (nop) (local.get 0) (local.get 0) (i32.add) - ) - (func (export "as-binary-mid") (param i32) (result i32) - (local.get 0) (nop) (local.get 0) (i32.add) - ) - (func (export "as-binary-last") (param i32) (result i32) - (local.get 0) (local.get 0) (nop) (i32.add) - ) - (func (export "as-binary-everywhere") (param i32) (result i32) - (nop) (local.get 0) (nop) (nop) (local.get 0) (nop) (nop) (i32.add) - ) - - (func (export "as-test-first") (param i32) (result i32) - (nop) (local.get 0) (i32.eqz) - ) - (func (export "as-test-last") (param i32) (result i32) - (local.get 0) (nop) (i32.eqz) - ) - (func (export "as-test-everywhere") (param i32) (result i32) - (nop) (nop) (local.get 0) (nop) (nop) i32.eqz - ) - - (func (export "as-compare-first") (param i32) (result i32) - (nop) (local.get 0) (local.get 0) (i32.ne) - ) - (func (export "as-compare-mid") (param i32) (result i32) - (local.get 0) (nop) (local.get 0) (i32.ne) - ) - (func (export "as-compare-last") (param i32) (result i32) - (local.get 0) (local.get 0) (nop) (i32.lt_u) - ) - (func (export "as-compare-everywhere") (param i32) (result i32) - (nop) (local.get 0) (nop) (nop) (local.get 0) (nop) (nop) (i32.le_s) - ) - - (func (export "as-memory.grow-first") (param i32) (result i32) - (nop) (local.get 0) (memory.grow) - ) - (func (export "as-memory.grow-last") (param i32) (result i32) - (local.get 0) (nop) (memory.grow) - ) - (func (export "as-memory.grow-everywhere") (param i32) (result i32) - (nop) (nop) (local.get 0) (nop) (nop) (memory.grow) - ) - - (func $func (param i32 i32) (result i32) (local.get 0)) - (type $check (func (param i32 i32) (result i32))) - (table funcref (elem $func)) - (func (export "as-call_indirect-first") (result i32) - (block (result i32) - (nop) (i32.const 1) (i32.const 2) (i32.const 0) - (call_indirect (type $check)) - ) - ) - (func (export "as-call_indirect-mid1") (result i32) - (block (result i32) - (i32.const 1) (nop) (i32.const 2) (i32.const 0) - (call_indirect (type $check)) - ) - ) - (func (export "as-call_indirect-mid2") (result i32) - (block (result i32) - (i32.const 1) (i32.const 2) (nop) (i32.const 0) - (call_indirect (type $check)) - ) - ) - (func (export "as-call_indirect-last") (result i32) - (block (result i32) - (i32.const 1) (i32.const 2) (i32.const 0) (nop) - (call_indirect (type $check)) - ) - ) - (func (export "as-call_indirect-everywhere") (result i32) - (block (result i32) - (nop) (nop) (i32.const 1) (nop) (nop) (i32.const 2) (nop) (nop) (i32.const 0) (nop) (nop) - (call_indirect (type $check)) - ) - ) - - (func (export "as-local.set-first") (param i32) (result i32) - (nop) (i32.const 2) (local.set 0) (local.get 0) - ) - (func (export "as-local.set-last") (param i32) (result i32) - (i32.const 2) (nop) (local.set 0) (local.get 0) - ) - (func (export "as-local.set-everywhere") (param i32) (result i32) - (nop) (nop) (i32.const 2) (nop) (nop) (local.set 0) (local.get 0) - ) - - (func (export "as-local.tee-first") (param i32) (result i32) - (nop) (i32.const 2) (local.tee 0) - ) - (func (export "as-local.tee-last") (param i32) (result i32) - (i32.const 2) (nop) (local.tee 0) - ) - (func (export "as-local.tee-everywhere") (param i32) (result i32) - (nop) (nop) (i32.const 2) (nop) (nop) (local.tee 0) - ) - - (global $a (mut i32) (i32.const 0)) - (func (export "as-global.set-first") (result i32) - (nop) (i32.const 2) (global.set $a) (global.get $a) - ) - (func (export "as-global.set-last") (result i32) - (i32.const 2) (nop) (global.set $a) (global.get $a) - ) - (func (export "as-global.set-everywhere") (result i32) - (nop) (nop) (i32.const 2) (nop) (nop) (global.set 0) - (global.get $a) - ) - - (func (export "as-load-first") (param i32) (result i32) - (nop) (local.get 0) (i32.load) - ) - (func (export "as-load-last") (param i32) (result i32) - (local.get 0) (nop) (i32.load) - ) - (func (export "as-load-everywhere") (param i32) (result i32) - (nop) (nop) (local.get 0) (nop) (nop) (i32.load) - ) - - (func (export "as-store-first") (param i32 i32) - (nop) (local.get 0) (local.get 1) (i32.store) - ) - (func (export "as-store-mid") (param i32 i32) - (local.get 0) (nop) (local.get 1) (i32.store) - ) - (func (export "as-store-last") (param i32 i32) - (local.get 0) (local.get 1) (nop) (i32.store) - ) - (func (export "as-store-everywhere") (param i32 i32) - (nop) (nop) (local.get 0) (nop) (nop) (local.get 1) (nop) (nop) (i32.store) - ) -) - -(assert_return (invoke "as-func-first") (i32.const 1)) -(assert_return (invoke "as-func-mid") (i32.const 2)) -(assert_return (invoke "as-func-last") (i32.const 3)) -(assert_return (invoke "as-func-everywhere") (i32.const 4)) - -(assert_return (invoke "as-drop-first" (i32.const 0))) -(assert_return (invoke "as-drop-last" (i32.const 0))) -(assert_return (invoke "as-drop-everywhere" (i32.const 0))) - -(assert_return (invoke "as-select-first" (i32.const 3)) (i32.const 3)) -(assert_return (invoke "as-select-mid1" (i32.const 3)) (i32.const 3)) -(assert_return (invoke "as-select-mid2" (i32.const 3)) (i32.const 3)) -(assert_return (invoke "as-select-last" (i32.const 3)) (i32.const 3)) -(assert_return (invoke "as-select-everywhere" (i32.const 3)) (i32.const 3)) - -(assert_return (invoke "as-block-first") (i32.const 2)) -(assert_return (invoke "as-block-mid") (i32.const 2)) -(assert_return (invoke "as-block-last") (i32.const 3)) -(assert_return (invoke "as-block-everywhere") (i32.const 4)) - -(assert_return (invoke "as-loop-first") (i32.const 2)) -(assert_return (invoke "as-loop-mid") (i32.const 2)) -(assert_return (invoke "as-loop-last") (i32.const 3)) -(assert_return (invoke "as-loop-everywhere") (i32.const 4)) - -(assert_return (invoke "as-if-condition" (i32.const 0))) -(assert_return (invoke "as-if-condition" (i32.const -1))) -(assert_return (invoke "as-if-then" (i32.const 0))) -(assert_return (invoke "as-if-then" (i32.const 4))) -(assert_return (invoke "as-if-else" (i32.const 0))) -(assert_return (invoke "as-if-else" (i32.const 3))) - -(assert_return (invoke "as-br-first" (i32.const 5)) (i32.const 5)) -(assert_return (invoke "as-br-last" (i32.const 6)) (i32.const 6)) -(assert_return (invoke "as-br-everywhere" (i32.const 7)) (i32.const 7)) - -(assert_return (invoke "as-br_if-first" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "as-br_if-mid" (i32.const 5)) (i32.const 5)) -(assert_return (invoke "as-br_if-last" (i32.const 6)) (i32.const 6)) -(assert_return (invoke "as-br_if-everywhere" (i32.const 7)) (i32.const 7)) - -(assert_return (invoke "as-br_table-first" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "as-br_table-mid" (i32.const 5)) (i32.const 5)) -(assert_return (invoke "as-br_table-last" (i32.const 6)) (i32.const 6)) -(assert_return (invoke "as-br_table-everywhere" (i32.const 7)) (i32.const 7)) - -(assert_return (invoke "as-return-first" (i32.const 5)) (i32.const 5)) -(assert_return (invoke "as-return-last" (i32.const 6)) (i32.const 6)) -(assert_return (invoke "as-return-everywhere" (i32.const 7)) (i32.const 7)) - -(assert_return (invoke "as-call-first" (i32.const 3) (i32.const 1) (i32.const 2)) (i32.const 2)) -(assert_return (invoke "as-call-mid1" (i32.const 3) (i32.const 1) (i32.const 2)) (i32.const 2)) -(assert_return (invoke "as-call-mid2" (i32.const 0) (i32.const 3) (i32.const 1)) (i32.const 2)) -(assert_return (invoke "as-call-last" (i32.const 10) (i32.const 9) (i32.const -1)) (i32.const 20)) -(assert_return (invoke "as-call-everywhere" (i32.const 2) (i32.const 1) (i32.const 5)) (i32.const -2)) - -(assert_return (invoke "as-unary-first" (i32.const 30)) (i32.const 1)) -(assert_return (invoke "as-unary-last" (i32.const 30)) (i32.const 1)) -(assert_return (invoke "as-unary-everywhere" (i32.const 12)) (i32.const 2)) - -(assert_return (invoke "as-binary-first" (i32.const 3)) (i32.const 6)) -(assert_return (invoke "as-binary-mid" (i32.const 3)) (i32.const 6)) -(assert_return (invoke "as-binary-last" (i32.const 3)) (i32.const 6)) -(assert_return (invoke "as-binary-everywhere" (i32.const 3)) (i32.const 6)) - -(assert_return (invoke "as-test-first" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "as-test-last" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "as-test-everywhere" (i32.const 0)) (i32.const 1)) - -(assert_return (invoke "as-compare-first" (i32.const 3)) (i32.const 0)) -(assert_return (invoke "as-compare-mid" (i32.const 3)) (i32.const 0)) -(assert_return (invoke "as-compare-last" (i32.const 3)) (i32.const 0)) -(assert_return (invoke "as-compare-everywhere" (i32.const 3)) (i32.const 1)) - -(assert_return (invoke "as-memory.grow-first" (i32.const 0)) (i32.const 1)) -(assert_return (invoke "as-memory.grow-last" (i32.const 2)) (i32.const 1)) -(assert_return (invoke "as-memory.grow-everywhere" (i32.const 12)) (i32.const 3)) - -(assert_return (invoke "as-call_indirect-first") (i32.const 1)) -(assert_return (invoke "as-call_indirect-mid1") (i32.const 1)) -(assert_return (invoke "as-call_indirect-mid2") (i32.const 1)) -(assert_return (invoke "as-call_indirect-last") (i32.const 1)) -(assert_return (invoke "as-call_indirect-everywhere") (i32.const 1)) - -(assert_return (invoke "as-local.set-first" (i32.const 1)) (i32.const 2)) -(assert_return (invoke "as-local.set-last" (i32.const 1)) (i32.const 2)) -(assert_return (invoke "as-local.set-everywhere" (i32.const 1)) (i32.const 2)) - -(assert_return (invoke "as-local.tee-first" (i32.const 1)) (i32.const 2)) -(assert_return (invoke "as-local.tee-last" (i32.const 1)) (i32.const 2)) -(assert_return (invoke "as-local.tee-everywhere" (i32.const 1)) (i32.const 2)) - -(assert_return (invoke "as-global.set-first") (i32.const 2)) -(assert_return (invoke "as-global.set-last") (i32.const 2)) -(assert_return (invoke "as-global.set-everywhere") (i32.const 2)) - -(assert_return (invoke "as-load-first" (i32.const 100)) (i32.const 0)) -(assert_return (invoke "as-load-last" (i32.const 100)) (i32.const 0)) -(assert_return (invoke "as-load-everywhere" (i32.const 100)) (i32.const 0)) - -(assert_return (invoke "as-store-first" (i32.const 0) (i32.const 1))) -(assert_return (invoke "as-store-mid" (i32.const 0) (i32.const 2))) -(assert_return (invoke "as-store-last" (i32.const 0) (i32.const 3))) -(assert_return (invoke "as-store-everywhere" (i32.const 0) (i32.const 4))) - -(assert_invalid - (module (func $type-i32 (result i32) (nop))) - "type mismatch" -) -(assert_invalid - (module (func $type-i64 (result i64) (nop))) - "type mismatch" -) -(assert_invalid - (module (func $type-f32 (result f32) (nop))) - "type mismatch" -) -(assert_invalid - (module (func $type-f64 (result f64) (nop))) - "type mismatch" -) diff --git a/test/spec/ref_as_non_null.wast b/test/spec/ref_as_non_null.wast deleted file mode 100644 index e597e7b9b..000000000 --- a/test/spec/ref_as_non_null.wast +++ /dev/null @@ -1,28 +0,0 @@ -(module - (type $t (func (result i32))) - - (func $nn (param $r (ref $t)) (result i32) - (call_ref $t (ref.as_non_null (local.get $r))) - ) - (func $n (param $r (ref null $t)) (result i32) - (call_ref $t (ref.as_non_null (local.get $r))) - ) - - (elem func $f) - (func $f (result i32) (i32.const 7)) - - (func (export "nullable-null") (result i32) (call $n (ref.null $t))) - (func (export "nonnullable-f") (result i32) (call $nn (ref.func $f))) - (func (export "nullable-f") (result i32) (call $n (ref.func $f))) -) - -(assert_trap (invoke "nullable-null") "null reference") -(assert_return (invoke "nonnullable-f") (i32.const 7)) -(assert_return (invoke "nullable-f") (i32.const 7)) - -(module - (type $t (func)) - (func (param $r (ref $t)) (drop (ref.as_non_null (local.get $r)))) - (func (param $r (ref func)) (drop (ref.as_non_null (local.get $r)))) - (func (param $r (ref extern)) (drop (ref.as_non_null (local.get $r)))) -) diff --git a/test/spec/return.wast b/test/spec/return.wast deleted file mode 100644 index 7077f25b6..000000000 --- a/test/spec/return.wast +++ /dev/null @@ -1,479 +0,0 @@ -;; Test `return` operator - -(module - ;; Auxiliary definition - (func $dummy) - - (func (export "type-i32") (drop (i32.ctz (return)))) - (func (export "type-i64") (drop (i64.ctz (return)))) - (func (export "type-f32") (drop (f32.neg (return)))) - (func (export "type-f64") (drop (f64.neg (return)))) - - (func (export "type-i32-value") (result i32) - (block (result i32) (i32.ctz (return (i32.const 1)))) - ) - (func (export "type-i64-value") (result i64) - (block (result i64) (i64.ctz (return (i64.const 2)))) - ) - (func (export "type-f32-value") (result f32) - (block (result f32) (f32.neg (return (f32.const 3)))) - ) - (func (export "type-f64-value") (result f64) - (block (result f64) (f64.neg (return (f64.const 4)))) - ) - - (func (export "nullary") (return)) - (func (export "unary") (result f64) (return (f64.const 3))) - - (func (export "as-func-first") (result i32) - (return (i32.const 1)) (i32.const 2) - ) - (func (export "as-func-mid") (result i32) - (call $dummy) (return (i32.const 2)) (i32.const 3) - ) - (func (export "as-func-last") - (nop) (call $dummy) (return) - ) - (func (export "as-func-value") (result i32) - (nop) (call $dummy) (return (i32.const 3)) - ) - - (func (export "as-block-first") - (block (return) (call $dummy)) - ) - (func (export "as-block-mid") - (block (call $dummy) (return) (call $dummy)) - ) - (func (export "as-block-last") - (block (nop) (call $dummy) (return)) - ) - (func (export "as-block-value") (result i32) - (block (result i32) (nop) (call $dummy) (return (i32.const 2))) - ) - - (func (export "as-loop-first") (result i32) - (loop (result i32) (return (i32.const 3)) (i32.const 2)) - ) - (func (export "as-loop-mid") (result i32) - (loop (result i32) (call $dummy) (return (i32.const 4)) (i32.const 2)) - ) - (func (export "as-loop-last") (result i32) - (loop (result i32) (nop) (call $dummy) (return (i32.const 5))) - ) - - (func (export "as-br-value") (result i32) - (block (result i32) (br 0 (return (i32.const 9)))) - ) - - (func (export "as-br_if-cond") - (block (br_if 0 (return))) - ) - (func (export "as-br_if-value") (result i32) - (block (result i32) - (drop (br_if 0 (return (i32.const 8)) (i32.const 1))) (i32.const 7) - ) - ) - (func (export "as-br_if-value-cond") (result i32) - (block (result i32) - (drop (br_if 0 (i32.const 6) (return (i32.const 9)))) (i32.const 7) - ) - ) - - (func (export "as-br_table-index") (result i64) - (block (br_table 0 0 0 (return (i64.const 9)))) (i64.const -1) - ) - (func (export "as-br_table-value") (result i32) - (block (result i32) - (br_table 0 0 0 (return (i32.const 10)) (i32.const 1)) (i32.const 7) - ) - ) - (func (export "as-br_table-value-index") (result i32) - (block (result i32) - (br_table 0 0 (i32.const 6) (return (i32.const 11))) (i32.const 7) - ) - ) - - (func (export "as-return-value") (result i64) - (return (return (i64.const 7))) - ) - - (func (export "as-if-cond") (result i32) - (if (result i32) - (return (i32.const 2)) (then (i32.const 0)) (else (i32.const 1)) - ) - ) - (func (export "as-if-then") (param i32 i32) (result i32) - (if (result i32) - (local.get 0) (then (return (i32.const 3))) (else (local.get 1)) - ) - ) - (func (export "as-if-else") (param i32 i32) (result i32) - (if (result i32) - (local.get 0) (then (local.get 1)) (else (return (i32.const 4))) - ) - ) - - (func (export "as-select-first") (param i32 i32) (result i32) - (select (return (i32.const 5)) (local.get 0) (local.get 1)) - ) - (func (export "as-select-second") (param i32 i32) (result i32) - (select (local.get 0) (return (i32.const 6)) (local.get 1)) - ) - (func (export "as-select-cond") (result i32) - (select (i32.const 0) (i32.const 1) (return (i32.const 7))) - ) - - (func $f (param i32 i32 i32) (result i32) (i32.const -1)) - (func (export "as-call-first") (result i32) - (call $f (return (i32.const 12)) (i32.const 2) (i32.const 3)) - ) - (func (export "as-call-mid") (result i32) - (call $f (i32.const 1) (return (i32.const 13)) (i32.const 3)) - ) - (func (export "as-call-last") (result i32) - (call $f (i32.const 1) (i32.const 2) (return (i32.const 14))) - ) - - (type $sig (func (param i32 i32 i32) (result i32))) - (table funcref (elem $f)) - (func (export "as-call_indirect-func") (result i32) - (call_indirect (type $sig) - (return (i32.const 20)) (i32.const 1) (i32.const 2) (i32.const 3) - ) - ) - (func (export "as-call_indirect-first") (result i32) - (call_indirect (type $sig) - (i32.const 0) (return (i32.const 21)) (i32.const 2) (i32.const 3) - ) - ) - (func (export "as-call_indirect-mid") (result i32) - (call_indirect (type $sig) - (i32.const 0) (i32.const 1) (return (i32.const 22)) (i32.const 3) - ) - ) - (func (export "as-call_indirect-last") (result i32) - (call_indirect (type $sig) - (i32.const 0) (i32.const 1) (i32.const 2) (return (i32.const 23)) - ) - ) - - (func (export "as-local.set-value") (result i32) (local f32) - (local.set 0 (return (i32.const 17))) (i32.const -1) - ) - (func (export "as-local.tee-value") (result i32) (local i32) - (local.tee 0 (return (i32.const 1))) - ) - (global $a (mut i32) (i32.const 0)) - (func (export "as-global.set-value") (result i32) - (global.set $a (return (i32.const 1))) - ) - - (memory 1) - (func (export "as-load-address") (result f32) - (f32.load (return (f32.const 1.7))) - ) - (func (export "as-loadN-address") (result i64) - (i64.load8_s (return (i64.const 30))) - ) - - (func (export "as-store-address") (result i32) - (f64.store (return (i32.const 30)) (f64.const 7)) (i32.const -1) - ) - (func (export "as-store-value") (result i32) - (i64.store (i32.const 2) (return (i32.const 31))) (i32.const -1) - ) - - (func (export "as-storeN-address") (result i32) - (i32.store8 (return (i32.const 32)) (i32.const 7)) (i32.const -1) - ) - (func (export "as-storeN-value") (result i32) - (i64.store16 (i32.const 2) (return (i32.const 33))) (i32.const -1) - ) - - (func (export "as-unary-operand") (result f32) - (f32.neg (return (f32.const 3.4))) - ) - - (func (export "as-binary-left") (result i32) - (i32.add (return (i32.const 3)) (i32.const 10)) - ) - (func (export "as-binary-right") (result i64) - (i64.sub (i64.const 10) (return (i64.const 45))) - ) - - (func (export "as-test-operand") (result i32) - (i32.eqz (return (i32.const 44))) - ) - - (func (export "as-compare-left") (result i32) - (f64.le (return (i32.const 43)) (f64.const 10)) - ) - (func (export "as-compare-right") (result i32) - (f32.ne (f32.const 10) (return (i32.const 42))) - ) - - (func (export "as-convert-operand") (result i32) - (i32.wrap_i64 (return (i32.const 41))) - ) - - (func (export "as-memory.grow-size") (result i32) - (memory.grow (return (i32.const 40))) - ) -) - -(assert_return (invoke "type-i32")) -(assert_return (invoke "type-i64")) -(assert_return (invoke "type-f32")) -(assert_return (invoke "type-f64")) - -(assert_return (invoke "type-i32-value") (i32.const 1)) -(assert_return (invoke "type-i64-value") (i64.const 2)) -(assert_return (invoke "type-f32-value") (f32.const 3)) -(assert_return (invoke "type-f64-value") (f64.const 4)) - -(assert_return (invoke "nullary")) -(assert_return (invoke "unary") (f64.const 3)) - -(assert_return (invoke "as-func-first") (i32.const 1)) -(assert_return (invoke "as-func-mid") (i32.const 2)) -(assert_return (invoke "as-func-last")) -(assert_return (invoke "as-func-value") (i32.const 3)) - -(assert_return (invoke "as-block-first")) -(assert_return (invoke "as-block-mid")) -(assert_return (invoke "as-block-last")) -(assert_return (invoke "as-block-value") (i32.const 2)) - -(assert_return (invoke "as-loop-first") (i32.const 3)) -(assert_return (invoke "as-loop-mid") (i32.const 4)) -(assert_return (invoke "as-loop-last") (i32.const 5)) - -(assert_return (invoke "as-br-value") (i32.const 9)) - -(assert_return (invoke "as-br_if-cond")) -(assert_return (invoke "as-br_if-value") (i32.const 8)) -(assert_return (invoke "as-br_if-value-cond") (i32.const 9)) - -(assert_return (invoke "as-br_table-index") (i64.const 9)) -(assert_return (invoke "as-br_table-value") (i32.const 10)) -(assert_return (invoke "as-br_table-value-index") (i32.const 11)) - -(assert_return (invoke "as-return-value") (i64.const 7)) - -(assert_return (invoke "as-if-cond") (i32.const 2)) -(assert_return (invoke "as-if-then" (i32.const 1) (i32.const 6)) (i32.const 3)) -(assert_return (invoke "as-if-then" (i32.const 0) (i32.const 6)) (i32.const 6)) -(assert_return (invoke "as-if-else" (i32.const 0) (i32.const 6)) (i32.const 4)) -(assert_return (invoke "as-if-else" (i32.const 1) (i32.const 6)) (i32.const 6)) - -(assert_return (invoke "as-select-first" (i32.const 0) (i32.const 6)) (i32.const 5)) -(assert_return (invoke "as-select-first" (i32.const 1) (i32.const 6)) (i32.const 5)) -(assert_return (invoke "as-select-second" (i32.const 0) (i32.const 6)) (i32.const 6)) -(assert_return (invoke "as-select-second" (i32.const 1) (i32.const 6)) (i32.const 6)) -(assert_return (invoke "as-select-cond") (i32.const 7)) - -(assert_return (invoke "as-call-first") (i32.const 12)) -(assert_return (invoke "as-call-mid") (i32.const 13)) -(assert_return (invoke "as-call-last") (i32.const 14)) - -(assert_return (invoke "as-call_indirect-func") (i32.const 20)) -(assert_return (invoke "as-call_indirect-first") (i32.const 21)) -(assert_return (invoke "as-call_indirect-mid") (i32.const 22)) -(assert_return (invoke "as-call_indirect-last") (i32.const 23)) - -(assert_return (invoke "as-local.set-value") (i32.const 17)) -(assert_return (invoke "as-local.tee-value") (i32.const 1)) -(assert_return (invoke "as-global.set-value") (i32.const 1)) - -(assert_return (invoke "as-load-address") (f32.const 1.7)) -(assert_return (invoke "as-loadN-address") (i64.const 30)) - -(assert_return (invoke "as-store-address") (i32.const 30)) -(assert_return (invoke "as-store-value") (i32.const 31)) -(assert_return (invoke "as-storeN-address") (i32.const 32)) -(assert_return (invoke "as-storeN-value") (i32.const 33)) - -(assert_return (invoke "as-unary-operand") (f32.const 3.4)) - -(assert_return (invoke "as-binary-left") (i32.const 3)) -(assert_return (invoke "as-binary-right") (i64.const 45)) - -(assert_return (invoke "as-test-operand") (i32.const 44)) - -(assert_return (invoke "as-compare-left") (i32.const 43)) -(assert_return (invoke "as-compare-right") (i32.const 42)) - -(assert_return (invoke "as-convert-operand") (i32.const 41)) - -(assert_return (invoke "as-memory.grow-size") (i32.const 40)) - -(assert_invalid - (module (func $type-value-empty-vs-num (result i32) (return))) - "type mismatch" -) -(assert_invalid - (module - (func $type-value-empty-vs-num-in-block (result i32) - (i32.const 0) - (block (return)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-value-empty-vs-num-in-loop (result i32) - (i32.const 0) - (loop (return)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-value-empty-vs-num-in-then (result i32) - (i32.const 0) (i32.const 0) - (if (then (return))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-value-empty-vs-num-in-else (result i32) - (i32.const 0) (i32.const 0) - (if (result i32) (then (i32.const 0)) (else (return))) (drop) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-value-empty-vs-num-in-br (result i32) - (i32.const 0) - (block (br 0 (return))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-value-empty-vs-num-in-br_if (result i32) - (i32.const 0) - (block (br_if 0 (return) (i32.const 1))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-value-empty-vs-num-in-br_table (result i32) - (i32.const 0) - (block (br_table 0 (return))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-value-empty-vs-num-in-return (result i32) - (return (return)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-value-empty-vs-num-in-select (result i32) - (select (return) (i32.const 1) (i32.const 2)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-value-empty-vs-num-in-call (result i32) - (call 1 (return)) - ) - (func (param i32) (result i32) (local.get 0)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $f (param i32) (result i32) (local.get 0)) - (type $sig (func (param i32) (result i32))) - (table funcref (elem $f)) - (func $type-value-empty-vs-num-in-call_indirect (result i32) - (block (result i32) - (call_indirect (type $sig) - (return) (i32.const 0) - ) - ) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-value-empty-vs-num-in-local.set (result i32) - (local i32) - (local.set 0 (return)) (local.get 0) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-value-empty-vs-num-in-local.tee (result i32) - (local i32) - (local.tee 0 (return)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (global $x (mut i32) (i32.const 0)) - (func $type-value-empty-vs-num-in-global.set (result i32) - (global.set $x (return)) (global.get $x) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-value-empty-vs-num-in-memory.grow (result i32) - (memory.grow (return)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 0) - (func $type-value-empty-vs-num-in-load (result i32) - (i32.load (return)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-value-empty-vs-num-in-store (result i32) - (i32.store (return) (i32.const 1)) - ) - ) - "type mismatch" -) -(assert_invalid - (module (func $type-value-void-vs-num (result f64) (return (nop)))) - "type mismatch" -) -(assert_invalid - (module (func $type-value-num-vs-num (result f64) (return (i64.const 1)))) - "type mismatch" -) - diff --git a/test/spec/return_call.wast b/test/spec/return_call.wast deleted file mode 100644 index 9423159ff..000000000 --- a/test/spec/return_call.wast +++ /dev/null @@ -1,202 +0,0 @@ -;; Test `return_call` operator - -(module - ;; Auxiliary definitions - (func $const-i32 (result i32) (i32.const 0x132)) - (func $const-i64 (result i64) (i64.const 0x164)) - (func $const-f32 (result f32) (f32.const 0xf32)) - (func $const-f64 (result f64) (f64.const 0xf64)) - - (func $id-i32 (param i32) (result i32) (local.get 0)) - (func $id-i64 (param i64) (result i64) (local.get 0)) - (func $id-f32 (param f32) (result f32) (local.get 0)) - (func $id-f64 (param f64) (result f64) (local.get 0)) - - (func $f32-i32 (param f32 i32) (result i32) (local.get 1)) - (func $i32-i64 (param i32 i64) (result i64) (local.get 1)) - (func $f64-f32 (param f64 f32) (result f32) (local.get 1)) - (func $i64-f64 (param i64 f64) (result f64) (local.get 1)) - - ;; Typing - - (func (export "type-i32") (result i32) (return_call $const-i32)) - (func (export "type-i64") (result i64) (return_call $const-i64)) - (func (export "type-f32") (result f32) (return_call $const-f32)) - (func (export "type-f64") (result f64) (return_call $const-f64)) - - (func (export "type-first-i32") (result i32) (return_call $id-i32 (i32.const 32))) - (func (export "type-first-i64") (result i64) (return_call $id-i64 (i64.const 64))) - (func (export "type-first-f32") (result f32) (return_call $id-f32 (f32.const 1.32))) - (func (export "type-first-f64") (result f64) (return_call $id-f64 (f64.const 1.64))) - - (func (export "type-second-i32") (result i32) - (return_call $f32-i32 (f32.const 32.1) (i32.const 32)) - ) - (func (export "type-second-i64") (result i64) - (return_call $i32-i64 (i32.const 32) (i64.const 64)) - ) - (func (export "type-second-f32") (result f32) - (return_call $f64-f32 (f64.const 64) (f32.const 32)) - ) - (func (export "type-second-f64") (result f64) - (return_call $i64-f64 (i64.const 64) (f64.const 64.1)) - ) - - ;; Recursion - - (func $fac-acc (export "fac-acc") (param i64 i64) (result i64) - (if (result i64) (i64.eqz (local.get 0)) - (then (local.get 1)) - (else - (return_call $fac-acc - (i64.sub (local.get 0) (i64.const 1)) - (i64.mul (local.get 0) (local.get 1)) - ) - ) - ) - ) - - (func $count (export "count") (param i64) (result i64) - (if (result i64) (i64.eqz (local.get 0)) - (then (local.get 0)) - (else (return_call $count (i64.sub (local.get 0) (i64.const 1)))) - ) - ) - - (func $even (export "even") (param i64) (result i32) - (if (result i32) (i64.eqz (local.get 0)) - (then (i32.const 44)) - (else (return_call $odd (i64.sub (local.get 0) (i64.const 1)))) - ) - ) - (func $odd (export "odd") (param i64) (result i32) - (if (result i32) (i64.eqz (local.get 0)) - (then (i32.const 99)) - (else (return_call $even (i64.sub (local.get 0) (i64.const 1)))) - ) - ) -) - -(assert_return (invoke "type-i32") (i32.const 0x132)) -(assert_return (invoke "type-i64") (i64.const 0x164)) -(assert_return (invoke "type-f32") (f32.const 0xf32)) -(assert_return (invoke "type-f64") (f64.const 0xf64)) - -(assert_return (invoke "type-first-i32") (i32.const 32)) -(assert_return (invoke "type-first-i64") (i64.const 64)) -(assert_return (invoke "type-first-f32") (f32.const 1.32)) -(assert_return (invoke "type-first-f64") (f64.const 1.64)) - -(assert_return (invoke "type-second-i32") (i32.const 32)) -(assert_return (invoke "type-second-i64") (i64.const 64)) -(assert_return (invoke "type-second-f32") (f32.const 32)) -(assert_return (invoke "type-second-f64") (f64.const 64.1)) - -(assert_return (invoke "fac-acc" (i64.const 0) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "fac-acc" (i64.const 1) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "fac-acc" (i64.const 5) (i64.const 1)) (i64.const 120)) -(assert_return - (invoke "fac-acc" (i64.const 25) (i64.const 1)) - (i64.const 7034535277573963776) -) - -(assert_return (invoke "count" (i64.const 0)) (i64.const 0)) -(assert_return (invoke "count" (i64.const 1000)) (i64.const 0)) -(assert_return (invoke "count" (i64.const 1000000)) (i64.const 0)) - -(assert_return (invoke "even" (i64.const 0)) (i32.const 44)) -(assert_return (invoke "even" (i64.const 1)) (i32.const 99)) -(assert_return (invoke "even" (i64.const 100)) (i32.const 44)) -(assert_return (invoke "even" (i64.const 77)) (i32.const 99)) -(assert_return (invoke "even" (i64.const 1000000)) (i32.const 44)) -(assert_return (invoke "even" (i64.const 1000001)) (i32.const 99)) -(assert_return (invoke "odd" (i64.const 0)) (i32.const 99)) -(assert_return (invoke "odd" (i64.const 1)) (i32.const 44)) -(assert_return (invoke "odd" (i64.const 200)) (i32.const 99)) -(assert_return (invoke "odd" (i64.const 77)) (i32.const 44)) -(assert_return (invoke "odd" (i64.const 1000000)) (i32.const 99)) -(assert_return (invoke "odd" (i64.const 999999)) (i32.const 44)) - - -;; Invalid typing - -(assert_invalid - (module - (func $type-void-vs-num (result i32) (return_call 1) (i32.const 0)) - (func) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-num-vs-num (result i32) (return_call 1) (i32.const 0)) - (func (result i64) (i64.const 1)) - ) - "type mismatch" -) - -(assert_invalid - (module - (func $arity-0-vs-1 (return_call 1)) - (func (param i32)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $arity-0-vs-2 (return_call 1)) - (func (param f64 i32)) - ) - "type mismatch" -) - -;; (module -;; (func $arity-1-vs-0 (i32.const 1) (return_call 1)) -;; (func) -;; ) - -;; (module -;; (func $arity-2-vs-0 (f64.const 2) (i32.const 1) (return_call 1)) -;; (func) -;; ) - -(assert_invalid - (module - (func $type-first-void-vs-num (return_call 1 (nop) (i32.const 1))) - (func (param i32 i32)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-second-void-vs-num (return_call 1 (i32.const 1) (nop))) - (func (param i32 i32)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-first-num-vs-num (return_call 1 (f64.const 1) (i32.const 1))) - (func (param i32 f64)) - ) - "type mismatch" -) -(assert_invalid - (module - (func $type-second-num-vs-num (return_call 1 (i32.const 1) (f64.const 1))) - (func (param f64 i32)) - ) - "type mismatch" -) - - -;; Unbound function - -(assert_invalid - (module (func $unbound-func (return_call 1))) - "unknown function" -) -(assert_invalid - (module (func $large-func (return_call 1012321300))) - "unknown function" -) diff --git a/test/spec/return_call_ref.wast b/test/spec/return_call_ref.wast deleted file mode 100644 index 6bb5d2a14..000000000 --- a/test/spec/return_call_ref.wast +++ /dev/null @@ -1,377 +0,0 @@ -;; Test `return_call_ref` operator - -(module - ;; Auxiliary definitions - (type $proc (func)) - (type $-i32 (func (result i32))) - (type $-i64 (func (result i64))) - (type $-f32 (func (result f32))) - (type $-f64 (func (result f64))) - - (type $i32-i32 (func (param i32) (result i32))) - (type $i64-i64 (func (param i64) (result i64))) - (type $f32-f32 (func (param f32) (result f32))) - (type $f64-f64 (func (param f64) (result f64))) - - (type $f32-i32 (func (param f32 i32) (result i32))) - (type $i32-i64 (func (param i32 i64) (result i64))) - (type $f64-f32 (func (param f64 f32) (result f32))) - (type $i64-f64 (func (param i64 f64) (result f64))) - - (type $i64i64-i64 (func (param i64 i64) (result i64))) - - (func $const-i32 (result i32) (i32.const 0x132)) - (func $const-i64 (result i64) (i64.const 0x164)) - (func $const-f32 (result f32) (f32.const 0xf32)) - (func $const-f64 (result f64) (f64.const 0xf64)) - - (func $id-i32 (param i32) (result i32) (local.get 0)) - (func $id-i64 (param i64) (result i64) (local.get 0)) - (func $id-f32 (param f32) (result f32) (local.get 0)) - (func $id-f64 (param f64) (result f64) (local.get 0)) - - (func $f32-i32 (param f32 i32) (result i32) (local.get 1)) - (func $i32-i64 (param i32 i64) (result i64) (local.get 1)) - (func $f64-f32 (param f64 f32) (result f32) (local.get 1)) - (func $i64-f64 (param i64 f64) (result f64) (local.get 1)) - - (global $const-i32 (ref $-i32) (ref.func $const-i32)) - (global $const-i64 (ref $-i64) (ref.func $const-i64)) - (global $const-f32 (ref $-f32) (ref.func $const-f32)) - (global $const-f64 (ref $-f64) (ref.func $const-f64)) - - (global $id-i32 (ref $i32-i32) (ref.func $id-i32)) - (global $id-i64 (ref $i64-i64) (ref.func $id-i64)) - (global $id-f32 (ref $f32-f32) (ref.func $id-f32)) - (global $id-f64 (ref $f64-f64) (ref.func $id-f64)) - - (global $f32-i32 (ref $f32-i32) (ref.func $f32-i32)) - (global $i32-i64 (ref $i32-i64) (ref.func $i32-i64)) - (global $f64-f32 (ref $f64-f32) (ref.func $f64-f32)) - (global $i64-f64 (ref $i64-f64) (ref.func $i64-f64)) - - (elem declare func - $const-i32 $const-i64 $const-f32 $const-f64 - $id-i32 $id-i64 $id-f32 $id-f64 - $f32-i32 $i32-i64 $f64-f32 $i64-f64 - ) - - ;; Typing - - (func (export "type-i32") (result i32) - (return_call_ref $-i32 (global.get $const-i32)) - ) - (func (export "type-i64") (result i64) - (return_call_ref $-i64 (global.get $const-i64)) - ) - (func (export "type-f32") (result f32) - (return_call_ref $-f32 (global.get $const-f32)) - ) - (func (export "type-f64") (result f64) - (return_call_ref $-f64 (global.get $const-f64)) - ) - - (func (export "type-first-i32") (result i32) - (return_call_ref $i32-i32 (i32.const 32) (global.get $id-i32)) - ) - (func (export "type-first-i64") (result i64) - (return_call_ref $i64-i64 (i64.const 64) (global.get $id-i64)) - ) - (func (export "type-first-f32") (result f32) - (return_call_ref $f32-f32 (f32.const 1.32) (global.get $id-f32)) - ) - (func (export "type-first-f64") (result f64) - (return_call_ref $f64-f64 (f64.const 1.64) (global.get $id-f64)) - ) - - (func (export "type-second-i32") (result i32) - (return_call_ref $f32-i32 (f32.const 32.1) (i32.const 32) (global.get $f32-i32)) - ) - (func (export "type-second-i64") (result i64) - (return_call_ref $i32-i64 (i32.const 32) (i64.const 64) (global.get $i32-i64)) - ) - (func (export "type-second-f32") (result f32) - (return_call_ref $f64-f32 (f64.const 64) (f32.const 32) (global.get $f64-f32)) - ) - (func (export "type-second-f64") (result f64) - (return_call_ref $i64-f64 (i64.const 64) (f64.const 64.1) (global.get $i64-f64)) - ) - - ;; Null - - (func (export "null") - (return_call_ref $proc (ref.null $proc)) - ) - - ;; Recursion - - (global $fac-acc (ref $i64i64-i64) (ref.func $fac-acc)) - - (elem declare func $fac-acc) - (func $fac-acc (export "fac-acc") (param i64 i64) (result i64) - (if (result i64) (i64.eqz (local.get 0)) - (then (local.get 1)) - (else - (return_call_ref $i64i64-i64 - (i64.sub (local.get 0) (i64.const 1)) - (i64.mul (local.get 0) (local.get 1)) - (global.get $fac-acc) - ) - ) - ) - ) - - (global $count (ref $i64-i64) (ref.func $count)) - - (elem declare func $count) - (func $count (export "count") (param i64) (result i64) - (if (result i64) (i64.eqz (local.get 0)) - (then (local.get 0)) - (else - (return_call_ref $i64-i64 - (i64.sub (local.get 0) (i64.const 1)) - (global.get $count) - ) - ) - ) - ) - - (global $even (ref $i64-i64) (ref.func $even)) - (global $odd (ref $i64-i64) (ref.func $odd)) - - (elem declare func $even) - (func $even (export "even") (param i64) (result i64) - (if (result i64) (i64.eqz (local.get 0)) - (then (i64.const 44)) - (else - (return_call_ref $i64-i64 - (i64.sub (local.get 0) (i64.const 1)) - (global.get $odd) - ) - ) - ) - ) - (elem declare func $odd) - (func $odd (export "odd") (param i64) (result i64) - (if (result i64) (i64.eqz (local.get 0)) - (then (i64.const 99)) - (else - (return_call_ref $i64-i64 - (i64.sub (local.get 0) (i64.const 1)) - (global.get $even) - ) - ) - ) - ) -) - -(assert_return (invoke "type-i32") (i32.const 0x132)) -(assert_return (invoke "type-i64") (i64.const 0x164)) -(assert_return (invoke "type-f32") (f32.const 0xf32)) -(assert_return (invoke "type-f64") (f64.const 0xf64)) - -(assert_return (invoke "type-first-i32") (i32.const 32)) -(assert_return (invoke "type-first-i64") (i64.const 64)) -(assert_return (invoke "type-first-f32") (f32.const 1.32)) -(assert_return (invoke "type-first-f64") (f64.const 1.64)) - -(assert_return (invoke "type-second-i32") (i32.const 32)) -(assert_return (invoke "type-second-i64") (i64.const 64)) -(assert_return (invoke "type-second-f32") (f32.const 32)) -(assert_return (invoke "type-second-f64") (f64.const 64.1)) - -(assert_trap (invoke "null") "null function reference") - -(assert_return (invoke "fac-acc" (i64.const 0) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "fac-acc" (i64.const 1) (i64.const 1)) (i64.const 1)) -(assert_return (invoke "fac-acc" (i64.const 5) (i64.const 1)) (i64.const 120)) -(assert_return - (invoke "fac-acc" (i64.const 25) (i64.const 1)) - (i64.const 7034535277573963776) -) - -(assert_return (invoke "count" (i64.const 0)) (i64.const 0)) -(assert_return (invoke "count" (i64.const 1000)) (i64.const 0)) -(assert_return (invoke "count" (i64.const 1000000)) (i64.const 0)) - -(assert_return (invoke "even" (i64.const 0)) (i64.const 44)) -(assert_return (invoke "even" (i64.const 1)) (i64.const 99)) -(assert_return (invoke "even" (i64.const 100)) (i64.const 44)) -(assert_return (invoke "even" (i64.const 77)) (i64.const 99)) -(assert_return (invoke "even" (i64.const 1000000)) (i64.const 44)) -(assert_return (invoke "even" (i64.const 1000001)) (i64.const 99)) -(assert_return (invoke "odd" (i64.const 0)) (i64.const 99)) -(assert_return (invoke "odd" (i64.const 1)) (i64.const 44)) -(assert_return (invoke "odd" (i64.const 200)) (i64.const 99)) -(assert_return (invoke "odd" (i64.const 77)) (i64.const 44)) -(assert_return (invoke "odd" (i64.const 1000000)) (i64.const 99)) -(assert_return (invoke "odd" (i64.const 999999)) (i64.const 44)) - - -;; More typing - -(module - (type $t (func)) - (type $t1 (func (result (ref $t)))) - (type $t2 (func (result (ref null $t)))) - (type $t3 (func (result (ref func)))) - (type $t4 (func (result (ref null func)))) - (elem declare func $f11 $f22 $f33 $f44) - (func $f11 (result (ref $t)) (return_call_ref $t1 (ref.func $f11))) - (func $f21 (result (ref null $t)) (return_call_ref $t1 (ref.func $f11))) - (func $f22 (result (ref null $t)) (return_call_ref $t2 (ref.func $f22))) - (func $f31 (result (ref func)) (return_call_ref $t1 (ref.func $f11))) - (func $f33 (result (ref func)) (return_call_ref $t3 (ref.func $f33))) - (func $f41 (result (ref null func)) (return_call_ref $t1 (ref.func $f11))) - (func $f42 (result (ref null func)) (return_call_ref $t2 (ref.func $f22))) - (func $f43 (result (ref null func)) (return_call_ref $t3 (ref.func $f33))) - (func $f44 (result (ref null func)) (return_call_ref $t4 (ref.func $f44))) -) - -(assert_invalid - (module - (type $t (func)) - (type $t2 (func (result (ref null $t)))) - (elem declare func $f22) - (func $f12 (result (ref $t)) (return_call_ref $t2 (ref.func $f22))) - (func $f22 (result (ref null $t)) (return_call_ref $t2 (ref.func $f22))) - ) - "type mismatch" -) - -(assert_invalid - (module - (type $t (func)) - (type $t3 (func (result (ref func)))) - (elem declare func $f33) - (func $f13 (result (ref $t)) (return_call_ref $t3 (ref.func $f33))) - (func $f33 (result (ref func)) (return_call_ref $t3 (ref.func $f33))) - ) - "type mismatch" -) - -(assert_invalid - (module - (type $t (func)) - (type $t4 (func (result (ref null func)))) - (elem declare func $f44) - (func $f14 (result (ref $t)) (return_call_ref $t4 (ref.func $f44))) - (func $f44 (result (ref null func)) (return_call_ref $t4 (ref.func $f44))) - ) - "type mismatch" -) - -(assert_invalid - (module - (type $t (func)) - (type $t3 (func (result (ref func)))) - (elem declare func $f33) - (func $f23 (result (ref null $t)) (return_call_ref $t3 (ref.func $f33))) - (func $f33 (result (ref func)) (return_call_ref $t3 (ref.func $f33))) - ) - "type mismatch" -) - -(assert_invalid - (module - (type $t (func)) - (type $t4 (func (result (ref null func)))) - (elem declare func $f44) - (func $f24 (result (ref null $t)) (return_call_ref $t4 (ref.func $f44))) - (func $f44 (result (ref null func)) (return_call_ref $t4 (ref.func $f44))) - ) - "type mismatch" -) - -(assert_invalid - (module - (type $t4 (func (result (ref null func)))) - (elem declare func $f44) - (func $f34 (result (ref func)) (return_call_ref $t4 (ref.func $f44))) - (func $f44 (result (ref null func)) (return_call_ref $t4 (ref.func $f44))) - ) - "type mismatch" -) - - -;; Unreachable typing. - -(module - (type $t (func (result i32))) - (func (export "unreachable") (result i32) - (return_call_ref $t (unreachable)) - ) -) -(assert_trap (invoke "unreachable") "unreachable") - -(module - (elem declare func $f) - (type $t (func (param i32) (result i32))) - (func $f (param i32) (result i32) (local.get 0)) - - (func (export "unreachable") (result i32) - (return_call_ref $t - (unreachable) - (ref.func $f) - ) - ) -) -(assert_trap (invoke "unreachable") "unreachable") - -(module - (elem declare func $f) - (type $t (func (param i32) (result i32))) - (func $f (param i32) (result i32) (local.get 0)) - - (func (export "unreachable") (result i32) - (unreachable) - (return_call_ref $t - (i32.const 0) - (ref.func $f) - ) - (i32.const 0) - ) -) -(assert_trap (invoke "unreachable") "unreachable") - -(assert_invalid - (module - (elem declare func $f) - (type $t (func (param i32) (result i32))) - (func $f (param i32) (result i32) (local.get 0)) - - (func (export "unreachable") (result i32) - (unreachable) - (i64.const 0) - (ref.func $f) - (return_call_ref $t) - ) - ) - "type mismatch" -) - -(assert_invalid - (module - (elem declare func $f) - (type $t (func (param i32) (result i32))) - (func $f (param i32) (result i32) (local.get 0)) - - (func (export "unreachable") (result i32) - (unreachable) - (ref.func $f) - (return_call_ref $t) - (i64.const 0) - ) - ) - "type mismatch" -) - -(assert_invalid - (module - (type $t (func)) - (func $f (param $r externref) - (return_call_ref $t (local.get $r)) - ) - ) - "type mismatch" -) diff --git a/test/spec/skip-stack-guard-page.wast b/test/spec/skip-stack-guard-page.wast deleted file mode 100644 index a472e6814..000000000 --- a/test/spec/skip-stack-guard-page.wast +++ /dev/null @@ -1,2284 +0,0 @@ -;; This tests that the stack overflow guard page can't be skipped by a function with more than a page of locals. -(module - (memory 1) - (export "test-guard-page-skip" (func $test-guard-page-skip)) - - (func $test-guard-page-skip - (param $depth i32) - (if (i32.eq (local.get $depth) (i32.const 0)) - (then (call $function-with-many-locals)) - (else (call $test-guard-page-skip (i32.sub (local.get $depth) (i32.const 1)))) - ) - ) - - (func $function-with-many-locals - - ;; 1056 i64 = 8448 bytes of locals - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x000-0x007 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x008-0x00f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x010-0x017 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x018-0x01f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x020-0x027 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x028-0x02f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x030-0x037 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x038-0x03f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x040-0x047 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x048-0x04f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x050-0x057 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x058-0x05f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x060-0x067 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x068-0x06f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x070-0x077 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x078-0x07f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x080-0x087 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x088-0x08f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x090-0x097 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x098-0x09f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0a0-0x0a7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0a8-0x0af - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0b0-0x0b7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0b8-0x0bf - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0c0-0x0c7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0c8-0x0cf - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0d0-0x0d7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0d8-0x0df - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0e0-0x0e7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0e8-0x0ef - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0f0-0x0f7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x0f8-0x0ff - - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x100-0x107 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x108-0x10f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x110-0x117 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x118-0x11f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x120-0x127 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x128-0x12f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x130-0x137 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x138-0x13f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x140-0x147 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x148-0x14f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x150-0x157 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x158-0x15f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x160-0x167 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x168-0x16f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x170-0x177 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x178-0x17f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x180-0x187 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x188-0x18f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x190-0x197 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x198-0x19f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1a0-0x1a7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1a8-0x1af - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1b0-0x1b7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1b8-0x1bf - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1c0-0x1c7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1c8-0x1cf - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1d0-0x1d7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1d8-0x1df - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1e0-0x1e7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1e8-0x1ef - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1f0-0x1f7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x1f8-0x1ff - - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x200-0x207 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x208-0x20f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x210-0x217 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x218-0x21f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x220-0x227 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x228-0x22f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x230-0x237 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x238-0x23f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x240-0x247 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x248-0x24f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x250-0x257 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x258-0x25f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x260-0x267 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x268-0x26f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x270-0x277 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x278-0x27f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x280-0x287 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x288-0x28f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x290-0x297 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x298-0x29f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2a0-0x2a7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2a8-0x2af - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2b0-0x2b7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2b8-0x2bf - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2c0-0x2c7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2c8-0x2cf - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2d0-0x2d7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2d8-0x2df - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2e0-0x2e7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2e8-0x2ef - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2f0-0x2f7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x2f8-0x2ff - - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x300-0x307 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x308-0x30f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x310-0x317 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x318-0x31f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x320-0x327 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x328-0x32f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x330-0x337 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x338-0x33f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x340-0x347 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x348-0x34f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x350-0x357 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x358-0x35f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x360-0x367 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x368-0x36f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x370-0x377 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x378-0x37f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x380-0x387 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x388-0x38f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x390-0x397 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x398-0x39f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3a0-0x3a7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3a8-0x3af - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3b0-0x3b7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3b8-0x3bf - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3c0-0x3c7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3c8-0x3cf - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3d0-0x3d7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3d8-0x3df - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3e0-0x3e7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3e8-0x3ef - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3f0-0x3f7 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x3f8-0x3ff - - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x400-0x407 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x408-0x40f - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x410-0x417 - (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) (local i64) ;; 0x418-0x41f - - ;; recurse first to try to make the callee access the stack below the space allocated for the locals before the locals themselves have been initialized. - (call $function-with-many-locals) - - ;; load from memory into the locals - (local.set 0x000 (i64.load offset=0x000 align=1 (i32.const 0))) - (local.set 0x001 (i64.load offset=0x001 align=1 (i32.const 0))) - (local.set 0x002 (i64.load offset=0x002 align=1 (i32.const 0))) - (local.set 0x003 (i64.load offset=0x003 align=1 (i32.const 0))) - (local.set 0x004 (i64.load offset=0x004 align=1 (i32.const 0))) - (local.set 0x005 (i64.load offset=0x005 align=1 (i32.const 0))) - (local.set 0x006 (i64.load offset=0x006 align=1 (i32.const 0))) - (local.set 0x007 (i64.load offset=0x007 align=1 (i32.const 0))) - (local.set 0x008 (i64.load offset=0x008 align=1 (i32.const 0))) - (local.set 0x009 (i64.load offset=0x009 align=1 (i32.const 0))) - (local.set 0x00a (i64.load offset=0x00a align=1 (i32.const 0))) - (local.set 0x00b (i64.load offset=0x00b align=1 (i32.const 0))) - (local.set 0x00c (i64.load offset=0x00c align=1 (i32.const 0))) - (local.set 0x00d (i64.load offset=0x00d align=1 (i32.const 0))) - (local.set 0x00e (i64.load offset=0x00e align=1 (i32.const 0))) - (local.set 0x00f (i64.load offset=0x00f align=1 (i32.const 0))) - (local.set 0x010 (i64.load offset=0x010 align=1 (i32.const 0))) - (local.set 0x011 (i64.load offset=0x011 align=1 (i32.const 0))) - (local.set 0x012 (i64.load offset=0x012 align=1 (i32.const 0))) - (local.set 0x013 (i64.load offset=0x013 align=1 (i32.const 0))) - (local.set 0x014 (i64.load offset=0x014 align=1 (i32.const 0))) - (local.set 0x015 (i64.load offset=0x015 align=1 (i32.const 0))) - (local.set 0x016 (i64.load offset=0x016 align=1 (i32.const 0))) - (local.set 0x017 (i64.load offset=0x017 align=1 (i32.const 0))) - (local.set 0x018 (i64.load offset=0x018 align=1 (i32.const 0))) - (local.set 0x019 (i64.load offset=0x019 align=1 (i32.const 0))) - (local.set 0x01a (i64.load offset=0x01a align=1 (i32.const 0))) - (local.set 0x01b (i64.load offset=0x01b align=1 (i32.const 0))) - (local.set 0x01c (i64.load offset=0x01c align=1 (i32.const 0))) - (local.set 0x01d (i64.load offset=0x01d align=1 (i32.const 0))) - (local.set 0x01e (i64.load offset=0x01e align=1 (i32.const 0))) - (local.set 0x01f (i64.load offset=0x01f align=1 (i32.const 0))) - (local.set 0x020 (i64.load offset=0x020 align=1 (i32.const 0))) - (local.set 0x021 (i64.load offset=0x021 align=1 (i32.const 0))) - (local.set 0x022 (i64.load offset=0x022 align=1 (i32.const 0))) - (local.set 0x023 (i64.load offset=0x023 align=1 (i32.const 0))) - (local.set 0x024 (i64.load offset=0x024 align=1 (i32.const 0))) - (local.set 0x025 (i64.load offset=0x025 align=1 (i32.const 0))) - (local.set 0x026 (i64.load offset=0x026 align=1 (i32.const 0))) - (local.set 0x027 (i64.load offset=0x027 align=1 (i32.const 0))) - (local.set 0x028 (i64.load offset=0x028 align=1 (i32.const 0))) - (local.set 0x029 (i64.load offset=0x029 align=1 (i32.const 0))) - (local.set 0x02a (i64.load offset=0x02a align=1 (i32.const 0))) - (local.set 0x02b (i64.load offset=0x02b align=1 (i32.const 0))) - (local.set 0x02c (i64.load offset=0x02c align=1 (i32.const 0))) - (local.set 0x02d (i64.load offset=0x02d align=1 (i32.const 0))) - (local.set 0x02e (i64.load offset=0x02e align=1 (i32.const 0))) - (local.set 0x02f (i64.load offset=0x02f align=1 (i32.const 0))) - (local.set 0x030 (i64.load offset=0x030 align=1 (i32.const 0))) - (local.set 0x031 (i64.load offset=0x031 align=1 (i32.const 0))) - (local.set 0x032 (i64.load offset=0x032 align=1 (i32.const 0))) - (local.set 0x033 (i64.load offset=0x033 align=1 (i32.const 0))) - (local.set 0x034 (i64.load offset=0x034 align=1 (i32.const 0))) - (local.set 0x035 (i64.load offset=0x035 align=1 (i32.const 0))) - (local.set 0x036 (i64.load offset=0x036 align=1 (i32.const 0))) - (local.set 0x037 (i64.load offset=0x037 align=1 (i32.const 0))) - (local.set 0x038 (i64.load offset=0x038 align=1 (i32.const 0))) - (local.set 0x039 (i64.load offset=0x039 align=1 (i32.const 0))) - (local.set 0x03a (i64.load offset=0x03a align=1 (i32.const 0))) - (local.set 0x03b (i64.load offset=0x03b align=1 (i32.const 0))) - (local.set 0x03c (i64.load offset=0x03c align=1 (i32.const 0))) - (local.set 0x03d (i64.load offset=0x03d align=1 (i32.const 0))) - (local.set 0x03e (i64.load offset=0x03e align=1 (i32.const 0))) - (local.set 0x03f (i64.load offset=0x03f align=1 (i32.const 0))) - (local.set 0x040 (i64.load offset=0x040 align=1 (i32.const 0))) - (local.set 0x041 (i64.load offset=0x041 align=1 (i32.const 0))) - (local.set 0x042 (i64.load offset=0x042 align=1 (i32.const 0))) - (local.set 0x043 (i64.load offset=0x043 align=1 (i32.const 0))) - (local.set 0x044 (i64.load offset=0x044 align=1 (i32.const 0))) - (local.set 0x045 (i64.load offset=0x045 align=1 (i32.const 0))) - (local.set 0x046 (i64.load offset=0x046 align=1 (i32.const 0))) - (local.set 0x047 (i64.load offset=0x047 align=1 (i32.const 0))) - (local.set 0x048 (i64.load offset=0x048 align=1 (i32.const 0))) - (local.set 0x049 (i64.load offset=0x049 align=1 (i32.const 0))) - (local.set 0x04a (i64.load offset=0x04a align=1 (i32.const 0))) - (local.set 0x04b (i64.load offset=0x04b align=1 (i32.const 0))) - (local.set 0x04c (i64.load offset=0x04c align=1 (i32.const 0))) - (local.set 0x04d (i64.load offset=0x04d align=1 (i32.const 0))) - (local.set 0x04e (i64.load offset=0x04e align=1 (i32.const 0))) - (local.set 0x04f (i64.load offset=0x04f align=1 (i32.const 0))) - (local.set 0x050 (i64.load offset=0x050 align=1 (i32.const 0))) - (local.set 0x051 (i64.load offset=0x051 align=1 (i32.const 0))) - (local.set 0x052 (i64.load offset=0x052 align=1 (i32.const 0))) - (local.set 0x053 (i64.load offset=0x053 align=1 (i32.const 0))) - (local.set 0x054 (i64.load offset=0x054 align=1 (i32.const 0))) - (local.set 0x055 (i64.load offset=0x055 align=1 (i32.const 0))) - (local.set 0x056 (i64.load offset=0x056 align=1 (i32.const 0))) - (local.set 0x057 (i64.load offset=0x057 align=1 (i32.const 0))) - (local.set 0x058 (i64.load offset=0x058 align=1 (i32.const 0))) - (local.set 0x059 (i64.load offset=0x059 align=1 (i32.const 0))) - (local.set 0x05a (i64.load offset=0x05a align=1 (i32.const 0))) - (local.set 0x05b (i64.load offset=0x05b align=1 (i32.const 0))) - (local.set 0x05c (i64.load offset=0x05c align=1 (i32.const 0))) - (local.set 0x05d (i64.load offset=0x05d align=1 (i32.const 0))) - (local.set 0x05e (i64.load offset=0x05e align=1 (i32.const 0))) - (local.set 0x05f (i64.load offset=0x05f align=1 (i32.const 0))) - (local.set 0x060 (i64.load offset=0x060 align=1 (i32.const 0))) - (local.set 0x061 (i64.load offset=0x061 align=1 (i32.const 0))) - (local.set 0x062 (i64.load offset=0x062 align=1 (i32.const 0))) - (local.set 0x063 (i64.load offset=0x063 align=1 (i32.const 0))) - (local.set 0x064 (i64.load offset=0x064 align=1 (i32.const 0))) - (local.set 0x065 (i64.load offset=0x065 align=1 (i32.const 0))) - (local.set 0x066 (i64.load offset=0x066 align=1 (i32.const 0))) - (local.set 0x067 (i64.load offset=0x067 align=1 (i32.const 0))) - (local.set 0x068 (i64.load offset=0x068 align=1 (i32.const 0))) - (local.set 0x069 (i64.load offset=0x069 align=1 (i32.const 0))) - (local.set 0x06a (i64.load offset=0x06a align=1 (i32.const 0))) - (local.set 0x06b (i64.load offset=0x06b align=1 (i32.const 0))) - (local.set 0x06c (i64.load offset=0x06c align=1 (i32.const 0))) - (local.set 0x06d (i64.load offset=0x06d align=1 (i32.const 0))) - (local.set 0x06e (i64.load offset=0x06e align=1 (i32.const 0))) - (local.set 0x06f (i64.load offset=0x06f align=1 (i32.const 0))) - (local.set 0x070 (i64.load offset=0x070 align=1 (i32.const 0))) - (local.set 0x071 (i64.load offset=0x071 align=1 (i32.const 0))) - (local.set 0x072 (i64.load offset=0x072 align=1 (i32.const 0))) - (local.set 0x073 (i64.load offset=0x073 align=1 (i32.const 0))) - (local.set 0x074 (i64.load offset=0x074 align=1 (i32.const 0))) - (local.set 0x075 (i64.load offset=0x075 align=1 (i32.const 0))) - (local.set 0x076 (i64.load offset=0x076 align=1 (i32.const 0))) - (local.set 0x077 (i64.load offset=0x077 align=1 (i32.const 0))) - (local.set 0x078 (i64.load offset=0x078 align=1 (i32.const 0))) - (local.set 0x079 (i64.load offset=0x079 align=1 (i32.const 0))) - (local.set 0x07a (i64.load offset=0x07a align=1 (i32.const 0))) - (local.set 0x07b (i64.load offset=0x07b align=1 (i32.const 0))) - (local.set 0x07c (i64.load offset=0x07c align=1 (i32.const 0))) - (local.set 0x07d (i64.load offset=0x07d align=1 (i32.const 0))) - (local.set 0x07e (i64.load offset=0x07e align=1 (i32.const 0))) - (local.set 0x07f (i64.load offset=0x07f align=1 (i32.const 0))) - (local.set 0x080 (i64.load offset=0x080 align=1 (i32.const 0))) - (local.set 0x081 (i64.load offset=0x081 align=1 (i32.const 0))) - (local.set 0x082 (i64.load offset=0x082 align=1 (i32.const 0))) - (local.set 0x083 (i64.load offset=0x083 align=1 (i32.const 0))) - (local.set 0x084 (i64.load offset=0x084 align=1 (i32.const 0))) - (local.set 0x085 (i64.load offset=0x085 align=1 (i32.const 0))) - (local.set 0x086 (i64.load offset=0x086 align=1 (i32.const 0))) - (local.set 0x087 (i64.load offset=0x087 align=1 (i32.const 0))) - (local.set 0x088 (i64.load offset=0x088 align=1 (i32.const 0))) - (local.set 0x089 (i64.load offset=0x089 align=1 (i32.const 0))) - (local.set 0x08a (i64.load offset=0x08a align=1 (i32.const 0))) - (local.set 0x08b (i64.load offset=0x08b align=1 (i32.const 0))) - (local.set 0x08c (i64.load offset=0x08c align=1 (i32.const 0))) - (local.set 0x08d (i64.load offset=0x08d align=1 (i32.const 0))) - (local.set 0x08e (i64.load offset=0x08e align=1 (i32.const 0))) - (local.set 0x08f (i64.load offset=0x08f align=1 (i32.const 0))) - (local.set 0x090 (i64.load offset=0x090 align=1 (i32.const 0))) - (local.set 0x091 (i64.load offset=0x091 align=1 (i32.const 0))) - (local.set 0x092 (i64.load offset=0x092 align=1 (i32.const 0))) - (local.set 0x093 (i64.load offset=0x093 align=1 (i32.const 0))) - (local.set 0x094 (i64.load offset=0x094 align=1 (i32.const 0))) - (local.set 0x095 (i64.load offset=0x095 align=1 (i32.const 0))) - (local.set 0x096 (i64.load offset=0x096 align=1 (i32.const 0))) - (local.set 0x097 (i64.load offset=0x097 align=1 (i32.const 0))) - (local.set 0x098 (i64.load offset=0x098 align=1 (i32.const 0))) - (local.set 0x099 (i64.load offset=0x099 align=1 (i32.const 0))) - (local.set 0x09a (i64.load offset=0x09a align=1 (i32.const 0))) - (local.set 0x09b (i64.load offset=0x09b align=1 (i32.const 0))) - (local.set 0x09c (i64.load offset=0x09c align=1 (i32.const 0))) - (local.set 0x09d (i64.load offset=0x09d align=1 (i32.const 0))) - (local.set 0x09e (i64.load offset=0x09e align=1 (i32.const 0))) - (local.set 0x09f (i64.load offset=0x09f align=1 (i32.const 0))) - (local.set 0x0a0 (i64.load offset=0x0a0 align=1 (i32.const 0))) - (local.set 0x0a1 (i64.load offset=0x0a1 align=1 (i32.const 0))) - (local.set 0x0a2 (i64.load offset=0x0a2 align=1 (i32.const 0))) - (local.set 0x0a3 (i64.load offset=0x0a3 align=1 (i32.const 0))) - (local.set 0x0a4 (i64.load offset=0x0a4 align=1 (i32.const 0))) - (local.set 0x0a5 (i64.load offset=0x0a5 align=1 (i32.const 0))) - (local.set 0x0a6 (i64.load offset=0x0a6 align=1 (i32.const 0))) - (local.set 0x0a7 (i64.load offset=0x0a7 align=1 (i32.const 0))) - (local.set 0x0a8 (i64.load offset=0x0a8 align=1 (i32.const 0))) - (local.set 0x0a9 (i64.load offset=0x0a9 align=1 (i32.const 0))) - (local.set 0x0aa (i64.load offset=0x0aa align=1 (i32.const 0))) - (local.set 0x0ab (i64.load offset=0x0ab align=1 (i32.const 0))) - (local.set 0x0ac (i64.load offset=0x0ac align=1 (i32.const 0))) - (local.set 0x0ad (i64.load offset=0x0ad align=1 (i32.const 0))) - (local.set 0x0ae (i64.load offset=0x0ae align=1 (i32.const 0))) - (local.set 0x0af (i64.load offset=0x0af align=1 (i32.const 0))) - (local.set 0x0b0 (i64.load offset=0x0b0 align=1 (i32.const 0))) - (local.set 0x0b1 (i64.load offset=0x0b1 align=1 (i32.const 0))) - (local.set 0x0b2 (i64.load offset=0x0b2 align=1 (i32.const 0))) - (local.set 0x0b3 (i64.load offset=0x0b3 align=1 (i32.const 0))) - (local.set 0x0b4 (i64.load offset=0x0b4 align=1 (i32.const 0))) - (local.set 0x0b5 (i64.load offset=0x0b5 align=1 (i32.const 0))) - (local.set 0x0b6 (i64.load offset=0x0b6 align=1 (i32.const 0))) - (local.set 0x0b7 (i64.load offset=0x0b7 align=1 (i32.const 0))) - (local.set 0x0b8 (i64.load offset=0x0b8 align=1 (i32.const 0))) - (local.set 0x0b9 (i64.load offset=0x0b9 align=1 (i32.const 0))) - (local.set 0x0ba (i64.load offset=0x0ba align=1 (i32.const 0))) - (local.set 0x0bb (i64.load offset=0x0bb align=1 (i32.const 0))) - (local.set 0x0bc (i64.load offset=0x0bc align=1 (i32.const 0))) - (local.set 0x0bd (i64.load offset=0x0bd align=1 (i32.const 0))) - (local.set 0x0be (i64.load offset=0x0be align=1 (i32.const 0))) - (local.set 0x0bf (i64.load offset=0x0bf align=1 (i32.const 0))) - (local.set 0x0c0 (i64.load offset=0x0c0 align=1 (i32.const 0))) - (local.set 0x0c1 (i64.load offset=0x0c1 align=1 (i32.const 0))) - (local.set 0x0c2 (i64.load offset=0x0c2 align=1 (i32.const 0))) - (local.set 0x0c3 (i64.load offset=0x0c3 align=1 (i32.const 0))) - (local.set 0x0c4 (i64.load offset=0x0c4 align=1 (i32.const 0))) - (local.set 0x0c5 (i64.load offset=0x0c5 align=1 (i32.const 0))) - (local.set 0x0c6 (i64.load offset=0x0c6 align=1 (i32.const 0))) - (local.set 0x0c7 (i64.load offset=0x0c7 align=1 (i32.const 0))) - (local.set 0x0c8 (i64.load offset=0x0c8 align=1 (i32.const 0))) - (local.set 0x0c9 (i64.load offset=0x0c9 align=1 (i32.const 0))) - (local.set 0x0ca (i64.load offset=0x0ca align=1 (i32.const 0))) - (local.set 0x0cb (i64.load offset=0x0cb align=1 (i32.const 0))) - (local.set 0x0cc (i64.load offset=0x0cc align=1 (i32.const 0))) - (local.set 0x0cd (i64.load offset=0x0cd align=1 (i32.const 0))) - (local.set 0x0ce (i64.load offset=0x0ce align=1 (i32.const 0))) - (local.set 0x0cf (i64.load offset=0x0cf align=1 (i32.const 0))) - (local.set 0x0d0 (i64.load offset=0x0d0 align=1 (i32.const 0))) - (local.set 0x0d1 (i64.load offset=0x0d1 align=1 (i32.const 0))) - (local.set 0x0d2 (i64.load offset=0x0d2 align=1 (i32.const 0))) - (local.set 0x0d3 (i64.load offset=0x0d3 align=1 (i32.const 0))) - (local.set 0x0d4 (i64.load offset=0x0d4 align=1 (i32.const 0))) - (local.set 0x0d5 (i64.load offset=0x0d5 align=1 (i32.const 0))) - (local.set 0x0d6 (i64.load offset=0x0d6 align=1 (i32.const 0))) - (local.set 0x0d7 (i64.load offset=0x0d7 align=1 (i32.const 0))) - (local.set 0x0d8 (i64.load offset=0x0d8 align=1 (i32.const 0))) - (local.set 0x0d9 (i64.load offset=0x0d9 align=1 (i32.const 0))) - (local.set 0x0da (i64.load offset=0x0da align=1 (i32.const 0))) - (local.set 0x0db (i64.load offset=0x0db align=1 (i32.const 0))) - (local.set 0x0dc (i64.load offset=0x0dc align=1 (i32.const 0))) - (local.set 0x0dd (i64.load offset=0x0dd align=1 (i32.const 0))) - (local.set 0x0de (i64.load offset=0x0de align=1 (i32.const 0))) - (local.set 0x0df (i64.load offset=0x0df align=1 (i32.const 0))) - (local.set 0x0e0 (i64.load offset=0x0e0 align=1 (i32.const 0))) - (local.set 0x0e1 (i64.load offset=0x0e1 align=1 (i32.const 0))) - (local.set 0x0e2 (i64.load offset=0x0e2 align=1 (i32.const 0))) - (local.set 0x0e3 (i64.load offset=0x0e3 align=1 (i32.const 0))) - (local.set 0x0e4 (i64.load offset=0x0e4 align=1 (i32.const 0))) - (local.set 0x0e5 (i64.load offset=0x0e5 align=1 (i32.const 0))) - (local.set 0x0e6 (i64.load offset=0x0e6 align=1 (i32.const 0))) - (local.set 0x0e7 (i64.load offset=0x0e7 align=1 (i32.const 0))) - (local.set 0x0e8 (i64.load offset=0x0e8 align=1 (i32.const 0))) - (local.set 0x0e9 (i64.load offset=0x0e9 align=1 (i32.const 0))) - (local.set 0x0ea (i64.load offset=0x0ea align=1 (i32.const 0))) - (local.set 0x0eb (i64.load offset=0x0eb align=1 (i32.const 0))) - (local.set 0x0ec (i64.load offset=0x0ec align=1 (i32.const 0))) - (local.set 0x0ed (i64.load offset=0x0ed align=1 (i32.const 0))) - (local.set 0x0ee (i64.load offset=0x0ee align=1 (i32.const 0))) - (local.set 0x0ef (i64.load offset=0x0ef align=1 (i32.const 0))) - (local.set 0x0f0 (i64.load offset=0x0f0 align=1 (i32.const 0))) - (local.set 0x0f1 (i64.load offset=0x0f1 align=1 (i32.const 0))) - (local.set 0x0f2 (i64.load offset=0x0f2 align=1 (i32.const 0))) - (local.set 0x0f3 (i64.load offset=0x0f3 align=1 (i32.const 0))) - (local.set 0x0f4 (i64.load offset=0x0f4 align=1 (i32.const 0))) - (local.set 0x0f5 (i64.load offset=0x0f5 align=1 (i32.const 0))) - (local.set 0x0f6 (i64.load offset=0x0f6 align=1 (i32.const 0))) - (local.set 0x0f7 (i64.load offset=0x0f7 align=1 (i32.const 0))) - (local.set 0x0f8 (i64.load offset=0x0f8 align=1 (i32.const 0))) - (local.set 0x0f9 (i64.load offset=0x0f9 align=1 (i32.const 0))) - (local.set 0x0fa (i64.load offset=0x0fa align=1 (i32.const 0))) - (local.set 0x0fb (i64.load offset=0x0fb align=1 (i32.const 0))) - (local.set 0x0fc (i64.load offset=0x0fc align=1 (i32.const 0))) - (local.set 0x0fd (i64.load offset=0x0fd align=1 (i32.const 0))) - (local.set 0x0fe (i64.load offset=0x0fe align=1 (i32.const 0))) - (local.set 0x0ff (i64.load offset=0x0ff align=1 (i32.const 0))) - (local.set 0x100 (i64.load offset=0x100 align=1 (i32.const 0))) - (local.set 0x101 (i64.load offset=0x101 align=1 (i32.const 0))) - (local.set 0x102 (i64.load offset=0x102 align=1 (i32.const 0))) - (local.set 0x103 (i64.load offset=0x103 align=1 (i32.const 0))) - (local.set 0x104 (i64.load offset=0x104 align=1 (i32.const 0))) - (local.set 0x105 (i64.load offset=0x105 align=1 (i32.const 0))) - (local.set 0x106 (i64.load offset=0x106 align=1 (i32.const 0))) - (local.set 0x107 (i64.load offset=0x107 align=1 (i32.const 0))) - (local.set 0x108 (i64.load offset=0x108 align=1 (i32.const 0))) - (local.set 0x109 (i64.load offset=0x109 align=1 (i32.const 0))) - (local.set 0x10a (i64.load offset=0x10a align=1 (i32.const 0))) - (local.set 0x10b (i64.load offset=0x10b align=1 (i32.const 0))) - (local.set 0x10c (i64.load offset=0x10c align=1 (i32.const 0))) - (local.set 0x10d (i64.load offset=0x10d align=1 (i32.const 0))) - (local.set 0x10e (i64.load offset=0x10e align=1 (i32.const 0))) - (local.set 0x10f (i64.load offset=0x10f align=1 (i32.const 0))) - (local.set 0x110 (i64.load offset=0x110 align=1 (i32.const 0))) - (local.set 0x111 (i64.load offset=0x111 align=1 (i32.const 0))) - (local.set 0x112 (i64.load offset=0x112 align=1 (i32.const 0))) - (local.set 0x113 (i64.load offset=0x113 align=1 (i32.const 0))) - (local.set 0x114 (i64.load offset=0x114 align=1 (i32.const 0))) - (local.set 0x115 (i64.load offset=0x115 align=1 (i32.const 0))) - (local.set 0x116 (i64.load offset=0x116 align=1 (i32.const 0))) - (local.set 0x117 (i64.load offset=0x117 align=1 (i32.const 0))) - (local.set 0x118 (i64.load offset=0x118 align=1 (i32.const 0))) - (local.set 0x119 (i64.load offset=0x119 align=1 (i32.const 0))) - (local.set 0x11a (i64.load offset=0x11a align=1 (i32.const 0))) - (local.set 0x11b (i64.load offset=0x11b align=1 (i32.const 0))) - (local.set 0x11c (i64.load offset=0x11c align=1 (i32.const 0))) - (local.set 0x11d (i64.load offset=0x11d align=1 (i32.const 0))) - (local.set 0x11e (i64.load offset=0x11e align=1 (i32.const 0))) - (local.set 0x11f (i64.load offset=0x11f align=1 (i32.const 0))) - (local.set 0x120 (i64.load offset=0x120 align=1 (i32.const 0))) - (local.set 0x121 (i64.load offset=0x121 align=1 (i32.const 0))) - (local.set 0x122 (i64.load offset=0x122 align=1 (i32.const 0))) - (local.set 0x123 (i64.load offset=0x123 align=1 (i32.const 0))) - (local.set 0x124 (i64.load offset=0x124 align=1 (i32.const 0))) - (local.set 0x125 (i64.load offset=0x125 align=1 (i32.const 0))) - (local.set 0x126 (i64.load offset=0x126 align=1 (i32.const 0))) - (local.set 0x127 (i64.load offset=0x127 align=1 (i32.const 0))) - (local.set 0x128 (i64.load offset=0x128 align=1 (i32.const 0))) - (local.set 0x129 (i64.load offset=0x129 align=1 (i32.const 0))) - (local.set 0x12a (i64.load offset=0x12a align=1 (i32.const 0))) - (local.set 0x12b (i64.load offset=0x12b align=1 (i32.const 0))) - (local.set 0x12c (i64.load offset=0x12c align=1 (i32.const 0))) - (local.set 0x12d (i64.load offset=0x12d align=1 (i32.const 0))) - (local.set 0x12e (i64.load offset=0x12e align=1 (i32.const 0))) - (local.set 0x12f (i64.load offset=0x12f align=1 (i32.const 0))) - (local.set 0x130 (i64.load offset=0x130 align=1 (i32.const 0))) - (local.set 0x131 (i64.load offset=0x131 align=1 (i32.const 0))) - (local.set 0x132 (i64.load offset=0x132 align=1 (i32.const 0))) - (local.set 0x133 (i64.load offset=0x133 align=1 (i32.const 0))) - (local.set 0x134 (i64.load offset=0x134 align=1 (i32.const 0))) - (local.set 0x135 (i64.load offset=0x135 align=1 (i32.const 0))) - (local.set 0x136 (i64.load offset=0x136 align=1 (i32.const 0))) - (local.set 0x137 (i64.load offset=0x137 align=1 (i32.const 0))) - (local.set 0x138 (i64.load offset=0x138 align=1 (i32.const 0))) - (local.set 0x139 (i64.load offset=0x139 align=1 (i32.const 0))) - (local.set 0x13a (i64.load offset=0x13a align=1 (i32.const 0))) - (local.set 0x13b (i64.load offset=0x13b align=1 (i32.const 0))) - (local.set 0x13c (i64.load offset=0x13c align=1 (i32.const 0))) - (local.set 0x13d (i64.load offset=0x13d align=1 (i32.const 0))) - (local.set 0x13e (i64.load offset=0x13e align=1 (i32.const 0))) - (local.set 0x13f (i64.load offset=0x13f align=1 (i32.const 0))) - (local.set 0x140 (i64.load offset=0x140 align=1 (i32.const 0))) - (local.set 0x141 (i64.load offset=0x141 align=1 (i32.const 0))) - (local.set 0x142 (i64.load offset=0x142 align=1 (i32.const 0))) - (local.set 0x143 (i64.load offset=0x143 align=1 (i32.const 0))) - (local.set 0x144 (i64.load offset=0x144 align=1 (i32.const 0))) - (local.set 0x145 (i64.load offset=0x145 align=1 (i32.const 0))) - (local.set 0x146 (i64.load offset=0x146 align=1 (i32.const 0))) - (local.set 0x147 (i64.load offset=0x147 align=1 (i32.const 0))) - (local.set 0x148 (i64.load offset=0x148 align=1 (i32.const 0))) - (local.set 0x149 (i64.load offset=0x149 align=1 (i32.const 0))) - (local.set 0x14a (i64.load offset=0x14a align=1 (i32.const 0))) - (local.set 0x14b (i64.load offset=0x14b align=1 (i32.const 0))) - (local.set 0x14c (i64.load offset=0x14c align=1 (i32.const 0))) - (local.set 0x14d (i64.load offset=0x14d align=1 (i32.const 0))) - (local.set 0x14e (i64.load offset=0x14e align=1 (i32.const 0))) - (local.set 0x14f (i64.load offset=0x14f align=1 (i32.const 0))) - (local.set 0x150 (i64.load offset=0x150 align=1 (i32.const 0))) - (local.set 0x151 (i64.load offset=0x151 align=1 (i32.const 0))) - (local.set 0x152 (i64.load offset=0x152 align=1 (i32.const 0))) - (local.set 0x153 (i64.load offset=0x153 align=1 (i32.const 0))) - (local.set 0x154 (i64.load offset=0x154 align=1 (i32.const 0))) - (local.set 0x155 (i64.load offset=0x155 align=1 (i32.const 0))) - (local.set 0x156 (i64.load offset=0x156 align=1 (i32.const 0))) - (local.set 0x157 (i64.load offset=0x157 align=1 (i32.const 0))) - (local.set 0x158 (i64.load offset=0x158 align=1 (i32.const 0))) - (local.set 0x159 (i64.load offset=0x159 align=1 (i32.const 0))) - (local.set 0x15a (i64.load offset=0x15a align=1 (i32.const 0))) - (local.set 0x15b (i64.load offset=0x15b align=1 (i32.const 0))) - (local.set 0x15c (i64.load offset=0x15c align=1 (i32.const 0))) - (local.set 0x15d (i64.load offset=0x15d align=1 (i32.const 0))) - (local.set 0x15e (i64.load offset=0x15e align=1 (i32.const 0))) - (local.set 0x15f (i64.load offset=0x15f align=1 (i32.const 0))) - (local.set 0x160 (i64.load offset=0x160 align=1 (i32.const 0))) - (local.set 0x161 (i64.load offset=0x161 align=1 (i32.const 0))) - (local.set 0x162 (i64.load offset=0x162 align=1 (i32.const 0))) - (local.set 0x163 (i64.load offset=0x163 align=1 (i32.const 0))) - (local.set 0x164 (i64.load offset=0x164 align=1 (i32.const 0))) - (local.set 0x165 (i64.load offset=0x165 align=1 (i32.const 0))) - (local.set 0x166 (i64.load offset=0x166 align=1 (i32.const 0))) - (local.set 0x167 (i64.load offset=0x167 align=1 (i32.const 0))) - (local.set 0x168 (i64.load offset=0x168 align=1 (i32.const 0))) - (local.set 0x169 (i64.load offset=0x169 align=1 (i32.const 0))) - (local.set 0x16a (i64.load offset=0x16a align=1 (i32.const 0))) - (local.set 0x16b (i64.load offset=0x16b align=1 (i32.const 0))) - (local.set 0x16c (i64.load offset=0x16c align=1 (i32.const 0))) - (local.set 0x16d (i64.load offset=0x16d align=1 (i32.const 0))) - (local.set 0x16e (i64.load offset=0x16e align=1 (i32.const 0))) - (local.set 0x16f (i64.load offset=0x16f align=1 (i32.const 0))) - (local.set 0x170 (i64.load offset=0x170 align=1 (i32.const 0))) - (local.set 0x171 (i64.load offset=0x171 align=1 (i32.const 0))) - (local.set 0x172 (i64.load offset=0x172 align=1 (i32.const 0))) - (local.set 0x173 (i64.load offset=0x173 align=1 (i32.const 0))) - (local.set 0x174 (i64.load offset=0x174 align=1 (i32.const 0))) - (local.set 0x175 (i64.load offset=0x175 align=1 (i32.const 0))) - (local.set 0x176 (i64.load offset=0x176 align=1 (i32.const 0))) - (local.set 0x177 (i64.load offset=0x177 align=1 (i32.const 0))) - (local.set 0x178 (i64.load offset=0x178 align=1 (i32.const 0))) - (local.set 0x179 (i64.load offset=0x179 align=1 (i32.const 0))) - (local.set 0x17a (i64.load offset=0x17a align=1 (i32.const 0))) - (local.set 0x17b (i64.load offset=0x17b align=1 (i32.const 0))) - (local.set 0x17c (i64.load offset=0x17c align=1 (i32.const 0))) - (local.set 0x17d (i64.load offset=0x17d align=1 (i32.const 0))) - (local.set 0x17e (i64.load offset=0x17e align=1 (i32.const 0))) - (local.set 0x17f (i64.load offset=0x17f align=1 (i32.const 0))) - (local.set 0x180 (i64.load offset=0x180 align=1 (i32.const 0))) - (local.set 0x181 (i64.load offset=0x181 align=1 (i32.const 0))) - (local.set 0x182 (i64.load offset=0x182 align=1 (i32.const 0))) - (local.set 0x183 (i64.load offset=0x183 align=1 (i32.const 0))) - (local.set 0x184 (i64.load offset=0x184 align=1 (i32.const 0))) - (local.set 0x185 (i64.load offset=0x185 align=1 (i32.const 0))) - (local.set 0x186 (i64.load offset=0x186 align=1 (i32.const 0))) - (local.set 0x187 (i64.load offset=0x187 align=1 (i32.const 0))) - (local.set 0x188 (i64.load offset=0x188 align=1 (i32.const 0))) - (local.set 0x189 (i64.load offset=0x189 align=1 (i32.const 0))) - (local.set 0x18a (i64.load offset=0x18a align=1 (i32.const 0))) - (local.set 0x18b (i64.load offset=0x18b align=1 (i32.const 0))) - (local.set 0x18c (i64.load offset=0x18c align=1 (i32.const 0))) - (local.set 0x18d (i64.load offset=0x18d align=1 (i32.const 0))) - (local.set 0x18e (i64.load offset=0x18e align=1 (i32.const 0))) - (local.set 0x18f (i64.load offset=0x18f align=1 (i32.const 0))) - (local.set 0x190 (i64.load offset=0x190 align=1 (i32.const 0))) - (local.set 0x191 (i64.load offset=0x191 align=1 (i32.const 0))) - (local.set 0x192 (i64.load offset=0x192 align=1 (i32.const 0))) - (local.set 0x193 (i64.load offset=0x193 align=1 (i32.const 0))) - (local.set 0x194 (i64.load offset=0x194 align=1 (i32.const 0))) - (local.set 0x195 (i64.load offset=0x195 align=1 (i32.const 0))) - (local.set 0x196 (i64.load offset=0x196 align=1 (i32.const 0))) - (local.set 0x197 (i64.load offset=0x197 align=1 (i32.const 0))) - (local.set 0x198 (i64.load offset=0x198 align=1 (i32.const 0))) - (local.set 0x199 (i64.load offset=0x199 align=1 (i32.const 0))) - (local.set 0x19a (i64.load offset=0x19a align=1 (i32.const 0))) - (local.set 0x19b (i64.load offset=0x19b align=1 (i32.const 0))) - (local.set 0x19c (i64.load offset=0x19c align=1 (i32.const 0))) - (local.set 0x19d (i64.load offset=0x19d align=1 (i32.const 0))) - (local.set 0x19e (i64.load offset=0x19e align=1 (i32.const 0))) - (local.set 0x19f (i64.load offset=0x19f align=1 (i32.const 0))) - (local.set 0x1a0 (i64.load offset=0x1a0 align=1 (i32.const 0))) - (local.set 0x1a1 (i64.load offset=0x1a1 align=1 (i32.const 0))) - (local.set 0x1a2 (i64.load offset=0x1a2 align=1 (i32.const 0))) - (local.set 0x1a3 (i64.load offset=0x1a3 align=1 (i32.const 0))) - (local.set 0x1a4 (i64.load offset=0x1a4 align=1 (i32.const 0))) - (local.set 0x1a5 (i64.load offset=0x1a5 align=1 (i32.const 0))) - (local.set 0x1a6 (i64.load offset=0x1a6 align=1 (i32.const 0))) - (local.set 0x1a7 (i64.load offset=0x1a7 align=1 (i32.const 0))) - (local.set 0x1a8 (i64.load offset=0x1a8 align=1 (i32.const 0))) - (local.set 0x1a9 (i64.load offset=0x1a9 align=1 (i32.const 0))) - (local.set 0x1aa (i64.load offset=0x1aa align=1 (i32.const 0))) - (local.set 0x1ab (i64.load offset=0x1ab align=1 (i32.const 0))) - (local.set 0x1ac (i64.load offset=0x1ac align=1 (i32.const 0))) - (local.set 0x1ad (i64.load offset=0x1ad align=1 (i32.const 0))) - (local.set 0x1ae (i64.load offset=0x1ae align=1 (i32.const 0))) - (local.set 0x1af (i64.load offset=0x1af align=1 (i32.const 0))) - (local.set 0x1b0 (i64.load offset=0x1b0 align=1 (i32.const 0))) - (local.set 0x1b1 (i64.load offset=0x1b1 align=1 (i32.const 0))) - (local.set 0x1b2 (i64.load offset=0x1b2 align=1 (i32.const 0))) - (local.set 0x1b3 (i64.load offset=0x1b3 align=1 (i32.const 0))) - (local.set 0x1b4 (i64.load offset=0x1b4 align=1 (i32.const 0))) - (local.set 0x1b5 (i64.load offset=0x1b5 align=1 (i32.const 0))) - (local.set 0x1b6 (i64.load offset=0x1b6 align=1 (i32.const 0))) - (local.set 0x1b7 (i64.load offset=0x1b7 align=1 (i32.const 0))) - (local.set 0x1b8 (i64.load offset=0x1b8 align=1 (i32.const 0))) - (local.set 0x1b9 (i64.load offset=0x1b9 align=1 (i32.const 0))) - (local.set 0x1ba (i64.load offset=0x1ba align=1 (i32.const 0))) - (local.set 0x1bb (i64.load offset=0x1bb align=1 (i32.const 0))) - (local.set 0x1bc (i64.load offset=0x1bc align=1 (i32.const 0))) - (local.set 0x1bd (i64.load offset=0x1bd align=1 (i32.const 0))) - (local.set 0x1be (i64.load offset=0x1be align=1 (i32.const 0))) - (local.set 0x1bf (i64.load offset=0x1bf align=1 (i32.const 0))) - (local.set 0x1c0 (i64.load offset=0x1c0 align=1 (i32.const 0))) - (local.set 0x1c1 (i64.load offset=0x1c1 align=1 (i32.const 0))) - (local.set 0x1c2 (i64.load offset=0x1c2 align=1 (i32.const 0))) - (local.set 0x1c3 (i64.load offset=0x1c3 align=1 (i32.const 0))) - (local.set 0x1c4 (i64.load offset=0x1c4 align=1 (i32.const 0))) - (local.set 0x1c5 (i64.load offset=0x1c5 align=1 (i32.const 0))) - (local.set 0x1c6 (i64.load offset=0x1c6 align=1 (i32.const 0))) - (local.set 0x1c7 (i64.load offset=0x1c7 align=1 (i32.const 0))) - (local.set 0x1c8 (i64.load offset=0x1c8 align=1 (i32.const 0))) - (local.set 0x1c9 (i64.load offset=0x1c9 align=1 (i32.const 0))) - (local.set 0x1ca (i64.load offset=0x1ca align=1 (i32.const 0))) - (local.set 0x1cb (i64.load offset=0x1cb align=1 (i32.const 0))) - (local.set 0x1cc (i64.load offset=0x1cc align=1 (i32.const 0))) - (local.set 0x1cd (i64.load offset=0x1cd align=1 (i32.const 0))) - (local.set 0x1ce (i64.load offset=0x1ce align=1 (i32.const 0))) - (local.set 0x1cf (i64.load offset=0x1cf align=1 (i32.const 0))) - (local.set 0x1d0 (i64.load offset=0x1d0 align=1 (i32.const 0))) - (local.set 0x1d1 (i64.load offset=0x1d1 align=1 (i32.const 0))) - (local.set 0x1d2 (i64.load offset=0x1d2 align=1 (i32.const 0))) - (local.set 0x1d3 (i64.load offset=0x1d3 align=1 (i32.const 0))) - (local.set 0x1d4 (i64.load offset=0x1d4 align=1 (i32.const 0))) - (local.set 0x1d5 (i64.load offset=0x1d5 align=1 (i32.const 0))) - (local.set 0x1d6 (i64.load offset=0x1d6 align=1 (i32.const 0))) - (local.set 0x1d7 (i64.load offset=0x1d7 align=1 (i32.const 0))) - (local.set 0x1d8 (i64.load offset=0x1d8 align=1 (i32.const 0))) - (local.set 0x1d9 (i64.load offset=0x1d9 align=1 (i32.const 0))) - (local.set 0x1da (i64.load offset=0x1da align=1 (i32.const 0))) - (local.set 0x1db (i64.load offset=0x1db align=1 (i32.const 0))) - (local.set 0x1dc (i64.load offset=0x1dc align=1 (i32.const 0))) - (local.set 0x1dd (i64.load offset=0x1dd align=1 (i32.const 0))) - (local.set 0x1de (i64.load offset=0x1de align=1 (i32.const 0))) - (local.set 0x1df (i64.load offset=0x1df align=1 (i32.const 0))) - (local.set 0x1e0 (i64.load offset=0x1e0 align=1 (i32.const 0))) - (local.set 0x1e1 (i64.load offset=0x1e1 align=1 (i32.const 0))) - (local.set 0x1e2 (i64.load offset=0x1e2 align=1 (i32.const 0))) - (local.set 0x1e3 (i64.load offset=0x1e3 align=1 (i32.const 0))) - (local.set 0x1e4 (i64.load offset=0x1e4 align=1 (i32.const 0))) - (local.set 0x1e5 (i64.load offset=0x1e5 align=1 (i32.const 0))) - (local.set 0x1e6 (i64.load offset=0x1e6 align=1 (i32.const 0))) - (local.set 0x1e7 (i64.load offset=0x1e7 align=1 (i32.const 0))) - (local.set 0x1e8 (i64.load offset=0x1e8 align=1 (i32.const 0))) - (local.set 0x1e9 (i64.load offset=0x1e9 align=1 (i32.const 0))) - (local.set 0x1ea (i64.load offset=0x1ea align=1 (i32.const 0))) - (local.set 0x1eb (i64.load offset=0x1eb align=1 (i32.const 0))) - (local.set 0x1ec (i64.load offset=0x1ec align=1 (i32.const 0))) - (local.set 0x1ed (i64.load offset=0x1ed align=1 (i32.const 0))) - (local.set 0x1ee (i64.load offset=0x1ee align=1 (i32.const 0))) - (local.set 0x1ef (i64.load offset=0x1ef align=1 (i32.const 0))) - (local.set 0x1f0 (i64.load offset=0x1f0 align=1 (i32.const 0))) - (local.set 0x1f1 (i64.load offset=0x1f1 align=1 (i32.const 0))) - (local.set 0x1f2 (i64.load offset=0x1f2 align=1 (i32.const 0))) - (local.set 0x1f3 (i64.load offset=0x1f3 align=1 (i32.const 0))) - (local.set 0x1f4 (i64.load offset=0x1f4 align=1 (i32.const 0))) - (local.set 0x1f5 (i64.load offset=0x1f5 align=1 (i32.const 0))) - (local.set 0x1f6 (i64.load offset=0x1f6 align=1 (i32.const 0))) - (local.set 0x1f7 (i64.load offset=0x1f7 align=1 (i32.const 0))) - (local.set 0x1f8 (i64.load offset=0x1f8 align=1 (i32.const 0))) - (local.set 0x1f9 (i64.load offset=0x1f9 align=1 (i32.const 0))) - (local.set 0x1fa (i64.load offset=0x1fa align=1 (i32.const 0))) - (local.set 0x1fb (i64.load offset=0x1fb align=1 (i32.const 0))) - (local.set 0x1fc (i64.load offset=0x1fc align=1 (i32.const 0))) - (local.set 0x1fd (i64.load offset=0x1fd align=1 (i32.const 0))) - (local.set 0x1fe (i64.load offset=0x1fe align=1 (i32.const 0))) - (local.set 0x1ff (i64.load offset=0x1ff align=1 (i32.const 0))) - (local.set 0x200 (i64.load offset=0x200 align=1 (i32.const 0))) - (local.set 0x201 (i64.load offset=0x201 align=1 (i32.const 0))) - (local.set 0x202 (i64.load offset=0x202 align=1 (i32.const 0))) - (local.set 0x203 (i64.load offset=0x203 align=1 (i32.const 0))) - (local.set 0x204 (i64.load offset=0x204 align=1 (i32.const 0))) - (local.set 0x205 (i64.load offset=0x205 align=1 (i32.const 0))) - (local.set 0x206 (i64.load offset=0x206 align=1 (i32.const 0))) - (local.set 0x207 (i64.load offset=0x207 align=1 (i32.const 0))) - (local.set 0x208 (i64.load offset=0x208 align=1 (i32.const 0))) - (local.set 0x209 (i64.load offset=0x209 align=1 (i32.const 0))) - (local.set 0x20a (i64.load offset=0x20a align=1 (i32.const 0))) - (local.set 0x20b (i64.load offset=0x20b align=1 (i32.const 0))) - (local.set 0x20c (i64.load offset=0x20c align=1 (i32.const 0))) - (local.set 0x20d (i64.load offset=0x20d align=1 (i32.const 0))) - (local.set 0x20e (i64.load offset=0x20e align=1 (i32.const 0))) - (local.set 0x20f (i64.load offset=0x20f align=1 (i32.const 0))) - (local.set 0x210 (i64.load offset=0x210 align=1 (i32.const 0))) - (local.set 0x211 (i64.load offset=0x211 align=1 (i32.const 0))) - (local.set 0x212 (i64.load offset=0x212 align=1 (i32.const 0))) - (local.set 0x213 (i64.load offset=0x213 align=1 (i32.const 0))) - (local.set 0x214 (i64.load offset=0x214 align=1 (i32.const 0))) - (local.set 0x215 (i64.load offset=0x215 align=1 (i32.const 0))) - (local.set 0x216 (i64.load offset=0x216 align=1 (i32.const 0))) - (local.set 0x217 (i64.load offset=0x217 align=1 (i32.const 0))) - (local.set 0x218 (i64.load offset=0x218 align=1 (i32.const 0))) - (local.set 0x219 (i64.load offset=0x219 align=1 (i32.const 0))) - (local.set 0x21a (i64.load offset=0x21a align=1 (i32.const 0))) - (local.set 0x21b (i64.load offset=0x21b align=1 (i32.const 0))) - (local.set 0x21c (i64.load offset=0x21c align=1 (i32.const 0))) - (local.set 0x21d (i64.load offset=0x21d align=1 (i32.const 0))) - (local.set 0x21e (i64.load offset=0x21e align=1 (i32.const 0))) - (local.set 0x21f (i64.load offset=0x21f align=1 (i32.const 0))) - (local.set 0x220 (i64.load offset=0x220 align=1 (i32.const 0))) - (local.set 0x221 (i64.load offset=0x221 align=1 (i32.const 0))) - (local.set 0x222 (i64.load offset=0x222 align=1 (i32.const 0))) - (local.set 0x223 (i64.load offset=0x223 align=1 (i32.const 0))) - (local.set 0x224 (i64.load offset=0x224 align=1 (i32.const 0))) - (local.set 0x225 (i64.load offset=0x225 align=1 (i32.const 0))) - (local.set 0x226 (i64.load offset=0x226 align=1 (i32.const 0))) - (local.set 0x227 (i64.load offset=0x227 align=1 (i32.const 0))) - (local.set 0x228 (i64.load offset=0x228 align=1 (i32.const 0))) - (local.set 0x229 (i64.load offset=0x229 align=1 (i32.const 0))) - (local.set 0x22a (i64.load offset=0x22a align=1 (i32.const 0))) - (local.set 0x22b (i64.load offset=0x22b align=1 (i32.const 0))) - (local.set 0x22c (i64.load offset=0x22c align=1 (i32.const 0))) - (local.set 0x22d (i64.load offset=0x22d align=1 (i32.const 0))) - (local.set 0x22e (i64.load offset=0x22e align=1 (i32.const 0))) - (local.set 0x22f (i64.load offset=0x22f align=1 (i32.const 0))) - (local.set 0x230 (i64.load offset=0x230 align=1 (i32.const 0))) - (local.set 0x231 (i64.load offset=0x231 align=1 (i32.const 0))) - (local.set 0x232 (i64.load offset=0x232 align=1 (i32.const 0))) - (local.set 0x233 (i64.load offset=0x233 align=1 (i32.const 0))) - (local.set 0x234 (i64.load offset=0x234 align=1 (i32.const 0))) - (local.set 0x235 (i64.load offset=0x235 align=1 (i32.const 0))) - (local.set 0x236 (i64.load offset=0x236 align=1 (i32.const 0))) - (local.set 0x237 (i64.load offset=0x237 align=1 (i32.const 0))) - (local.set 0x238 (i64.load offset=0x238 align=1 (i32.const 0))) - (local.set 0x239 (i64.load offset=0x239 align=1 (i32.const 0))) - (local.set 0x23a (i64.load offset=0x23a align=1 (i32.const 0))) - (local.set 0x23b (i64.load offset=0x23b align=1 (i32.const 0))) - (local.set 0x23c (i64.load offset=0x23c align=1 (i32.const 0))) - (local.set 0x23d (i64.load offset=0x23d align=1 (i32.const 0))) - (local.set 0x23e (i64.load offset=0x23e align=1 (i32.const 0))) - (local.set 0x23f (i64.load offset=0x23f align=1 (i32.const 0))) - (local.set 0x240 (i64.load offset=0x240 align=1 (i32.const 0))) - (local.set 0x241 (i64.load offset=0x241 align=1 (i32.const 0))) - (local.set 0x242 (i64.load offset=0x242 align=1 (i32.const 0))) - (local.set 0x243 (i64.load offset=0x243 align=1 (i32.const 0))) - (local.set 0x244 (i64.load offset=0x244 align=1 (i32.const 0))) - (local.set 0x245 (i64.load offset=0x245 align=1 (i32.const 0))) - (local.set 0x246 (i64.load offset=0x246 align=1 (i32.const 0))) - (local.set 0x247 (i64.load offset=0x247 align=1 (i32.const 0))) - (local.set 0x248 (i64.load offset=0x248 align=1 (i32.const 0))) - (local.set 0x249 (i64.load offset=0x249 align=1 (i32.const 0))) - (local.set 0x24a (i64.load offset=0x24a align=1 (i32.const 0))) - (local.set 0x24b (i64.load offset=0x24b align=1 (i32.const 0))) - (local.set 0x24c (i64.load offset=0x24c align=1 (i32.const 0))) - (local.set 0x24d (i64.load offset=0x24d align=1 (i32.const 0))) - (local.set 0x24e (i64.load offset=0x24e align=1 (i32.const 0))) - (local.set 0x24f (i64.load offset=0x24f align=1 (i32.const 0))) - (local.set 0x250 (i64.load offset=0x250 align=1 (i32.const 0))) - (local.set 0x251 (i64.load offset=0x251 align=1 (i32.const 0))) - (local.set 0x252 (i64.load offset=0x252 align=1 (i32.const 0))) - (local.set 0x253 (i64.load offset=0x253 align=1 (i32.const 0))) - (local.set 0x254 (i64.load offset=0x254 align=1 (i32.const 0))) - (local.set 0x255 (i64.load offset=0x255 align=1 (i32.const 0))) - (local.set 0x256 (i64.load offset=0x256 align=1 (i32.const 0))) - (local.set 0x257 (i64.load offset=0x257 align=1 (i32.const 0))) - (local.set 0x258 (i64.load offset=0x258 align=1 (i32.const 0))) - (local.set 0x259 (i64.load offset=0x259 align=1 (i32.const 0))) - (local.set 0x25a (i64.load offset=0x25a align=1 (i32.const 0))) - (local.set 0x25b (i64.load offset=0x25b align=1 (i32.const 0))) - (local.set 0x25c (i64.load offset=0x25c align=1 (i32.const 0))) - (local.set 0x25d (i64.load offset=0x25d align=1 (i32.const 0))) - (local.set 0x25e (i64.load offset=0x25e align=1 (i32.const 0))) - (local.set 0x25f (i64.load offset=0x25f align=1 (i32.const 0))) - (local.set 0x260 (i64.load offset=0x260 align=1 (i32.const 0))) - (local.set 0x261 (i64.load offset=0x261 align=1 (i32.const 0))) - (local.set 0x262 (i64.load offset=0x262 align=1 (i32.const 0))) - (local.set 0x263 (i64.load offset=0x263 align=1 (i32.const 0))) - (local.set 0x264 (i64.load offset=0x264 align=1 (i32.const 0))) - (local.set 0x265 (i64.load offset=0x265 align=1 (i32.const 0))) - (local.set 0x266 (i64.load offset=0x266 align=1 (i32.const 0))) - (local.set 0x267 (i64.load offset=0x267 align=1 (i32.const 0))) - (local.set 0x268 (i64.load offset=0x268 align=1 (i32.const 0))) - (local.set 0x269 (i64.load offset=0x269 align=1 (i32.const 0))) - (local.set 0x26a (i64.load offset=0x26a align=1 (i32.const 0))) - (local.set 0x26b (i64.load offset=0x26b align=1 (i32.const 0))) - (local.set 0x26c (i64.load offset=0x26c align=1 (i32.const 0))) - (local.set 0x26d (i64.load offset=0x26d align=1 (i32.const 0))) - (local.set 0x26e (i64.load offset=0x26e align=1 (i32.const 0))) - (local.set 0x26f (i64.load offset=0x26f align=1 (i32.const 0))) - (local.set 0x270 (i64.load offset=0x270 align=1 (i32.const 0))) - (local.set 0x271 (i64.load offset=0x271 align=1 (i32.const 0))) - (local.set 0x272 (i64.load offset=0x272 align=1 (i32.const 0))) - (local.set 0x273 (i64.load offset=0x273 align=1 (i32.const 0))) - (local.set 0x274 (i64.load offset=0x274 align=1 (i32.const 0))) - (local.set 0x275 (i64.load offset=0x275 align=1 (i32.const 0))) - (local.set 0x276 (i64.load offset=0x276 align=1 (i32.const 0))) - (local.set 0x277 (i64.load offset=0x277 align=1 (i32.const 0))) - (local.set 0x278 (i64.load offset=0x278 align=1 (i32.const 0))) - (local.set 0x279 (i64.load offset=0x279 align=1 (i32.const 0))) - (local.set 0x27a (i64.load offset=0x27a align=1 (i32.const 0))) - (local.set 0x27b (i64.load offset=0x27b align=1 (i32.const 0))) - (local.set 0x27c (i64.load offset=0x27c align=1 (i32.const 0))) - (local.set 0x27d (i64.load offset=0x27d align=1 (i32.const 0))) - (local.set 0x27e (i64.load offset=0x27e align=1 (i32.const 0))) - (local.set 0x27f (i64.load offset=0x27f align=1 (i32.const 0))) - (local.set 0x280 (i64.load offset=0x280 align=1 (i32.const 0))) - (local.set 0x281 (i64.load offset=0x281 align=1 (i32.const 0))) - (local.set 0x282 (i64.load offset=0x282 align=1 (i32.const 0))) - (local.set 0x283 (i64.load offset=0x283 align=1 (i32.const 0))) - (local.set 0x284 (i64.load offset=0x284 align=1 (i32.const 0))) - (local.set 0x285 (i64.load offset=0x285 align=1 (i32.const 0))) - (local.set 0x286 (i64.load offset=0x286 align=1 (i32.const 0))) - (local.set 0x287 (i64.load offset=0x287 align=1 (i32.const 0))) - (local.set 0x288 (i64.load offset=0x288 align=1 (i32.const 0))) - (local.set 0x289 (i64.load offset=0x289 align=1 (i32.const 0))) - (local.set 0x28a (i64.load offset=0x28a align=1 (i32.const 0))) - (local.set 0x28b (i64.load offset=0x28b align=1 (i32.const 0))) - (local.set 0x28c (i64.load offset=0x28c align=1 (i32.const 0))) - (local.set 0x28d (i64.load offset=0x28d align=1 (i32.const 0))) - (local.set 0x28e (i64.load offset=0x28e align=1 (i32.const 0))) - (local.set 0x28f (i64.load offset=0x28f align=1 (i32.const 0))) - (local.set 0x290 (i64.load offset=0x290 align=1 (i32.const 0))) - (local.set 0x291 (i64.load offset=0x291 align=1 (i32.const 0))) - (local.set 0x292 (i64.load offset=0x292 align=1 (i32.const 0))) - (local.set 0x293 (i64.load offset=0x293 align=1 (i32.const 0))) - (local.set 0x294 (i64.load offset=0x294 align=1 (i32.const 0))) - (local.set 0x295 (i64.load offset=0x295 align=1 (i32.const 0))) - (local.set 0x296 (i64.load offset=0x296 align=1 (i32.const 0))) - (local.set 0x297 (i64.load offset=0x297 align=1 (i32.const 0))) - (local.set 0x298 (i64.load offset=0x298 align=1 (i32.const 0))) - (local.set 0x299 (i64.load offset=0x299 align=1 (i32.const 0))) - (local.set 0x29a (i64.load offset=0x29a align=1 (i32.const 0))) - (local.set 0x29b (i64.load offset=0x29b align=1 (i32.const 0))) - (local.set 0x29c (i64.load offset=0x29c align=1 (i32.const 0))) - (local.set 0x29d (i64.load offset=0x29d align=1 (i32.const 0))) - (local.set 0x29e (i64.load offset=0x29e align=1 (i32.const 0))) - (local.set 0x29f (i64.load offset=0x29f align=1 (i32.const 0))) - (local.set 0x2a0 (i64.load offset=0x2a0 align=1 (i32.const 0))) - (local.set 0x2a1 (i64.load offset=0x2a1 align=1 (i32.const 0))) - (local.set 0x2a2 (i64.load offset=0x2a2 align=1 (i32.const 0))) - (local.set 0x2a3 (i64.load offset=0x2a3 align=1 (i32.const 0))) - (local.set 0x2a4 (i64.load offset=0x2a4 align=1 (i32.const 0))) - (local.set 0x2a5 (i64.load offset=0x2a5 align=1 (i32.const 0))) - (local.set 0x2a6 (i64.load offset=0x2a6 align=1 (i32.const 0))) - (local.set 0x2a7 (i64.load offset=0x2a7 align=1 (i32.const 0))) - (local.set 0x2a8 (i64.load offset=0x2a8 align=1 (i32.const 0))) - (local.set 0x2a9 (i64.load offset=0x2a9 align=1 (i32.const 0))) - (local.set 0x2aa (i64.load offset=0x2aa align=1 (i32.const 0))) - (local.set 0x2ab (i64.load offset=0x2ab align=1 (i32.const 0))) - (local.set 0x2ac (i64.load offset=0x2ac align=1 (i32.const 0))) - (local.set 0x2ad (i64.load offset=0x2ad align=1 (i32.const 0))) - (local.set 0x2ae (i64.load offset=0x2ae align=1 (i32.const 0))) - (local.set 0x2af (i64.load offset=0x2af align=1 (i32.const 0))) - (local.set 0x2b0 (i64.load offset=0x2b0 align=1 (i32.const 0))) - (local.set 0x2b1 (i64.load offset=0x2b1 align=1 (i32.const 0))) - (local.set 0x2b2 (i64.load offset=0x2b2 align=1 (i32.const 0))) - (local.set 0x2b3 (i64.load offset=0x2b3 align=1 (i32.const 0))) - (local.set 0x2b4 (i64.load offset=0x2b4 align=1 (i32.const 0))) - (local.set 0x2b5 (i64.load offset=0x2b5 align=1 (i32.const 0))) - (local.set 0x2b6 (i64.load offset=0x2b6 align=1 (i32.const 0))) - (local.set 0x2b7 (i64.load offset=0x2b7 align=1 (i32.const 0))) - (local.set 0x2b8 (i64.load offset=0x2b8 align=1 (i32.const 0))) - (local.set 0x2b9 (i64.load offset=0x2b9 align=1 (i32.const 0))) - (local.set 0x2ba (i64.load offset=0x2ba align=1 (i32.const 0))) - (local.set 0x2bb (i64.load offset=0x2bb align=1 (i32.const 0))) - (local.set 0x2bc (i64.load offset=0x2bc align=1 (i32.const 0))) - (local.set 0x2bd (i64.load offset=0x2bd align=1 (i32.const 0))) - (local.set 0x2be (i64.load offset=0x2be align=1 (i32.const 0))) - (local.set 0x2bf (i64.load offset=0x2bf align=1 (i32.const 0))) - (local.set 0x2c0 (i64.load offset=0x2c0 align=1 (i32.const 0))) - (local.set 0x2c1 (i64.load offset=0x2c1 align=1 (i32.const 0))) - (local.set 0x2c2 (i64.load offset=0x2c2 align=1 (i32.const 0))) - (local.set 0x2c3 (i64.load offset=0x2c3 align=1 (i32.const 0))) - (local.set 0x2c4 (i64.load offset=0x2c4 align=1 (i32.const 0))) - (local.set 0x2c5 (i64.load offset=0x2c5 align=1 (i32.const 0))) - (local.set 0x2c6 (i64.load offset=0x2c6 align=1 (i32.const 0))) - (local.set 0x2c7 (i64.load offset=0x2c7 align=1 (i32.const 0))) - (local.set 0x2c8 (i64.load offset=0x2c8 align=1 (i32.const 0))) - (local.set 0x2c9 (i64.load offset=0x2c9 align=1 (i32.const 0))) - (local.set 0x2ca (i64.load offset=0x2ca align=1 (i32.const 0))) - (local.set 0x2cb (i64.load offset=0x2cb align=1 (i32.const 0))) - (local.set 0x2cc (i64.load offset=0x2cc align=1 (i32.const 0))) - (local.set 0x2cd (i64.load offset=0x2cd align=1 (i32.const 0))) - (local.set 0x2ce (i64.load offset=0x2ce align=1 (i32.const 0))) - (local.set 0x2cf (i64.load offset=0x2cf align=1 (i32.const 0))) - (local.set 0x2d0 (i64.load offset=0x2d0 align=1 (i32.const 0))) - (local.set 0x2d1 (i64.load offset=0x2d1 align=1 (i32.const 0))) - (local.set 0x2d2 (i64.load offset=0x2d2 align=1 (i32.const 0))) - (local.set 0x2d3 (i64.load offset=0x2d3 align=1 (i32.const 0))) - (local.set 0x2d4 (i64.load offset=0x2d4 align=1 (i32.const 0))) - (local.set 0x2d5 (i64.load offset=0x2d5 align=1 (i32.const 0))) - (local.set 0x2d6 (i64.load offset=0x2d6 align=1 (i32.const 0))) - (local.set 0x2d7 (i64.load offset=0x2d7 align=1 (i32.const 0))) - (local.set 0x2d8 (i64.load offset=0x2d8 align=1 (i32.const 0))) - (local.set 0x2d9 (i64.load offset=0x2d9 align=1 (i32.const 0))) - (local.set 0x2da (i64.load offset=0x2da align=1 (i32.const 0))) - (local.set 0x2db (i64.load offset=0x2db align=1 (i32.const 0))) - (local.set 0x2dc (i64.load offset=0x2dc align=1 (i32.const 0))) - (local.set 0x2dd (i64.load offset=0x2dd align=1 (i32.const 0))) - (local.set 0x2de (i64.load offset=0x2de align=1 (i32.const 0))) - (local.set 0x2df (i64.load offset=0x2df align=1 (i32.const 0))) - (local.set 0x2e0 (i64.load offset=0x2e0 align=1 (i32.const 0))) - (local.set 0x2e1 (i64.load offset=0x2e1 align=1 (i32.const 0))) - (local.set 0x2e2 (i64.load offset=0x2e2 align=1 (i32.const 0))) - (local.set 0x2e3 (i64.load offset=0x2e3 align=1 (i32.const 0))) - (local.set 0x2e4 (i64.load offset=0x2e4 align=1 (i32.const 0))) - (local.set 0x2e5 (i64.load offset=0x2e5 align=1 (i32.const 0))) - (local.set 0x2e6 (i64.load offset=0x2e6 align=1 (i32.const 0))) - (local.set 0x2e7 (i64.load offset=0x2e7 align=1 (i32.const 0))) - (local.set 0x2e8 (i64.load offset=0x2e8 align=1 (i32.const 0))) - (local.set 0x2e9 (i64.load offset=0x2e9 align=1 (i32.const 0))) - (local.set 0x2ea (i64.load offset=0x2ea align=1 (i32.const 0))) - (local.set 0x2eb (i64.load offset=0x2eb align=1 (i32.const 0))) - (local.set 0x2ec (i64.load offset=0x2ec align=1 (i32.const 0))) - (local.set 0x2ed (i64.load offset=0x2ed align=1 (i32.const 0))) - (local.set 0x2ee (i64.load offset=0x2ee align=1 (i32.const 0))) - (local.set 0x2ef (i64.load offset=0x2ef align=1 (i32.const 0))) - (local.set 0x2f0 (i64.load offset=0x2f0 align=1 (i32.const 0))) - (local.set 0x2f1 (i64.load offset=0x2f1 align=1 (i32.const 0))) - (local.set 0x2f2 (i64.load offset=0x2f2 align=1 (i32.const 0))) - (local.set 0x2f3 (i64.load offset=0x2f3 align=1 (i32.const 0))) - (local.set 0x2f4 (i64.load offset=0x2f4 align=1 (i32.const 0))) - (local.set 0x2f5 (i64.load offset=0x2f5 align=1 (i32.const 0))) - (local.set 0x2f6 (i64.load offset=0x2f6 align=1 (i32.const 0))) - (local.set 0x2f7 (i64.load offset=0x2f7 align=1 (i32.const 0))) - (local.set 0x2f8 (i64.load offset=0x2f8 align=1 (i32.const 0))) - (local.set 0x2f9 (i64.load offset=0x2f9 align=1 (i32.const 0))) - (local.set 0x2fa (i64.load offset=0x2fa align=1 (i32.const 0))) - (local.set 0x2fb (i64.load offset=0x2fb align=1 (i32.const 0))) - (local.set 0x2fc (i64.load offset=0x2fc align=1 (i32.const 0))) - (local.set 0x2fd (i64.load offset=0x2fd align=1 (i32.const 0))) - (local.set 0x2fe (i64.load offset=0x2fe align=1 (i32.const 0))) - (local.set 0x2ff (i64.load offset=0x2ff align=1 (i32.const 0))) - (local.set 0x300 (i64.load offset=0x300 align=1 (i32.const 0))) - (local.set 0x301 (i64.load offset=0x301 align=1 (i32.const 0))) - (local.set 0x302 (i64.load offset=0x302 align=1 (i32.const 0))) - (local.set 0x303 (i64.load offset=0x303 align=1 (i32.const 0))) - (local.set 0x304 (i64.load offset=0x304 align=1 (i32.const 0))) - (local.set 0x305 (i64.load offset=0x305 align=1 (i32.const 0))) - (local.set 0x306 (i64.load offset=0x306 align=1 (i32.const 0))) - (local.set 0x307 (i64.load offset=0x307 align=1 (i32.const 0))) - (local.set 0x308 (i64.load offset=0x308 align=1 (i32.const 0))) - (local.set 0x309 (i64.load offset=0x309 align=1 (i32.const 0))) - (local.set 0x30a (i64.load offset=0x30a align=1 (i32.const 0))) - (local.set 0x30b (i64.load offset=0x30b align=1 (i32.const 0))) - (local.set 0x30c (i64.load offset=0x30c align=1 (i32.const 0))) - (local.set 0x30d (i64.load offset=0x30d align=1 (i32.const 0))) - (local.set 0x30e (i64.load offset=0x30e align=1 (i32.const 0))) - (local.set 0x30f (i64.load offset=0x30f align=1 (i32.const 0))) - (local.set 0x310 (i64.load offset=0x310 align=1 (i32.const 0))) - (local.set 0x311 (i64.load offset=0x311 align=1 (i32.const 0))) - (local.set 0x312 (i64.load offset=0x312 align=1 (i32.const 0))) - (local.set 0x313 (i64.load offset=0x313 align=1 (i32.const 0))) - (local.set 0x314 (i64.load offset=0x314 align=1 (i32.const 0))) - (local.set 0x315 (i64.load offset=0x315 align=1 (i32.const 0))) - (local.set 0x316 (i64.load offset=0x316 align=1 (i32.const 0))) - (local.set 0x317 (i64.load offset=0x317 align=1 (i32.const 0))) - (local.set 0x318 (i64.load offset=0x318 align=1 (i32.const 0))) - (local.set 0x319 (i64.load offset=0x319 align=1 (i32.const 0))) - (local.set 0x31a (i64.load offset=0x31a align=1 (i32.const 0))) - (local.set 0x31b (i64.load offset=0x31b align=1 (i32.const 0))) - (local.set 0x31c (i64.load offset=0x31c align=1 (i32.const 0))) - (local.set 0x31d (i64.load offset=0x31d align=1 (i32.const 0))) - (local.set 0x31e (i64.load offset=0x31e align=1 (i32.const 0))) - (local.set 0x31f (i64.load offset=0x31f align=1 (i32.const 0))) - (local.set 0x320 (i64.load offset=0x320 align=1 (i32.const 0))) - (local.set 0x321 (i64.load offset=0x321 align=1 (i32.const 0))) - (local.set 0x322 (i64.load offset=0x322 align=1 (i32.const 0))) - (local.set 0x323 (i64.load offset=0x323 align=1 (i32.const 0))) - (local.set 0x324 (i64.load offset=0x324 align=1 (i32.const 0))) - (local.set 0x325 (i64.load offset=0x325 align=1 (i32.const 0))) - (local.set 0x326 (i64.load offset=0x326 align=1 (i32.const 0))) - (local.set 0x327 (i64.load offset=0x327 align=1 (i32.const 0))) - (local.set 0x328 (i64.load offset=0x328 align=1 (i32.const 0))) - (local.set 0x329 (i64.load offset=0x329 align=1 (i32.const 0))) - (local.set 0x32a (i64.load offset=0x32a align=1 (i32.const 0))) - (local.set 0x32b (i64.load offset=0x32b align=1 (i32.const 0))) - (local.set 0x32c (i64.load offset=0x32c align=1 (i32.const 0))) - (local.set 0x32d (i64.load offset=0x32d align=1 (i32.const 0))) - (local.set 0x32e (i64.load offset=0x32e align=1 (i32.const 0))) - (local.set 0x32f (i64.load offset=0x32f align=1 (i32.const 0))) - (local.set 0x330 (i64.load offset=0x330 align=1 (i32.const 0))) - (local.set 0x331 (i64.load offset=0x331 align=1 (i32.const 0))) - (local.set 0x332 (i64.load offset=0x332 align=1 (i32.const 0))) - (local.set 0x333 (i64.load offset=0x333 align=1 (i32.const 0))) - (local.set 0x334 (i64.load offset=0x334 align=1 (i32.const 0))) - (local.set 0x335 (i64.load offset=0x335 align=1 (i32.const 0))) - (local.set 0x336 (i64.load offset=0x336 align=1 (i32.const 0))) - (local.set 0x337 (i64.load offset=0x337 align=1 (i32.const 0))) - (local.set 0x338 (i64.load offset=0x338 align=1 (i32.const 0))) - (local.set 0x339 (i64.load offset=0x339 align=1 (i32.const 0))) - (local.set 0x33a (i64.load offset=0x33a align=1 (i32.const 0))) - (local.set 0x33b (i64.load offset=0x33b align=1 (i32.const 0))) - (local.set 0x33c (i64.load offset=0x33c align=1 (i32.const 0))) - (local.set 0x33d (i64.load offset=0x33d align=1 (i32.const 0))) - (local.set 0x33e (i64.load offset=0x33e align=1 (i32.const 0))) - (local.set 0x33f (i64.load offset=0x33f align=1 (i32.const 0))) - (local.set 0x340 (i64.load offset=0x340 align=1 (i32.const 0))) - (local.set 0x341 (i64.load offset=0x341 align=1 (i32.const 0))) - (local.set 0x342 (i64.load offset=0x342 align=1 (i32.const 0))) - (local.set 0x343 (i64.load offset=0x343 align=1 (i32.const 0))) - (local.set 0x344 (i64.load offset=0x344 align=1 (i32.const 0))) - (local.set 0x345 (i64.load offset=0x345 align=1 (i32.const 0))) - (local.set 0x346 (i64.load offset=0x346 align=1 (i32.const 0))) - (local.set 0x347 (i64.load offset=0x347 align=1 (i32.const 0))) - (local.set 0x348 (i64.load offset=0x348 align=1 (i32.const 0))) - (local.set 0x349 (i64.load offset=0x349 align=1 (i32.const 0))) - (local.set 0x34a (i64.load offset=0x34a align=1 (i32.const 0))) - (local.set 0x34b (i64.load offset=0x34b align=1 (i32.const 0))) - (local.set 0x34c (i64.load offset=0x34c align=1 (i32.const 0))) - (local.set 0x34d (i64.load offset=0x34d align=1 (i32.const 0))) - (local.set 0x34e (i64.load offset=0x34e align=1 (i32.const 0))) - (local.set 0x34f (i64.load offset=0x34f align=1 (i32.const 0))) - (local.set 0x350 (i64.load offset=0x350 align=1 (i32.const 0))) - (local.set 0x351 (i64.load offset=0x351 align=1 (i32.const 0))) - (local.set 0x352 (i64.load offset=0x352 align=1 (i32.const 0))) - (local.set 0x353 (i64.load offset=0x353 align=1 (i32.const 0))) - (local.set 0x354 (i64.load offset=0x354 align=1 (i32.const 0))) - (local.set 0x355 (i64.load offset=0x355 align=1 (i32.const 0))) - (local.set 0x356 (i64.load offset=0x356 align=1 (i32.const 0))) - (local.set 0x357 (i64.load offset=0x357 align=1 (i32.const 0))) - (local.set 0x358 (i64.load offset=0x358 align=1 (i32.const 0))) - (local.set 0x359 (i64.load offset=0x359 align=1 (i32.const 0))) - (local.set 0x35a (i64.load offset=0x35a align=1 (i32.const 0))) - (local.set 0x35b (i64.load offset=0x35b align=1 (i32.const 0))) - (local.set 0x35c (i64.load offset=0x35c align=1 (i32.const 0))) - (local.set 0x35d (i64.load offset=0x35d align=1 (i32.const 0))) - (local.set 0x35e (i64.load offset=0x35e align=1 (i32.const 0))) - (local.set 0x35f (i64.load offset=0x35f align=1 (i32.const 0))) - (local.set 0x360 (i64.load offset=0x360 align=1 (i32.const 0))) - (local.set 0x361 (i64.load offset=0x361 align=1 (i32.const 0))) - (local.set 0x362 (i64.load offset=0x362 align=1 (i32.const 0))) - (local.set 0x363 (i64.load offset=0x363 align=1 (i32.const 0))) - (local.set 0x364 (i64.load offset=0x364 align=1 (i32.const 0))) - (local.set 0x365 (i64.load offset=0x365 align=1 (i32.const 0))) - (local.set 0x366 (i64.load offset=0x366 align=1 (i32.const 0))) - (local.set 0x367 (i64.load offset=0x367 align=1 (i32.const 0))) - (local.set 0x368 (i64.load offset=0x368 align=1 (i32.const 0))) - (local.set 0x369 (i64.load offset=0x369 align=1 (i32.const 0))) - (local.set 0x36a (i64.load offset=0x36a align=1 (i32.const 0))) - (local.set 0x36b (i64.load offset=0x36b align=1 (i32.const 0))) - (local.set 0x36c (i64.load offset=0x36c align=1 (i32.const 0))) - (local.set 0x36d (i64.load offset=0x36d align=1 (i32.const 0))) - (local.set 0x36e (i64.load offset=0x36e align=1 (i32.const 0))) - (local.set 0x36f (i64.load offset=0x36f align=1 (i32.const 0))) - (local.set 0x370 (i64.load offset=0x370 align=1 (i32.const 0))) - (local.set 0x371 (i64.load offset=0x371 align=1 (i32.const 0))) - (local.set 0x372 (i64.load offset=0x372 align=1 (i32.const 0))) - (local.set 0x373 (i64.load offset=0x373 align=1 (i32.const 0))) - (local.set 0x374 (i64.load offset=0x374 align=1 (i32.const 0))) - (local.set 0x375 (i64.load offset=0x375 align=1 (i32.const 0))) - (local.set 0x376 (i64.load offset=0x376 align=1 (i32.const 0))) - (local.set 0x377 (i64.load offset=0x377 align=1 (i32.const 0))) - (local.set 0x378 (i64.load offset=0x378 align=1 (i32.const 0))) - (local.set 0x379 (i64.load offset=0x379 align=1 (i32.const 0))) - (local.set 0x37a (i64.load offset=0x37a align=1 (i32.const 0))) - (local.set 0x37b (i64.load offset=0x37b align=1 (i32.const 0))) - (local.set 0x37c (i64.load offset=0x37c align=1 (i32.const 0))) - (local.set 0x37d (i64.load offset=0x37d align=1 (i32.const 0))) - (local.set 0x37e (i64.load offset=0x37e align=1 (i32.const 0))) - (local.set 0x37f (i64.load offset=0x37f align=1 (i32.const 0))) - (local.set 0x380 (i64.load offset=0x380 align=1 (i32.const 0))) - (local.set 0x381 (i64.load offset=0x381 align=1 (i32.const 0))) - (local.set 0x382 (i64.load offset=0x382 align=1 (i32.const 0))) - (local.set 0x383 (i64.load offset=0x383 align=1 (i32.const 0))) - (local.set 0x384 (i64.load offset=0x384 align=1 (i32.const 0))) - (local.set 0x385 (i64.load offset=0x385 align=1 (i32.const 0))) - (local.set 0x386 (i64.load offset=0x386 align=1 (i32.const 0))) - (local.set 0x387 (i64.load offset=0x387 align=1 (i32.const 0))) - (local.set 0x388 (i64.load offset=0x388 align=1 (i32.const 0))) - (local.set 0x389 (i64.load offset=0x389 align=1 (i32.const 0))) - (local.set 0x38a (i64.load offset=0x38a align=1 (i32.const 0))) - (local.set 0x38b (i64.load offset=0x38b align=1 (i32.const 0))) - (local.set 0x38c (i64.load offset=0x38c align=1 (i32.const 0))) - (local.set 0x38d (i64.load offset=0x38d align=1 (i32.const 0))) - (local.set 0x38e (i64.load offset=0x38e align=1 (i32.const 0))) - (local.set 0x38f (i64.load offset=0x38f align=1 (i32.const 0))) - (local.set 0x390 (i64.load offset=0x390 align=1 (i32.const 0))) - (local.set 0x391 (i64.load offset=0x391 align=1 (i32.const 0))) - (local.set 0x392 (i64.load offset=0x392 align=1 (i32.const 0))) - (local.set 0x393 (i64.load offset=0x393 align=1 (i32.const 0))) - (local.set 0x394 (i64.load offset=0x394 align=1 (i32.const 0))) - (local.set 0x395 (i64.load offset=0x395 align=1 (i32.const 0))) - (local.set 0x396 (i64.load offset=0x396 align=1 (i32.const 0))) - (local.set 0x397 (i64.load offset=0x397 align=1 (i32.const 0))) - (local.set 0x398 (i64.load offset=0x398 align=1 (i32.const 0))) - (local.set 0x399 (i64.load offset=0x399 align=1 (i32.const 0))) - (local.set 0x39a (i64.load offset=0x39a align=1 (i32.const 0))) - (local.set 0x39b (i64.load offset=0x39b align=1 (i32.const 0))) - (local.set 0x39c (i64.load offset=0x39c align=1 (i32.const 0))) - (local.set 0x39d (i64.load offset=0x39d align=1 (i32.const 0))) - (local.set 0x39e (i64.load offset=0x39e align=1 (i32.const 0))) - (local.set 0x39f (i64.load offset=0x39f align=1 (i32.const 0))) - (local.set 0x3a0 (i64.load offset=0x3a0 align=1 (i32.const 0))) - (local.set 0x3a1 (i64.load offset=0x3a1 align=1 (i32.const 0))) - (local.set 0x3a2 (i64.load offset=0x3a2 align=1 (i32.const 0))) - (local.set 0x3a3 (i64.load offset=0x3a3 align=1 (i32.const 0))) - (local.set 0x3a4 (i64.load offset=0x3a4 align=1 (i32.const 0))) - (local.set 0x3a5 (i64.load offset=0x3a5 align=1 (i32.const 0))) - (local.set 0x3a6 (i64.load offset=0x3a6 align=1 (i32.const 0))) - (local.set 0x3a7 (i64.load offset=0x3a7 align=1 (i32.const 0))) - (local.set 0x3a8 (i64.load offset=0x3a8 align=1 (i32.const 0))) - (local.set 0x3a9 (i64.load offset=0x3a9 align=1 (i32.const 0))) - (local.set 0x3aa (i64.load offset=0x3aa align=1 (i32.const 0))) - (local.set 0x3ab (i64.load offset=0x3ab align=1 (i32.const 0))) - (local.set 0x3ac (i64.load offset=0x3ac align=1 (i32.const 0))) - (local.set 0x3ad (i64.load offset=0x3ad align=1 (i32.const 0))) - (local.set 0x3ae (i64.load offset=0x3ae align=1 (i32.const 0))) - (local.set 0x3af (i64.load offset=0x3af align=1 (i32.const 0))) - (local.set 0x3b0 (i64.load offset=0x3b0 align=1 (i32.const 0))) - (local.set 0x3b1 (i64.load offset=0x3b1 align=1 (i32.const 0))) - (local.set 0x3b2 (i64.load offset=0x3b2 align=1 (i32.const 0))) - (local.set 0x3b3 (i64.load offset=0x3b3 align=1 (i32.const 0))) - (local.set 0x3b4 (i64.load offset=0x3b4 align=1 (i32.const 0))) - (local.set 0x3b5 (i64.load offset=0x3b5 align=1 (i32.const 0))) - (local.set 0x3b6 (i64.load offset=0x3b6 align=1 (i32.const 0))) - (local.set 0x3b7 (i64.load offset=0x3b7 align=1 (i32.const 0))) - (local.set 0x3b8 (i64.load offset=0x3b8 align=1 (i32.const 0))) - (local.set 0x3b9 (i64.load offset=0x3b9 align=1 (i32.const 0))) - (local.set 0x3ba (i64.load offset=0x3ba align=1 (i32.const 0))) - (local.set 0x3bb (i64.load offset=0x3bb align=1 (i32.const 0))) - (local.set 0x3bc (i64.load offset=0x3bc align=1 (i32.const 0))) - (local.set 0x3bd (i64.load offset=0x3bd align=1 (i32.const 0))) - (local.set 0x3be (i64.load offset=0x3be align=1 (i32.const 0))) - (local.set 0x3bf (i64.load offset=0x3bf align=1 (i32.const 0))) - (local.set 0x3c0 (i64.load offset=0x3c0 align=1 (i32.const 0))) - (local.set 0x3c1 (i64.load offset=0x3c1 align=1 (i32.const 0))) - (local.set 0x3c2 (i64.load offset=0x3c2 align=1 (i32.const 0))) - (local.set 0x3c3 (i64.load offset=0x3c3 align=1 (i32.const 0))) - (local.set 0x3c4 (i64.load offset=0x3c4 align=1 (i32.const 0))) - (local.set 0x3c5 (i64.load offset=0x3c5 align=1 (i32.const 0))) - (local.set 0x3c6 (i64.load offset=0x3c6 align=1 (i32.const 0))) - (local.set 0x3c7 (i64.load offset=0x3c7 align=1 (i32.const 0))) - (local.set 0x3c8 (i64.load offset=0x3c8 align=1 (i32.const 0))) - (local.set 0x3c9 (i64.load offset=0x3c9 align=1 (i32.const 0))) - (local.set 0x3ca (i64.load offset=0x3ca align=1 (i32.const 0))) - (local.set 0x3cb (i64.load offset=0x3cb align=1 (i32.const 0))) - (local.set 0x3cc (i64.load offset=0x3cc align=1 (i32.const 0))) - (local.set 0x3cd (i64.load offset=0x3cd align=1 (i32.const 0))) - (local.set 0x3ce (i64.load offset=0x3ce align=1 (i32.const 0))) - (local.set 0x3cf (i64.load offset=0x3cf align=1 (i32.const 0))) - (local.set 0x3d0 (i64.load offset=0x3d0 align=1 (i32.const 0))) - (local.set 0x3d1 (i64.load offset=0x3d1 align=1 (i32.const 0))) - (local.set 0x3d2 (i64.load offset=0x3d2 align=1 (i32.const 0))) - (local.set 0x3d3 (i64.load offset=0x3d3 align=1 (i32.const 0))) - (local.set 0x3d4 (i64.load offset=0x3d4 align=1 (i32.const 0))) - (local.set 0x3d5 (i64.load offset=0x3d5 align=1 (i32.const 0))) - (local.set 0x3d6 (i64.load offset=0x3d6 align=1 (i32.const 0))) - (local.set 0x3d7 (i64.load offset=0x3d7 align=1 (i32.const 0))) - (local.set 0x3d8 (i64.load offset=0x3d8 align=1 (i32.const 0))) - (local.set 0x3d9 (i64.load offset=0x3d9 align=1 (i32.const 0))) - (local.set 0x3da (i64.load offset=0x3da align=1 (i32.const 0))) - (local.set 0x3db (i64.load offset=0x3db align=1 (i32.const 0))) - (local.set 0x3dc (i64.load offset=0x3dc align=1 (i32.const 0))) - (local.set 0x3dd (i64.load offset=0x3dd align=1 (i32.const 0))) - (local.set 0x3de (i64.load offset=0x3de align=1 (i32.const 0))) - (local.set 0x3df (i64.load offset=0x3df align=1 (i32.const 0))) - (local.set 0x3e0 (i64.load offset=0x3e0 align=1 (i32.const 0))) - (local.set 0x3e1 (i64.load offset=0x3e1 align=1 (i32.const 0))) - (local.set 0x3e2 (i64.load offset=0x3e2 align=1 (i32.const 0))) - (local.set 0x3e3 (i64.load offset=0x3e3 align=1 (i32.const 0))) - (local.set 0x3e4 (i64.load offset=0x3e4 align=1 (i32.const 0))) - (local.set 0x3e5 (i64.load offset=0x3e5 align=1 (i32.const 0))) - (local.set 0x3e6 (i64.load offset=0x3e6 align=1 (i32.const 0))) - (local.set 0x3e7 (i64.load offset=0x3e7 align=1 (i32.const 0))) - (local.set 0x3e8 (i64.load offset=0x3e8 align=1 (i32.const 0))) - (local.set 0x3e9 (i64.load offset=0x3e9 align=1 (i32.const 0))) - (local.set 0x3ea (i64.load offset=0x3ea align=1 (i32.const 0))) - (local.set 0x3eb (i64.load offset=0x3eb align=1 (i32.const 0))) - (local.set 0x3ec (i64.load offset=0x3ec align=1 (i32.const 0))) - (local.set 0x3ed (i64.load offset=0x3ed align=1 (i32.const 0))) - (local.set 0x3ee (i64.load offset=0x3ee align=1 (i32.const 0))) - (local.set 0x3ef (i64.load offset=0x3ef align=1 (i32.const 0))) - (local.set 0x3f0 (i64.load offset=0x3f0 align=1 (i32.const 0))) - (local.set 0x3f1 (i64.load offset=0x3f1 align=1 (i32.const 0))) - (local.set 0x3f2 (i64.load offset=0x3f2 align=1 (i32.const 0))) - (local.set 0x3f3 (i64.load offset=0x3f3 align=1 (i32.const 0))) - (local.set 0x3f4 (i64.load offset=0x3f4 align=1 (i32.const 0))) - (local.set 0x3f5 (i64.load offset=0x3f5 align=1 (i32.const 0))) - (local.set 0x3f6 (i64.load offset=0x3f6 align=1 (i32.const 0))) - (local.set 0x3f7 (i64.load offset=0x3f7 align=1 (i32.const 0))) - (local.set 0x3f8 (i64.load offset=0x3f8 align=1 (i32.const 0))) - (local.set 0x3f9 (i64.load offset=0x3f9 align=1 (i32.const 0))) - (local.set 0x3fa (i64.load offset=0x3fa align=1 (i32.const 0))) - (local.set 0x3fb (i64.load offset=0x3fb align=1 (i32.const 0))) - (local.set 0x3fc (i64.load offset=0x3fc align=1 (i32.const 0))) - (local.set 0x3fd (i64.load offset=0x3fd align=1 (i32.const 0))) - (local.set 0x3fe (i64.load offset=0x3fe align=1 (i32.const 0))) - (local.set 0x3ff (i64.load offset=0x3ff align=1 (i32.const 0))) - (local.set 0x400 (i64.load offset=0x400 align=1 (i32.const 0))) - (local.set 0x401 (i64.load offset=0x401 align=1 (i32.const 0))) - (local.set 0x402 (i64.load offset=0x402 align=1 (i32.const 0))) - (local.set 0x403 (i64.load offset=0x403 align=1 (i32.const 0))) - (local.set 0x404 (i64.load offset=0x404 align=1 (i32.const 0))) - (local.set 0x405 (i64.load offset=0x405 align=1 (i32.const 0))) - (local.set 0x406 (i64.load offset=0x406 align=1 (i32.const 0))) - (local.set 0x407 (i64.load offset=0x407 align=1 (i32.const 0))) - (local.set 0x408 (i64.load offset=0x408 align=1 (i32.const 0))) - (local.set 0x409 (i64.load offset=0x409 align=1 (i32.const 0))) - (local.set 0x40a (i64.load offset=0x40a align=1 (i32.const 0))) - (local.set 0x40b (i64.load offset=0x40b align=1 (i32.const 0))) - (local.set 0x40c (i64.load offset=0x40c align=1 (i32.const 0))) - (local.set 0x40d (i64.load offset=0x40d align=1 (i32.const 0))) - (local.set 0x40e (i64.load offset=0x40e align=1 (i32.const 0))) - (local.set 0x40f (i64.load offset=0x40f align=1 (i32.const 0))) - (local.set 0x410 (i64.load offset=0x410 align=1 (i32.const 0))) - (local.set 0x411 (i64.load offset=0x411 align=1 (i32.const 0))) - (local.set 0x412 (i64.load offset=0x412 align=1 (i32.const 0))) - (local.set 0x413 (i64.load offset=0x413 align=1 (i32.const 0))) - (local.set 0x414 (i64.load offset=0x414 align=1 (i32.const 0))) - (local.set 0x415 (i64.load offset=0x415 align=1 (i32.const 0))) - (local.set 0x416 (i64.load offset=0x416 align=1 (i32.const 0))) - (local.set 0x417 (i64.load offset=0x417 align=1 (i32.const 0))) - (local.set 0x418 (i64.load offset=0x418 align=1 (i32.const 0))) - (local.set 0x419 (i64.load offset=0x419 align=1 (i32.const 0))) - (local.set 0x41a (i64.load offset=0x41a align=1 (i32.const 0))) - (local.set 0x41b (i64.load offset=0x41b align=1 (i32.const 0))) - (local.set 0x41c (i64.load offset=0x41c align=1 (i32.const 0))) - (local.set 0x41d (i64.load offset=0x41d align=1 (i32.const 0))) - (local.set 0x41e (i64.load offset=0x41e align=1 (i32.const 0))) - (local.set 0x41f (i64.load offset=0x41f align=1 (i32.const 0))) - - ;; store the locals back to memory - (i64.store offset=0x000 align=1 (i32.const 0) (local.get 0x000)) - (i64.store offset=0x001 align=1 (i32.const 0) (local.get 0x001)) - (i64.store offset=0x002 align=1 (i32.const 0) (local.get 0x002)) - (i64.store offset=0x003 align=1 (i32.const 0) (local.get 0x003)) - (i64.store offset=0x004 align=1 (i32.const 0) (local.get 0x004)) - (i64.store offset=0x005 align=1 (i32.const 0) (local.get 0x005)) - (i64.store offset=0x006 align=1 (i32.const 0) (local.get 0x006)) - (i64.store offset=0x007 align=1 (i32.const 0) (local.get 0x007)) - (i64.store offset=0x008 align=1 (i32.const 0) (local.get 0x008)) - (i64.store offset=0x009 align=1 (i32.const 0) (local.get 0x009)) - (i64.store offset=0x00a align=1 (i32.const 0) (local.get 0x00a)) - (i64.store offset=0x00b align=1 (i32.const 0) (local.get 0x00b)) - (i64.store offset=0x00c align=1 (i32.const 0) (local.get 0x00c)) - (i64.store offset=0x00d align=1 (i32.const 0) (local.get 0x00d)) - (i64.store offset=0x00e align=1 (i32.const 0) (local.get 0x00e)) - (i64.store offset=0x00f align=1 (i32.const 0) (local.get 0x00f)) - (i64.store offset=0x010 align=1 (i32.const 0) (local.get 0x010)) - (i64.store offset=0x011 align=1 (i32.const 0) (local.get 0x011)) - (i64.store offset=0x012 align=1 (i32.const 0) (local.get 0x012)) - (i64.store offset=0x013 align=1 (i32.const 0) (local.get 0x013)) - (i64.store offset=0x014 align=1 (i32.const 0) (local.get 0x014)) - (i64.store offset=0x015 align=1 (i32.const 0) (local.get 0x015)) - (i64.store offset=0x016 align=1 (i32.const 0) (local.get 0x016)) - (i64.store offset=0x017 align=1 (i32.const 0) (local.get 0x017)) - (i64.store offset=0x018 align=1 (i32.const 0) (local.get 0x018)) - (i64.store offset=0x019 align=1 (i32.const 0) (local.get 0x019)) - (i64.store offset=0x01a align=1 (i32.const 0) (local.get 0x01a)) - (i64.store offset=0x01b align=1 (i32.const 0) (local.get 0x01b)) - (i64.store offset=0x01c align=1 (i32.const 0) (local.get 0x01c)) - (i64.store offset=0x01d align=1 (i32.const 0) (local.get 0x01d)) - (i64.store offset=0x01e align=1 (i32.const 0) (local.get 0x01e)) - (i64.store offset=0x01f align=1 (i32.const 0) (local.get 0x01f)) - (i64.store offset=0x020 align=1 (i32.const 0) (local.get 0x020)) - (i64.store offset=0x021 align=1 (i32.const 0) (local.get 0x021)) - (i64.store offset=0x022 align=1 (i32.const 0) (local.get 0x022)) - (i64.store offset=0x023 align=1 (i32.const 0) (local.get 0x023)) - (i64.store offset=0x024 align=1 (i32.const 0) (local.get 0x024)) - (i64.store offset=0x025 align=1 (i32.const 0) (local.get 0x025)) - (i64.store offset=0x026 align=1 (i32.const 0) (local.get 0x026)) - (i64.store offset=0x027 align=1 (i32.const 0) (local.get 0x027)) - (i64.store offset=0x028 align=1 (i32.const 0) (local.get 0x028)) - (i64.store offset=0x029 align=1 (i32.const 0) (local.get 0x029)) - (i64.store offset=0x02a align=1 (i32.const 0) (local.get 0x02a)) - (i64.store offset=0x02b align=1 (i32.const 0) (local.get 0x02b)) - (i64.store offset=0x02c align=1 (i32.const 0) (local.get 0x02c)) - (i64.store offset=0x02d align=1 (i32.const 0) (local.get 0x02d)) - (i64.store offset=0x02e align=1 (i32.const 0) (local.get 0x02e)) - (i64.store offset=0x02f align=1 (i32.const 0) (local.get 0x02f)) - (i64.store offset=0x030 align=1 (i32.const 0) (local.get 0x030)) - (i64.store offset=0x031 align=1 (i32.const 0) (local.get 0x031)) - (i64.store offset=0x032 align=1 (i32.const 0) (local.get 0x032)) - (i64.store offset=0x033 align=1 (i32.const 0) (local.get 0x033)) - (i64.store offset=0x034 align=1 (i32.const 0) (local.get 0x034)) - (i64.store offset=0x035 align=1 (i32.const 0) (local.get 0x035)) - (i64.store offset=0x036 align=1 (i32.const 0) (local.get 0x036)) - (i64.store offset=0x037 align=1 (i32.const 0) (local.get 0x037)) - (i64.store offset=0x038 align=1 (i32.const 0) (local.get 0x038)) - (i64.store offset=0x039 align=1 (i32.const 0) (local.get 0x039)) - (i64.store offset=0x03a align=1 (i32.const 0) (local.get 0x03a)) - (i64.store offset=0x03b align=1 (i32.const 0) (local.get 0x03b)) - (i64.store offset=0x03c align=1 (i32.const 0) (local.get 0x03c)) - (i64.store offset=0x03d align=1 (i32.const 0) (local.get 0x03d)) - (i64.store offset=0x03e align=1 (i32.const 0) (local.get 0x03e)) - (i64.store offset=0x03f align=1 (i32.const 0) (local.get 0x03f)) - (i64.store offset=0x040 align=1 (i32.const 0) (local.get 0x040)) - (i64.store offset=0x041 align=1 (i32.const 0) (local.get 0x041)) - (i64.store offset=0x042 align=1 (i32.const 0) (local.get 0x042)) - (i64.store offset=0x043 align=1 (i32.const 0) (local.get 0x043)) - (i64.store offset=0x044 align=1 (i32.const 0) (local.get 0x044)) - (i64.store offset=0x045 align=1 (i32.const 0) (local.get 0x045)) - (i64.store offset=0x046 align=1 (i32.const 0) (local.get 0x046)) - (i64.store offset=0x047 align=1 (i32.const 0) (local.get 0x047)) - (i64.store offset=0x048 align=1 (i32.const 0) (local.get 0x048)) - (i64.store offset=0x049 align=1 (i32.const 0) (local.get 0x049)) - (i64.store offset=0x04a align=1 (i32.const 0) (local.get 0x04a)) - (i64.store offset=0x04b align=1 (i32.const 0) (local.get 0x04b)) - (i64.store offset=0x04c align=1 (i32.const 0) (local.get 0x04c)) - (i64.store offset=0x04d align=1 (i32.const 0) (local.get 0x04d)) - (i64.store offset=0x04e align=1 (i32.const 0) (local.get 0x04e)) - (i64.store offset=0x04f align=1 (i32.const 0) (local.get 0x04f)) - (i64.store offset=0x050 align=1 (i32.const 0) (local.get 0x050)) - (i64.store offset=0x051 align=1 (i32.const 0) (local.get 0x051)) - (i64.store offset=0x052 align=1 (i32.const 0) (local.get 0x052)) - (i64.store offset=0x053 align=1 (i32.const 0) (local.get 0x053)) - (i64.store offset=0x054 align=1 (i32.const 0) (local.get 0x054)) - (i64.store offset=0x055 align=1 (i32.const 0) (local.get 0x055)) - (i64.store offset=0x056 align=1 (i32.const 0) (local.get 0x056)) - (i64.store offset=0x057 align=1 (i32.const 0) (local.get 0x057)) - (i64.store offset=0x058 align=1 (i32.const 0) (local.get 0x058)) - (i64.store offset=0x059 align=1 (i32.const 0) (local.get 0x059)) - (i64.store offset=0x05a align=1 (i32.const 0) (local.get 0x05a)) - (i64.store offset=0x05b align=1 (i32.const 0) (local.get 0x05b)) - (i64.store offset=0x05c align=1 (i32.const 0) (local.get 0x05c)) - (i64.store offset=0x05d align=1 (i32.const 0) (local.get 0x05d)) - (i64.store offset=0x05e align=1 (i32.const 0) (local.get 0x05e)) - (i64.store offset=0x05f align=1 (i32.const 0) (local.get 0x05f)) - (i64.store offset=0x060 align=1 (i32.const 0) (local.get 0x060)) - (i64.store offset=0x061 align=1 (i32.const 0) (local.get 0x061)) - (i64.store offset=0x062 align=1 (i32.const 0) (local.get 0x062)) - (i64.store offset=0x063 align=1 (i32.const 0) (local.get 0x063)) - (i64.store offset=0x064 align=1 (i32.const 0) (local.get 0x064)) - (i64.store offset=0x065 align=1 (i32.const 0) (local.get 0x065)) - (i64.store offset=0x066 align=1 (i32.const 0) (local.get 0x066)) - (i64.store offset=0x067 align=1 (i32.const 0) (local.get 0x067)) - (i64.store offset=0x068 align=1 (i32.const 0) (local.get 0x068)) - (i64.store offset=0x069 align=1 (i32.const 0) (local.get 0x069)) - (i64.store offset=0x06a align=1 (i32.const 0) (local.get 0x06a)) - (i64.store offset=0x06b align=1 (i32.const 0) (local.get 0x06b)) - (i64.store offset=0x06c align=1 (i32.const 0) (local.get 0x06c)) - (i64.store offset=0x06d align=1 (i32.const 0) (local.get 0x06d)) - (i64.store offset=0x06e align=1 (i32.const 0) (local.get 0x06e)) - (i64.store offset=0x06f align=1 (i32.const 0) (local.get 0x06f)) - (i64.store offset=0x070 align=1 (i32.const 0) (local.get 0x070)) - (i64.store offset=0x071 align=1 (i32.const 0) (local.get 0x071)) - (i64.store offset=0x072 align=1 (i32.const 0) (local.get 0x072)) - (i64.store offset=0x073 align=1 (i32.const 0) (local.get 0x073)) - (i64.store offset=0x074 align=1 (i32.const 0) (local.get 0x074)) - (i64.store offset=0x075 align=1 (i32.const 0) (local.get 0x075)) - (i64.store offset=0x076 align=1 (i32.const 0) (local.get 0x076)) - (i64.store offset=0x077 align=1 (i32.const 0) (local.get 0x077)) - (i64.store offset=0x078 align=1 (i32.const 0) (local.get 0x078)) - (i64.store offset=0x079 align=1 (i32.const 0) (local.get 0x079)) - (i64.store offset=0x07a align=1 (i32.const 0) (local.get 0x07a)) - (i64.store offset=0x07b align=1 (i32.const 0) (local.get 0x07b)) - (i64.store offset=0x07c align=1 (i32.const 0) (local.get 0x07c)) - (i64.store offset=0x07d align=1 (i32.const 0) (local.get 0x07d)) - (i64.store offset=0x07e align=1 (i32.const 0) (local.get 0x07e)) - (i64.store offset=0x07f align=1 (i32.const 0) (local.get 0x07f)) - (i64.store offset=0x080 align=1 (i32.const 0) (local.get 0x080)) - (i64.store offset=0x081 align=1 (i32.const 0) (local.get 0x081)) - (i64.store offset=0x082 align=1 (i32.const 0) (local.get 0x082)) - (i64.store offset=0x083 align=1 (i32.const 0) (local.get 0x083)) - (i64.store offset=0x084 align=1 (i32.const 0) (local.get 0x084)) - (i64.store offset=0x085 align=1 (i32.const 0) (local.get 0x085)) - (i64.store offset=0x086 align=1 (i32.const 0) (local.get 0x086)) - (i64.store offset=0x087 align=1 (i32.const 0) (local.get 0x087)) - (i64.store offset=0x088 align=1 (i32.const 0) (local.get 0x088)) - (i64.store offset=0x089 align=1 (i32.const 0) (local.get 0x089)) - (i64.store offset=0x08a align=1 (i32.const 0) (local.get 0x08a)) - (i64.store offset=0x08b align=1 (i32.const 0) (local.get 0x08b)) - (i64.store offset=0x08c align=1 (i32.const 0) (local.get 0x08c)) - (i64.store offset=0x08d align=1 (i32.const 0) (local.get 0x08d)) - (i64.store offset=0x08e align=1 (i32.const 0) (local.get 0x08e)) - (i64.store offset=0x08f align=1 (i32.const 0) (local.get 0x08f)) - (i64.store offset=0x090 align=1 (i32.const 0) (local.get 0x090)) - (i64.store offset=0x091 align=1 (i32.const 0) (local.get 0x091)) - (i64.store offset=0x092 align=1 (i32.const 0) (local.get 0x092)) - (i64.store offset=0x093 align=1 (i32.const 0) (local.get 0x093)) - (i64.store offset=0x094 align=1 (i32.const 0) (local.get 0x094)) - (i64.store offset=0x095 align=1 (i32.const 0) (local.get 0x095)) - (i64.store offset=0x096 align=1 (i32.const 0) (local.get 0x096)) - (i64.store offset=0x097 align=1 (i32.const 0) (local.get 0x097)) - (i64.store offset=0x098 align=1 (i32.const 0) (local.get 0x098)) - (i64.store offset=0x099 align=1 (i32.const 0) (local.get 0x099)) - (i64.store offset=0x09a align=1 (i32.const 0) (local.get 0x09a)) - (i64.store offset=0x09b align=1 (i32.const 0) (local.get 0x09b)) - (i64.store offset=0x09c align=1 (i32.const 0) (local.get 0x09c)) - (i64.store offset=0x09d align=1 (i32.const 0) (local.get 0x09d)) - (i64.store offset=0x09e align=1 (i32.const 0) (local.get 0x09e)) - (i64.store offset=0x09f align=1 (i32.const 0) (local.get 0x09f)) - (i64.store offset=0x0a0 align=1 (i32.const 0) (local.get 0x0a0)) - (i64.store offset=0x0a1 align=1 (i32.const 0) (local.get 0x0a1)) - (i64.store offset=0x0a2 align=1 (i32.const 0) (local.get 0x0a2)) - (i64.store offset=0x0a3 align=1 (i32.const 0) (local.get 0x0a3)) - (i64.store offset=0x0a4 align=1 (i32.const 0) (local.get 0x0a4)) - (i64.store offset=0x0a5 align=1 (i32.const 0) (local.get 0x0a5)) - (i64.store offset=0x0a6 align=1 (i32.const 0) (local.get 0x0a6)) - (i64.store offset=0x0a7 align=1 (i32.const 0) (local.get 0x0a7)) - (i64.store offset=0x0a8 align=1 (i32.const 0) (local.get 0x0a8)) - (i64.store offset=0x0a9 align=1 (i32.const 0) (local.get 0x0a9)) - (i64.store offset=0x0aa align=1 (i32.const 0) (local.get 0x0aa)) - (i64.store offset=0x0ab align=1 (i32.const 0) (local.get 0x0ab)) - (i64.store offset=0x0ac align=1 (i32.const 0) (local.get 0x0ac)) - (i64.store offset=0x0ad align=1 (i32.const 0) (local.get 0x0ad)) - (i64.store offset=0x0ae align=1 (i32.const 0) (local.get 0x0ae)) - (i64.store offset=0x0af align=1 (i32.const 0) (local.get 0x0af)) - (i64.store offset=0x0b0 align=1 (i32.const 0) (local.get 0x0b0)) - (i64.store offset=0x0b1 align=1 (i32.const 0) (local.get 0x0b1)) - (i64.store offset=0x0b2 align=1 (i32.const 0) (local.get 0x0b2)) - (i64.store offset=0x0b3 align=1 (i32.const 0) (local.get 0x0b3)) - (i64.store offset=0x0b4 align=1 (i32.const 0) (local.get 0x0b4)) - (i64.store offset=0x0b5 align=1 (i32.const 0) (local.get 0x0b5)) - (i64.store offset=0x0b6 align=1 (i32.const 0) (local.get 0x0b6)) - (i64.store offset=0x0b7 align=1 (i32.const 0) (local.get 0x0b7)) - (i64.store offset=0x0b8 align=1 (i32.const 0) (local.get 0x0b8)) - (i64.store offset=0x0b9 align=1 (i32.const 0) (local.get 0x0b9)) - (i64.store offset=0x0ba align=1 (i32.const 0) (local.get 0x0ba)) - (i64.store offset=0x0bb align=1 (i32.const 0) (local.get 0x0bb)) - (i64.store offset=0x0bc align=1 (i32.const 0) (local.get 0x0bc)) - (i64.store offset=0x0bd align=1 (i32.const 0) (local.get 0x0bd)) - (i64.store offset=0x0be align=1 (i32.const 0) (local.get 0x0be)) - (i64.store offset=0x0bf align=1 (i32.const 0) (local.get 0x0bf)) - (i64.store offset=0x0c0 align=1 (i32.const 0) (local.get 0x0c0)) - (i64.store offset=0x0c1 align=1 (i32.const 0) (local.get 0x0c1)) - (i64.store offset=0x0c2 align=1 (i32.const 0) (local.get 0x0c2)) - (i64.store offset=0x0c3 align=1 (i32.const 0) (local.get 0x0c3)) - (i64.store offset=0x0c4 align=1 (i32.const 0) (local.get 0x0c4)) - (i64.store offset=0x0c5 align=1 (i32.const 0) (local.get 0x0c5)) - (i64.store offset=0x0c6 align=1 (i32.const 0) (local.get 0x0c6)) - (i64.store offset=0x0c7 align=1 (i32.const 0) (local.get 0x0c7)) - (i64.store offset=0x0c8 align=1 (i32.const 0) (local.get 0x0c8)) - (i64.store offset=0x0c9 align=1 (i32.const 0) (local.get 0x0c9)) - (i64.store offset=0x0ca align=1 (i32.const 0) (local.get 0x0ca)) - (i64.store offset=0x0cb align=1 (i32.const 0) (local.get 0x0cb)) - (i64.store offset=0x0cc align=1 (i32.const 0) (local.get 0x0cc)) - (i64.store offset=0x0cd align=1 (i32.const 0) (local.get 0x0cd)) - (i64.store offset=0x0ce align=1 (i32.const 0) (local.get 0x0ce)) - (i64.store offset=0x0cf align=1 (i32.const 0) (local.get 0x0cf)) - (i64.store offset=0x0d0 align=1 (i32.const 0) (local.get 0x0d0)) - (i64.store offset=0x0d1 align=1 (i32.const 0) (local.get 0x0d1)) - (i64.store offset=0x0d2 align=1 (i32.const 0) (local.get 0x0d2)) - (i64.store offset=0x0d3 align=1 (i32.const 0) (local.get 0x0d3)) - (i64.store offset=0x0d4 align=1 (i32.const 0) (local.get 0x0d4)) - (i64.store offset=0x0d5 align=1 (i32.const 0) (local.get 0x0d5)) - (i64.store offset=0x0d6 align=1 (i32.const 0) (local.get 0x0d6)) - (i64.store offset=0x0d7 align=1 (i32.const 0) (local.get 0x0d7)) - (i64.store offset=0x0d8 align=1 (i32.const 0) (local.get 0x0d8)) - (i64.store offset=0x0d9 align=1 (i32.const 0) (local.get 0x0d9)) - (i64.store offset=0x0da align=1 (i32.const 0) (local.get 0x0da)) - (i64.store offset=0x0db align=1 (i32.const 0) (local.get 0x0db)) - (i64.store offset=0x0dc align=1 (i32.const 0) (local.get 0x0dc)) - (i64.store offset=0x0dd align=1 (i32.const 0) (local.get 0x0dd)) - (i64.store offset=0x0de align=1 (i32.const 0) (local.get 0x0de)) - (i64.store offset=0x0df align=1 (i32.const 0) (local.get 0x0df)) - (i64.store offset=0x0e0 align=1 (i32.const 0) (local.get 0x0e0)) - (i64.store offset=0x0e1 align=1 (i32.const 0) (local.get 0x0e1)) - (i64.store offset=0x0e2 align=1 (i32.const 0) (local.get 0x0e2)) - (i64.store offset=0x0e3 align=1 (i32.const 0) (local.get 0x0e3)) - (i64.store offset=0x0e4 align=1 (i32.const 0) (local.get 0x0e4)) - (i64.store offset=0x0e5 align=1 (i32.const 0) (local.get 0x0e5)) - (i64.store offset=0x0e6 align=1 (i32.const 0) (local.get 0x0e6)) - (i64.store offset=0x0e7 align=1 (i32.const 0) (local.get 0x0e7)) - (i64.store offset=0x0e8 align=1 (i32.const 0) (local.get 0x0e8)) - (i64.store offset=0x0e9 align=1 (i32.const 0) (local.get 0x0e9)) - (i64.store offset=0x0ea align=1 (i32.const 0) (local.get 0x0ea)) - (i64.store offset=0x0eb align=1 (i32.const 0) (local.get 0x0eb)) - (i64.store offset=0x0ec align=1 (i32.const 0) (local.get 0x0ec)) - (i64.store offset=0x0ed align=1 (i32.const 0) (local.get 0x0ed)) - (i64.store offset=0x0ee align=1 (i32.const 0) (local.get 0x0ee)) - (i64.store offset=0x0ef align=1 (i32.const 0) (local.get 0x0ef)) - (i64.store offset=0x0f0 align=1 (i32.const 0) (local.get 0x0f0)) - (i64.store offset=0x0f1 align=1 (i32.const 0) (local.get 0x0f1)) - (i64.store offset=0x0f2 align=1 (i32.const 0) (local.get 0x0f2)) - (i64.store offset=0x0f3 align=1 (i32.const 0) (local.get 0x0f3)) - (i64.store offset=0x0f4 align=1 (i32.const 0) (local.get 0x0f4)) - (i64.store offset=0x0f5 align=1 (i32.const 0) (local.get 0x0f5)) - (i64.store offset=0x0f6 align=1 (i32.const 0) (local.get 0x0f6)) - (i64.store offset=0x0f7 align=1 (i32.const 0) (local.get 0x0f7)) - (i64.store offset=0x0f8 align=1 (i32.const 0) (local.get 0x0f8)) - (i64.store offset=0x0f9 align=1 (i32.const 0) (local.get 0x0f9)) - (i64.store offset=0x0fa align=1 (i32.const 0) (local.get 0x0fa)) - (i64.store offset=0x0fb align=1 (i32.const 0) (local.get 0x0fb)) - (i64.store offset=0x0fc align=1 (i32.const 0) (local.get 0x0fc)) - (i64.store offset=0x0fd align=1 (i32.const 0) (local.get 0x0fd)) - (i64.store offset=0x0fe align=1 (i32.const 0) (local.get 0x0fe)) - (i64.store offset=0x0ff align=1 (i32.const 0) (local.get 0x0ff)) - (i64.store offset=0x100 align=1 (i32.const 0) (local.get 0x100)) - (i64.store offset=0x101 align=1 (i32.const 0) (local.get 0x101)) - (i64.store offset=0x102 align=1 (i32.const 0) (local.get 0x102)) - (i64.store offset=0x103 align=1 (i32.const 0) (local.get 0x103)) - (i64.store offset=0x104 align=1 (i32.const 0) (local.get 0x104)) - (i64.store offset=0x105 align=1 (i32.const 0) (local.get 0x105)) - (i64.store offset=0x106 align=1 (i32.const 0) (local.get 0x106)) - (i64.store offset=0x107 align=1 (i32.const 0) (local.get 0x107)) - (i64.store offset=0x108 align=1 (i32.const 0) (local.get 0x108)) - (i64.store offset=0x109 align=1 (i32.const 0) (local.get 0x109)) - (i64.store offset=0x10a align=1 (i32.const 0) (local.get 0x10a)) - (i64.store offset=0x10b align=1 (i32.const 0) (local.get 0x10b)) - (i64.store offset=0x10c align=1 (i32.const 0) (local.get 0x10c)) - (i64.store offset=0x10d align=1 (i32.const 0) (local.get 0x10d)) - (i64.store offset=0x10e align=1 (i32.const 0) (local.get 0x10e)) - (i64.store offset=0x10f align=1 (i32.const 0) (local.get 0x10f)) - (i64.store offset=0x110 align=1 (i32.const 0) (local.get 0x110)) - (i64.store offset=0x111 align=1 (i32.const 0) (local.get 0x111)) - (i64.store offset=0x112 align=1 (i32.const 0) (local.get 0x112)) - (i64.store offset=0x113 align=1 (i32.const 0) (local.get 0x113)) - (i64.store offset=0x114 align=1 (i32.const 0) (local.get 0x114)) - (i64.store offset=0x115 align=1 (i32.const 0) (local.get 0x115)) - (i64.store offset=0x116 align=1 (i32.const 0) (local.get 0x116)) - (i64.store offset=0x117 align=1 (i32.const 0) (local.get 0x117)) - (i64.store offset=0x118 align=1 (i32.const 0) (local.get 0x118)) - (i64.store offset=0x119 align=1 (i32.const 0) (local.get 0x119)) - (i64.store offset=0x11a align=1 (i32.const 0) (local.get 0x11a)) - (i64.store offset=0x11b align=1 (i32.const 0) (local.get 0x11b)) - (i64.store offset=0x11c align=1 (i32.const 0) (local.get 0x11c)) - (i64.store offset=0x11d align=1 (i32.const 0) (local.get 0x11d)) - (i64.store offset=0x11e align=1 (i32.const 0) (local.get 0x11e)) - (i64.store offset=0x11f align=1 (i32.const 0) (local.get 0x11f)) - (i64.store offset=0x120 align=1 (i32.const 0) (local.get 0x120)) - (i64.store offset=0x121 align=1 (i32.const 0) (local.get 0x121)) - (i64.store offset=0x122 align=1 (i32.const 0) (local.get 0x122)) - (i64.store offset=0x123 align=1 (i32.const 0) (local.get 0x123)) - (i64.store offset=0x124 align=1 (i32.const 0) (local.get 0x124)) - (i64.store offset=0x125 align=1 (i32.const 0) (local.get 0x125)) - (i64.store offset=0x126 align=1 (i32.const 0) (local.get 0x126)) - (i64.store offset=0x127 align=1 (i32.const 0) (local.get 0x127)) - (i64.store offset=0x128 align=1 (i32.const 0) (local.get 0x128)) - (i64.store offset=0x129 align=1 (i32.const 0) (local.get 0x129)) - (i64.store offset=0x12a align=1 (i32.const 0) (local.get 0x12a)) - (i64.store offset=0x12b align=1 (i32.const 0) (local.get 0x12b)) - (i64.store offset=0x12c align=1 (i32.const 0) (local.get 0x12c)) - (i64.store offset=0x12d align=1 (i32.const 0) (local.get 0x12d)) - (i64.store offset=0x12e align=1 (i32.const 0) (local.get 0x12e)) - (i64.store offset=0x12f align=1 (i32.const 0) (local.get 0x12f)) - (i64.store offset=0x130 align=1 (i32.const 0) (local.get 0x130)) - (i64.store offset=0x131 align=1 (i32.const 0) (local.get 0x131)) - (i64.store offset=0x132 align=1 (i32.const 0) (local.get 0x132)) - (i64.store offset=0x133 align=1 (i32.const 0) (local.get 0x133)) - (i64.store offset=0x134 align=1 (i32.const 0) (local.get 0x134)) - (i64.store offset=0x135 align=1 (i32.const 0) (local.get 0x135)) - (i64.store offset=0x136 align=1 (i32.const 0) (local.get 0x136)) - (i64.store offset=0x137 align=1 (i32.const 0) (local.get 0x137)) - (i64.store offset=0x138 align=1 (i32.const 0) (local.get 0x138)) - (i64.store offset=0x139 align=1 (i32.const 0) (local.get 0x139)) - (i64.store offset=0x13a align=1 (i32.const 0) (local.get 0x13a)) - (i64.store offset=0x13b align=1 (i32.const 0) (local.get 0x13b)) - (i64.store offset=0x13c align=1 (i32.const 0) (local.get 0x13c)) - (i64.store offset=0x13d align=1 (i32.const 0) (local.get 0x13d)) - (i64.store offset=0x13e align=1 (i32.const 0) (local.get 0x13e)) - (i64.store offset=0x13f align=1 (i32.const 0) (local.get 0x13f)) - (i64.store offset=0x140 align=1 (i32.const 0) (local.get 0x140)) - (i64.store offset=0x141 align=1 (i32.const 0) (local.get 0x141)) - (i64.store offset=0x142 align=1 (i32.const 0) (local.get 0x142)) - (i64.store offset=0x143 align=1 (i32.const 0) (local.get 0x143)) - (i64.store offset=0x144 align=1 (i32.const 0) (local.get 0x144)) - (i64.store offset=0x145 align=1 (i32.const 0) (local.get 0x145)) - (i64.store offset=0x146 align=1 (i32.const 0) (local.get 0x146)) - (i64.store offset=0x147 align=1 (i32.const 0) (local.get 0x147)) - (i64.store offset=0x148 align=1 (i32.const 0) (local.get 0x148)) - (i64.store offset=0x149 align=1 (i32.const 0) (local.get 0x149)) - (i64.store offset=0x14a align=1 (i32.const 0) (local.get 0x14a)) - (i64.store offset=0x14b align=1 (i32.const 0) (local.get 0x14b)) - (i64.store offset=0x14c align=1 (i32.const 0) (local.get 0x14c)) - (i64.store offset=0x14d align=1 (i32.const 0) (local.get 0x14d)) - (i64.store offset=0x14e align=1 (i32.const 0) (local.get 0x14e)) - (i64.store offset=0x14f align=1 (i32.const 0) (local.get 0x14f)) - (i64.store offset=0x150 align=1 (i32.const 0) (local.get 0x150)) - (i64.store offset=0x151 align=1 (i32.const 0) (local.get 0x151)) - (i64.store offset=0x152 align=1 (i32.const 0) (local.get 0x152)) - (i64.store offset=0x153 align=1 (i32.const 0) (local.get 0x153)) - (i64.store offset=0x154 align=1 (i32.const 0) (local.get 0x154)) - (i64.store offset=0x155 align=1 (i32.const 0) (local.get 0x155)) - (i64.store offset=0x156 align=1 (i32.const 0) (local.get 0x156)) - (i64.store offset=0x157 align=1 (i32.const 0) (local.get 0x157)) - (i64.store offset=0x158 align=1 (i32.const 0) (local.get 0x158)) - (i64.store offset=0x159 align=1 (i32.const 0) (local.get 0x159)) - (i64.store offset=0x15a align=1 (i32.const 0) (local.get 0x15a)) - (i64.store offset=0x15b align=1 (i32.const 0) (local.get 0x15b)) - (i64.store offset=0x15c align=1 (i32.const 0) (local.get 0x15c)) - (i64.store offset=0x15d align=1 (i32.const 0) (local.get 0x15d)) - (i64.store offset=0x15e align=1 (i32.const 0) (local.get 0x15e)) - (i64.store offset=0x15f align=1 (i32.const 0) (local.get 0x15f)) - (i64.store offset=0x160 align=1 (i32.const 0) (local.get 0x160)) - (i64.store offset=0x161 align=1 (i32.const 0) (local.get 0x161)) - (i64.store offset=0x162 align=1 (i32.const 0) (local.get 0x162)) - (i64.store offset=0x163 align=1 (i32.const 0) (local.get 0x163)) - (i64.store offset=0x164 align=1 (i32.const 0) (local.get 0x164)) - (i64.store offset=0x165 align=1 (i32.const 0) (local.get 0x165)) - (i64.store offset=0x166 align=1 (i32.const 0) (local.get 0x166)) - (i64.store offset=0x167 align=1 (i32.const 0) (local.get 0x167)) - (i64.store offset=0x168 align=1 (i32.const 0) (local.get 0x168)) - (i64.store offset=0x169 align=1 (i32.const 0) (local.get 0x169)) - (i64.store offset=0x16a align=1 (i32.const 0) (local.get 0x16a)) - (i64.store offset=0x16b align=1 (i32.const 0) (local.get 0x16b)) - (i64.store offset=0x16c align=1 (i32.const 0) (local.get 0x16c)) - (i64.store offset=0x16d align=1 (i32.const 0) (local.get 0x16d)) - (i64.store offset=0x16e align=1 (i32.const 0) (local.get 0x16e)) - (i64.store offset=0x16f align=1 (i32.const 0) (local.get 0x16f)) - (i64.store offset=0x170 align=1 (i32.const 0) (local.get 0x170)) - (i64.store offset=0x171 align=1 (i32.const 0) (local.get 0x171)) - (i64.store offset=0x172 align=1 (i32.const 0) (local.get 0x172)) - (i64.store offset=0x173 align=1 (i32.const 0) (local.get 0x173)) - (i64.store offset=0x174 align=1 (i32.const 0) (local.get 0x174)) - (i64.store offset=0x175 align=1 (i32.const 0) (local.get 0x175)) - (i64.store offset=0x176 align=1 (i32.const 0) (local.get 0x176)) - (i64.store offset=0x177 align=1 (i32.const 0) (local.get 0x177)) - (i64.store offset=0x178 align=1 (i32.const 0) (local.get 0x178)) - (i64.store offset=0x179 align=1 (i32.const 0) (local.get 0x179)) - (i64.store offset=0x17a align=1 (i32.const 0) (local.get 0x17a)) - (i64.store offset=0x17b align=1 (i32.const 0) (local.get 0x17b)) - (i64.store offset=0x17c align=1 (i32.const 0) (local.get 0x17c)) - (i64.store offset=0x17d align=1 (i32.const 0) (local.get 0x17d)) - (i64.store offset=0x17e align=1 (i32.const 0) (local.get 0x17e)) - (i64.store offset=0x17f align=1 (i32.const 0) (local.get 0x17f)) - (i64.store offset=0x180 align=1 (i32.const 0) (local.get 0x180)) - (i64.store offset=0x181 align=1 (i32.const 0) (local.get 0x181)) - (i64.store offset=0x182 align=1 (i32.const 0) (local.get 0x182)) - (i64.store offset=0x183 align=1 (i32.const 0) (local.get 0x183)) - (i64.store offset=0x184 align=1 (i32.const 0) (local.get 0x184)) - (i64.store offset=0x185 align=1 (i32.const 0) (local.get 0x185)) - (i64.store offset=0x186 align=1 (i32.const 0) (local.get 0x186)) - (i64.store offset=0x187 align=1 (i32.const 0) (local.get 0x187)) - (i64.store offset=0x188 align=1 (i32.const 0) (local.get 0x188)) - (i64.store offset=0x189 align=1 (i32.const 0) (local.get 0x189)) - (i64.store offset=0x18a align=1 (i32.const 0) (local.get 0x18a)) - (i64.store offset=0x18b align=1 (i32.const 0) (local.get 0x18b)) - (i64.store offset=0x18c align=1 (i32.const 0) (local.get 0x18c)) - (i64.store offset=0x18d align=1 (i32.const 0) (local.get 0x18d)) - (i64.store offset=0x18e align=1 (i32.const 0) (local.get 0x18e)) - (i64.store offset=0x18f align=1 (i32.const 0) (local.get 0x18f)) - (i64.store offset=0x190 align=1 (i32.const 0) (local.get 0x190)) - (i64.store offset=0x191 align=1 (i32.const 0) (local.get 0x191)) - (i64.store offset=0x192 align=1 (i32.const 0) (local.get 0x192)) - (i64.store offset=0x193 align=1 (i32.const 0) (local.get 0x193)) - (i64.store offset=0x194 align=1 (i32.const 0) (local.get 0x194)) - (i64.store offset=0x195 align=1 (i32.const 0) (local.get 0x195)) - (i64.store offset=0x196 align=1 (i32.const 0) (local.get 0x196)) - (i64.store offset=0x197 align=1 (i32.const 0) (local.get 0x197)) - (i64.store offset=0x198 align=1 (i32.const 0) (local.get 0x198)) - (i64.store offset=0x199 align=1 (i32.const 0) (local.get 0x199)) - (i64.store offset=0x19a align=1 (i32.const 0) (local.get 0x19a)) - (i64.store offset=0x19b align=1 (i32.const 0) (local.get 0x19b)) - (i64.store offset=0x19c align=1 (i32.const 0) (local.get 0x19c)) - (i64.store offset=0x19d align=1 (i32.const 0) (local.get 0x19d)) - (i64.store offset=0x19e align=1 (i32.const 0) (local.get 0x19e)) - (i64.store offset=0x19f align=1 (i32.const 0) (local.get 0x19f)) - (i64.store offset=0x1a0 align=1 (i32.const 0) (local.get 0x1a0)) - (i64.store offset=0x1a1 align=1 (i32.const 0) (local.get 0x1a1)) - (i64.store offset=0x1a2 align=1 (i32.const 0) (local.get 0x1a2)) - (i64.store offset=0x1a3 align=1 (i32.const 0) (local.get 0x1a3)) - (i64.store offset=0x1a4 align=1 (i32.const 0) (local.get 0x1a4)) - (i64.store offset=0x1a5 align=1 (i32.const 0) (local.get 0x1a5)) - (i64.store offset=0x1a6 align=1 (i32.const 0) (local.get 0x1a6)) - (i64.store offset=0x1a7 align=1 (i32.const 0) (local.get 0x1a7)) - (i64.store offset=0x1a8 align=1 (i32.const 0) (local.get 0x1a8)) - (i64.store offset=0x1a9 align=1 (i32.const 0) (local.get 0x1a9)) - (i64.store offset=0x1aa align=1 (i32.const 0) (local.get 0x1aa)) - (i64.store offset=0x1ab align=1 (i32.const 0) (local.get 0x1ab)) - (i64.store offset=0x1ac align=1 (i32.const 0) (local.get 0x1ac)) - (i64.store offset=0x1ad align=1 (i32.const 0) (local.get 0x1ad)) - (i64.store offset=0x1ae align=1 (i32.const 0) (local.get 0x1ae)) - (i64.store offset=0x1af align=1 (i32.const 0) (local.get 0x1af)) - (i64.store offset=0x1b0 align=1 (i32.const 0) (local.get 0x1b0)) - (i64.store offset=0x1b1 align=1 (i32.const 0) (local.get 0x1b1)) - (i64.store offset=0x1b2 align=1 (i32.const 0) (local.get 0x1b2)) - (i64.store offset=0x1b3 align=1 (i32.const 0) (local.get 0x1b3)) - (i64.store offset=0x1b4 align=1 (i32.const 0) (local.get 0x1b4)) - (i64.store offset=0x1b5 align=1 (i32.const 0) (local.get 0x1b5)) - (i64.store offset=0x1b6 align=1 (i32.const 0) (local.get 0x1b6)) - (i64.store offset=0x1b7 align=1 (i32.const 0) (local.get 0x1b7)) - (i64.store offset=0x1b8 align=1 (i32.const 0) (local.get 0x1b8)) - (i64.store offset=0x1b9 align=1 (i32.const 0) (local.get 0x1b9)) - (i64.store offset=0x1ba align=1 (i32.const 0) (local.get 0x1ba)) - (i64.store offset=0x1bb align=1 (i32.const 0) (local.get 0x1bb)) - (i64.store offset=0x1bc align=1 (i32.const 0) (local.get 0x1bc)) - (i64.store offset=0x1bd align=1 (i32.const 0) (local.get 0x1bd)) - (i64.store offset=0x1be align=1 (i32.const 0) (local.get 0x1be)) - (i64.store offset=0x1bf align=1 (i32.const 0) (local.get 0x1bf)) - (i64.store offset=0x1c0 align=1 (i32.const 0) (local.get 0x1c0)) - (i64.store offset=0x1c1 align=1 (i32.const 0) (local.get 0x1c1)) - (i64.store offset=0x1c2 align=1 (i32.const 0) (local.get 0x1c2)) - (i64.store offset=0x1c3 align=1 (i32.const 0) (local.get 0x1c3)) - (i64.store offset=0x1c4 align=1 (i32.const 0) (local.get 0x1c4)) - (i64.store offset=0x1c5 align=1 (i32.const 0) (local.get 0x1c5)) - (i64.store offset=0x1c6 align=1 (i32.const 0) (local.get 0x1c6)) - (i64.store offset=0x1c7 align=1 (i32.const 0) (local.get 0x1c7)) - (i64.store offset=0x1c8 align=1 (i32.const 0) (local.get 0x1c8)) - (i64.store offset=0x1c9 align=1 (i32.const 0) (local.get 0x1c9)) - (i64.store offset=0x1ca align=1 (i32.const 0) (local.get 0x1ca)) - (i64.store offset=0x1cb align=1 (i32.const 0) (local.get 0x1cb)) - (i64.store offset=0x1cc align=1 (i32.const 0) (local.get 0x1cc)) - (i64.store offset=0x1cd align=1 (i32.const 0) (local.get 0x1cd)) - (i64.store offset=0x1ce align=1 (i32.const 0) (local.get 0x1ce)) - (i64.store offset=0x1cf align=1 (i32.const 0) (local.get 0x1cf)) - (i64.store offset=0x1d0 align=1 (i32.const 0) (local.get 0x1d0)) - (i64.store offset=0x1d1 align=1 (i32.const 0) (local.get 0x1d1)) - (i64.store offset=0x1d2 align=1 (i32.const 0) (local.get 0x1d2)) - (i64.store offset=0x1d3 align=1 (i32.const 0) (local.get 0x1d3)) - (i64.store offset=0x1d4 align=1 (i32.const 0) (local.get 0x1d4)) - (i64.store offset=0x1d5 align=1 (i32.const 0) (local.get 0x1d5)) - (i64.store offset=0x1d6 align=1 (i32.const 0) (local.get 0x1d6)) - (i64.store offset=0x1d7 align=1 (i32.const 0) (local.get 0x1d7)) - (i64.store offset=0x1d8 align=1 (i32.const 0) (local.get 0x1d8)) - (i64.store offset=0x1d9 align=1 (i32.const 0) (local.get 0x1d9)) - (i64.store offset=0x1da align=1 (i32.const 0) (local.get 0x1da)) - (i64.store offset=0x1db align=1 (i32.const 0) (local.get 0x1db)) - (i64.store offset=0x1dc align=1 (i32.const 0) (local.get 0x1dc)) - (i64.store offset=0x1dd align=1 (i32.const 0) (local.get 0x1dd)) - (i64.store offset=0x1de align=1 (i32.const 0) (local.get 0x1de)) - (i64.store offset=0x1df align=1 (i32.const 0) (local.get 0x1df)) - (i64.store offset=0x1e0 align=1 (i32.const 0) (local.get 0x1e0)) - (i64.store offset=0x1e1 align=1 (i32.const 0) (local.get 0x1e1)) - (i64.store offset=0x1e2 align=1 (i32.const 0) (local.get 0x1e2)) - (i64.store offset=0x1e3 align=1 (i32.const 0) (local.get 0x1e3)) - (i64.store offset=0x1e4 align=1 (i32.const 0) (local.get 0x1e4)) - (i64.store offset=0x1e5 align=1 (i32.const 0) (local.get 0x1e5)) - (i64.store offset=0x1e6 align=1 (i32.const 0) (local.get 0x1e6)) - (i64.store offset=0x1e7 align=1 (i32.const 0) (local.get 0x1e7)) - (i64.store offset=0x1e8 align=1 (i32.const 0) (local.get 0x1e8)) - (i64.store offset=0x1e9 align=1 (i32.const 0) (local.get 0x1e9)) - (i64.store offset=0x1ea align=1 (i32.const 0) (local.get 0x1ea)) - (i64.store offset=0x1eb align=1 (i32.const 0) (local.get 0x1eb)) - (i64.store offset=0x1ec align=1 (i32.const 0) (local.get 0x1ec)) - (i64.store offset=0x1ed align=1 (i32.const 0) (local.get 0x1ed)) - (i64.store offset=0x1ee align=1 (i32.const 0) (local.get 0x1ee)) - (i64.store offset=0x1ef align=1 (i32.const 0) (local.get 0x1ef)) - (i64.store offset=0x1f0 align=1 (i32.const 0) (local.get 0x1f0)) - (i64.store offset=0x1f1 align=1 (i32.const 0) (local.get 0x1f1)) - (i64.store offset=0x1f2 align=1 (i32.const 0) (local.get 0x1f2)) - (i64.store offset=0x1f3 align=1 (i32.const 0) (local.get 0x1f3)) - (i64.store offset=0x1f4 align=1 (i32.const 0) (local.get 0x1f4)) - (i64.store offset=0x1f5 align=1 (i32.const 0) (local.get 0x1f5)) - (i64.store offset=0x1f6 align=1 (i32.const 0) (local.get 0x1f6)) - (i64.store offset=0x1f7 align=1 (i32.const 0) (local.get 0x1f7)) - (i64.store offset=0x1f8 align=1 (i32.const 0) (local.get 0x1f8)) - (i64.store offset=0x1f9 align=1 (i32.const 0) (local.get 0x1f9)) - (i64.store offset=0x1fa align=1 (i32.const 0) (local.get 0x1fa)) - (i64.store offset=0x1fb align=1 (i32.const 0) (local.get 0x1fb)) - (i64.store offset=0x1fc align=1 (i32.const 0) (local.get 0x1fc)) - (i64.store offset=0x1fd align=1 (i32.const 0) (local.get 0x1fd)) - (i64.store offset=0x1fe align=1 (i32.const 0) (local.get 0x1fe)) - (i64.store offset=0x1ff align=1 (i32.const 0) (local.get 0x1ff)) - (i64.store offset=0x200 align=1 (i32.const 0) (local.get 0x200)) - (i64.store offset=0x201 align=1 (i32.const 0) (local.get 0x201)) - (i64.store offset=0x202 align=1 (i32.const 0) (local.get 0x202)) - (i64.store offset=0x203 align=1 (i32.const 0) (local.get 0x203)) - (i64.store offset=0x204 align=1 (i32.const 0) (local.get 0x204)) - (i64.store offset=0x205 align=1 (i32.const 0) (local.get 0x205)) - (i64.store offset=0x206 align=1 (i32.const 0) (local.get 0x206)) - (i64.store offset=0x207 align=1 (i32.const 0) (local.get 0x207)) - (i64.store offset=0x208 align=1 (i32.const 0) (local.get 0x208)) - (i64.store offset=0x209 align=1 (i32.const 0) (local.get 0x209)) - (i64.store offset=0x20a align=1 (i32.const 0) (local.get 0x20a)) - (i64.store offset=0x20b align=1 (i32.const 0) (local.get 0x20b)) - (i64.store offset=0x20c align=1 (i32.const 0) (local.get 0x20c)) - (i64.store offset=0x20d align=1 (i32.const 0) (local.get 0x20d)) - (i64.store offset=0x20e align=1 (i32.const 0) (local.get 0x20e)) - (i64.store offset=0x20f align=1 (i32.const 0) (local.get 0x20f)) - (i64.store offset=0x210 align=1 (i32.const 0) (local.get 0x210)) - (i64.store offset=0x211 align=1 (i32.const 0) (local.get 0x211)) - (i64.store offset=0x212 align=1 (i32.const 0) (local.get 0x212)) - (i64.store offset=0x213 align=1 (i32.const 0) (local.get 0x213)) - (i64.store offset=0x214 align=1 (i32.const 0) (local.get 0x214)) - (i64.store offset=0x215 align=1 (i32.const 0) (local.get 0x215)) - (i64.store offset=0x216 align=1 (i32.const 0) (local.get 0x216)) - (i64.store offset=0x217 align=1 (i32.const 0) (local.get 0x217)) - (i64.store offset=0x218 align=1 (i32.const 0) (local.get 0x218)) - (i64.store offset=0x219 align=1 (i32.const 0) (local.get 0x219)) - (i64.store offset=0x21a align=1 (i32.const 0) (local.get 0x21a)) - (i64.store offset=0x21b align=1 (i32.const 0) (local.get 0x21b)) - (i64.store offset=0x21c align=1 (i32.const 0) (local.get 0x21c)) - (i64.store offset=0x21d align=1 (i32.const 0) (local.get 0x21d)) - (i64.store offset=0x21e align=1 (i32.const 0) (local.get 0x21e)) - (i64.store offset=0x21f align=1 (i32.const 0) (local.get 0x21f)) - (i64.store offset=0x220 align=1 (i32.const 0) (local.get 0x220)) - (i64.store offset=0x221 align=1 (i32.const 0) (local.get 0x221)) - (i64.store offset=0x222 align=1 (i32.const 0) (local.get 0x222)) - (i64.store offset=0x223 align=1 (i32.const 0) (local.get 0x223)) - (i64.store offset=0x224 align=1 (i32.const 0) (local.get 0x224)) - (i64.store offset=0x225 align=1 (i32.const 0) (local.get 0x225)) - (i64.store offset=0x226 align=1 (i32.const 0) (local.get 0x226)) - (i64.store offset=0x227 align=1 (i32.const 0) (local.get 0x227)) - (i64.store offset=0x228 align=1 (i32.const 0) (local.get 0x228)) - (i64.store offset=0x229 align=1 (i32.const 0) (local.get 0x229)) - (i64.store offset=0x22a align=1 (i32.const 0) (local.get 0x22a)) - (i64.store offset=0x22b align=1 (i32.const 0) (local.get 0x22b)) - (i64.store offset=0x22c align=1 (i32.const 0) (local.get 0x22c)) - (i64.store offset=0x22d align=1 (i32.const 0) (local.get 0x22d)) - (i64.store offset=0x22e align=1 (i32.const 0) (local.get 0x22e)) - (i64.store offset=0x22f align=1 (i32.const 0) (local.get 0x22f)) - (i64.store offset=0x230 align=1 (i32.const 0) (local.get 0x230)) - (i64.store offset=0x231 align=1 (i32.const 0) (local.get 0x231)) - (i64.store offset=0x232 align=1 (i32.const 0) (local.get 0x232)) - (i64.store offset=0x233 align=1 (i32.const 0) (local.get 0x233)) - (i64.store offset=0x234 align=1 (i32.const 0) (local.get 0x234)) - (i64.store offset=0x235 align=1 (i32.const 0) (local.get 0x235)) - (i64.store offset=0x236 align=1 (i32.const 0) (local.get 0x236)) - (i64.store offset=0x237 align=1 (i32.const 0) (local.get 0x237)) - (i64.store offset=0x238 align=1 (i32.const 0) (local.get 0x238)) - (i64.store offset=0x239 align=1 (i32.const 0) (local.get 0x239)) - (i64.store offset=0x23a align=1 (i32.const 0) (local.get 0x23a)) - (i64.store offset=0x23b align=1 (i32.const 0) (local.get 0x23b)) - (i64.store offset=0x23c align=1 (i32.const 0) (local.get 0x23c)) - (i64.store offset=0x23d align=1 (i32.const 0) (local.get 0x23d)) - (i64.store offset=0x23e align=1 (i32.const 0) (local.get 0x23e)) - (i64.store offset=0x23f align=1 (i32.const 0) (local.get 0x23f)) - (i64.store offset=0x240 align=1 (i32.const 0) (local.get 0x240)) - (i64.store offset=0x241 align=1 (i32.const 0) (local.get 0x241)) - (i64.store offset=0x242 align=1 (i32.const 0) (local.get 0x242)) - (i64.store offset=0x243 align=1 (i32.const 0) (local.get 0x243)) - (i64.store offset=0x244 align=1 (i32.const 0) (local.get 0x244)) - (i64.store offset=0x245 align=1 (i32.const 0) (local.get 0x245)) - (i64.store offset=0x246 align=1 (i32.const 0) (local.get 0x246)) - (i64.store offset=0x247 align=1 (i32.const 0) (local.get 0x247)) - (i64.store offset=0x248 align=1 (i32.const 0) (local.get 0x248)) - (i64.store offset=0x249 align=1 (i32.const 0) (local.get 0x249)) - (i64.store offset=0x24a align=1 (i32.const 0) (local.get 0x24a)) - (i64.store offset=0x24b align=1 (i32.const 0) (local.get 0x24b)) - (i64.store offset=0x24c align=1 (i32.const 0) (local.get 0x24c)) - (i64.store offset=0x24d align=1 (i32.const 0) (local.get 0x24d)) - (i64.store offset=0x24e align=1 (i32.const 0) (local.get 0x24e)) - (i64.store offset=0x24f align=1 (i32.const 0) (local.get 0x24f)) - (i64.store offset=0x250 align=1 (i32.const 0) (local.get 0x250)) - (i64.store offset=0x251 align=1 (i32.const 0) (local.get 0x251)) - (i64.store offset=0x252 align=1 (i32.const 0) (local.get 0x252)) - (i64.store offset=0x253 align=1 (i32.const 0) (local.get 0x253)) - (i64.store offset=0x254 align=1 (i32.const 0) (local.get 0x254)) - (i64.store offset=0x255 align=1 (i32.const 0) (local.get 0x255)) - (i64.store offset=0x256 align=1 (i32.const 0) (local.get 0x256)) - (i64.store offset=0x257 align=1 (i32.const 0) (local.get 0x257)) - (i64.store offset=0x258 align=1 (i32.const 0) (local.get 0x258)) - (i64.store offset=0x259 align=1 (i32.const 0) (local.get 0x259)) - (i64.store offset=0x25a align=1 (i32.const 0) (local.get 0x25a)) - (i64.store offset=0x25b align=1 (i32.const 0) (local.get 0x25b)) - (i64.store offset=0x25c align=1 (i32.const 0) (local.get 0x25c)) - (i64.store offset=0x25d align=1 (i32.const 0) (local.get 0x25d)) - (i64.store offset=0x25e align=1 (i32.const 0) (local.get 0x25e)) - (i64.store offset=0x25f align=1 (i32.const 0) (local.get 0x25f)) - (i64.store offset=0x260 align=1 (i32.const 0) (local.get 0x260)) - (i64.store offset=0x261 align=1 (i32.const 0) (local.get 0x261)) - (i64.store offset=0x262 align=1 (i32.const 0) (local.get 0x262)) - (i64.store offset=0x263 align=1 (i32.const 0) (local.get 0x263)) - (i64.store offset=0x264 align=1 (i32.const 0) (local.get 0x264)) - (i64.store offset=0x265 align=1 (i32.const 0) (local.get 0x265)) - (i64.store offset=0x266 align=1 (i32.const 0) (local.get 0x266)) - (i64.store offset=0x267 align=1 (i32.const 0) (local.get 0x267)) - (i64.store offset=0x268 align=1 (i32.const 0) (local.get 0x268)) - (i64.store offset=0x269 align=1 (i32.const 0) (local.get 0x269)) - (i64.store offset=0x26a align=1 (i32.const 0) (local.get 0x26a)) - (i64.store offset=0x26b align=1 (i32.const 0) (local.get 0x26b)) - (i64.store offset=0x26c align=1 (i32.const 0) (local.get 0x26c)) - (i64.store offset=0x26d align=1 (i32.const 0) (local.get 0x26d)) - (i64.store offset=0x26e align=1 (i32.const 0) (local.get 0x26e)) - (i64.store offset=0x26f align=1 (i32.const 0) (local.get 0x26f)) - (i64.store offset=0x270 align=1 (i32.const 0) (local.get 0x270)) - (i64.store offset=0x271 align=1 (i32.const 0) (local.get 0x271)) - (i64.store offset=0x272 align=1 (i32.const 0) (local.get 0x272)) - (i64.store offset=0x273 align=1 (i32.const 0) (local.get 0x273)) - (i64.store offset=0x274 align=1 (i32.const 0) (local.get 0x274)) - (i64.store offset=0x275 align=1 (i32.const 0) (local.get 0x275)) - (i64.store offset=0x276 align=1 (i32.const 0) (local.get 0x276)) - (i64.store offset=0x277 align=1 (i32.const 0) (local.get 0x277)) - (i64.store offset=0x278 align=1 (i32.const 0) (local.get 0x278)) - (i64.store offset=0x279 align=1 (i32.const 0) (local.get 0x279)) - (i64.store offset=0x27a align=1 (i32.const 0) (local.get 0x27a)) - (i64.store offset=0x27b align=1 (i32.const 0) (local.get 0x27b)) - (i64.store offset=0x27c align=1 (i32.const 0) (local.get 0x27c)) - (i64.store offset=0x27d align=1 (i32.const 0) (local.get 0x27d)) - (i64.store offset=0x27e align=1 (i32.const 0) (local.get 0x27e)) - (i64.store offset=0x27f align=1 (i32.const 0) (local.get 0x27f)) - (i64.store offset=0x280 align=1 (i32.const 0) (local.get 0x280)) - (i64.store offset=0x281 align=1 (i32.const 0) (local.get 0x281)) - (i64.store offset=0x282 align=1 (i32.const 0) (local.get 0x282)) - (i64.store offset=0x283 align=1 (i32.const 0) (local.get 0x283)) - (i64.store offset=0x284 align=1 (i32.const 0) (local.get 0x284)) - (i64.store offset=0x285 align=1 (i32.const 0) (local.get 0x285)) - (i64.store offset=0x286 align=1 (i32.const 0) (local.get 0x286)) - (i64.store offset=0x287 align=1 (i32.const 0) (local.get 0x287)) - (i64.store offset=0x288 align=1 (i32.const 0) (local.get 0x288)) - (i64.store offset=0x289 align=1 (i32.const 0) (local.get 0x289)) - (i64.store offset=0x28a align=1 (i32.const 0) (local.get 0x28a)) - (i64.store offset=0x28b align=1 (i32.const 0) (local.get 0x28b)) - (i64.store offset=0x28c align=1 (i32.const 0) (local.get 0x28c)) - (i64.store offset=0x28d align=1 (i32.const 0) (local.get 0x28d)) - (i64.store offset=0x28e align=1 (i32.const 0) (local.get 0x28e)) - (i64.store offset=0x28f align=1 (i32.const 0) (local.get 0x28f)) - (i64.store offset=0x290 align=1 (i32.const 0) (local.get 0x290)) - (i64.store offset=0x291 align=1 (i32.const 0) (local.get 0x291)) - (i64.store offset=0x292 align=1 (i32.const 0) (local.get 0x292)) - (i64.store offset=0x293 align=1 (i32.const 0) (local.get 0x293)) - (i64.store offset=0x294 align=1 (i32.const 0) (local.get 0x294)) - (i64.store offset=0x295 align=1 (i32.const 0) (local.get 0x295)) - (i64.store offset=0x296 align=1 (i32.const 0) (local.get 0x296)) - (i64.store offset=0x297 align=1 (i32.const 0) (local.get 0x297)) - (i64.store offset=0x298 align=1 (i32.const 0) (local.get 0x298)) - (i64.store offset=0x299 align=1 (i32.const 0) (local.get 0x299)) - (i64.store offset=0x29a align=1 (i32.const 0) (local.get 0x29a)) - (i64.store offset=0x29b align=1 (i32.const 0) (local.get 0x29b)) - (i64.store offset=0x29c align=1 (i32.const 0) (local.get 0x29c)) - (i64.store offset=0x29d align=1 (i32.const 0) (local.get 0x29d)) - (i64.store offset=0x29e align=1 (i32.const 0) (local.get 0x29e)) - (i64.store offset=0x29f align=1 (i32.const 0) (local.get 0x29f)) - (i64.store offset=0x2a0 align=1 (i32.const 0) (local.get 0x2a0)) - (i64.store offset=0x2a1 align=1 (i32.const 0) (local.get 0x2a1)) - (i64.store offset=0x2a2 align=1 (i32.const 0) (local.get 0x2a2)) - (i64.store offset=0x2a3 align=1 (i32.const 0) (local.get 0x2a3)) - (i64.store offset=0x2a4 align=1 (i32.const 0) (local.get 0x2a4)) - (i64.store offset=0x2a5 align=1 (i32.const 0) (local.get 0x2a5)) - (i64.store offset=0x2a6 align=1 (i32.const 0) (local.get 0x2a6)) - (i64.store offset=0x2a7 align=1 (i32.const 0) (local.get 0x2a7)) - (i64.store offset=0x2a8 align=1 (i32.const 0) (local.get 0x2a8)) - (i64.store offset=0x2a9 align=1 (i32.const 0) (local.get 0x2a9)) - (i64.store offset=0x2aa align=1 (i32.const 0) (local.get 0x2aa)) - (i64.store offset=0x2ab align=1 (i32.const 0) (local.get 0x2ab)) - (i64.store offset=0x2ac align=1 (i32.const 0) (local.get 0x2ac)) - (i64.store offset=0x2ad align=1 (i32.const 0) (local.get 0x2ad)) - (i64.store offset=0x2ae align=1 (i32.const 0) (local.get 0x2ae)) - (i64.store offset=0x2af align=1 (i32.const 0) (local.get 0x2af)) - (i64.store offset=0x2b0 align=1 (i32.const 0) (local.get 0x2b0)) - (i64.store offset=0x2b1 align=1 (i32.const 0) (local.get 0x2b1)) - (i64.store offset=0x2b2 align=1 (i32.const 0) (local.get 0x2b2)) - (i64.store offset=0x2b3 align=1 (i32.const 0) (local.get 0x2b3)) - (i64.store offset=0x2b4 align=1 (i32.const 0) (local.get 0x2b4)) - (i64.store offset=0x2b5 align=1 (i32.const 0) (local.get 0x2b5)) - (i64.store offset=0x2b6 align=1 (i32.const 0) (local.get 0x2b6)) - (i64.store offset=0x2b7 align=1 (i32.const 0) (local.get 0x2b7)) - (i64.store offset=0x2b8 align=1 (i32.const 0) (local.get 0x2b8)) - (i64.store offset=0x2b9 align=1 (i32.const 0) (local.get 0x2b9)) - (i64.store offset=0x2ba align=1 (i32.const 0) (local.get 0x2ba)) - (i64.store offset=0x2bb align=1 (i32.const 0) (local.get 0x2bb)) - (i64.store offset=0x2bc align=1 (i32.const 0) (local.get 0x2bc)) - (i64.store offset=0x2bd align=1 (i32.const 0) (local.get 0x2bd)) - (i64.store offset=0x2be align=1 (i32.const 0) (local.get 0x2be)) - (i64.store offset=0x2bf align=1 (i32.const 0) (local.get 0x2bf)) - (i64.store offset=0x2c0 align=1 (i32.const 0) (local.get 0x2c0)) - (i64.store offset=0x2c1 align=1 (i32.const 0) (local.get 0x2c1)) - (i64.store offset=0x2c2 align=1 (i32.const 0) (local.get 0x2c2)) - (i64.store offset=0x2c3 align=1 (i32.const 0) (local.get 0x2c3)) - (i64.store offset=0x2c4 align=1 (i32.const 0) (local.get 0x2c4)) - (i64.store offset=0x2c5 align=1 (i32.const 0) (local.get 0x2c5)) - (i64.store offset=0x2c6 align=1 (i32.const 0) (local.get 0x2c6)) - (i64.store offset=0x2c7 align=1 (i32.const 0) (local.get 0x2c7)) - (i64.store offset=0x2c8 align=1 (i32.const 0) (local.get 0x2c8)) - (i64.store offset=0x2c9 align=1 (i32.const 0) (local.get 0x2c9)) - (i64.store offset=0x2ca align=1 (i32.const 0) (local.get 0x2ca)) - (i64.store offset=0x2cb align=1 (i32.const 0) (local.get 0x2cb)) - (i64.store offset=0x2cc align=1 (i32.const 0) (local.get 0x2cc)) - (i64.store offset=0x2cd align=1 (i32.const 0) (local.get 0x2cd)) - (i64.store offset=0x2ce align=1 (i32.const 0) (local.get 0x2ce)) - (i64.store offset=0x2cf align=1 (i32.const 0) (local.get 0x2cf)) - (i64.store offset=0x2d0 align=1 (i32.const 0) (local.get 0x2d0)) - (i64.store offset=0x2d1 align=1 (i32.const 0) (local.get 0x2d1)) - (i64.store offset=0x2d2 align=1 (i32.const 0) (local.get 0x2d2)) - (i64.store offset=0x2d3 align=1 (i32.const 0) (local.get 0x2d3)) - (i64.store offset=0x2d4 align=1 (i32.const 0) (local.get 0x2d4)) - (i64.store offset=0x2d5 align=1 (i32.const 0) (local.get 0x2d5)) - (i64.store offset=0x2d6 align=1 (i32.const 0) (local.get 0x2d6)) - (i64.store offset=0x2d7 align=1 (i32.const 0) (local.get 0x2d7)) - (i64.store offset=0x2d8 align=1 (i32.const 0) (local.get 0x2d8)) - (i64.store offset=0x2d9 align=1 (i32.const 0) (local.get 0x2d9)) - (i64.store offset=0x2da align=1 (i32.const 0) (local.get 0x2da)) - (i64.store offset=0x2db align=1 (i32.const 0) (local.get 0x2db)) - (i64.store offset=0x2dc align=1 (i32.const 0) (local.get 0x2dc)) - (i64.store offset=0x2dd align=1 (i32.const 0) (local.get 0x2dd)) - (i64.store offset=0x2de align=1 (i32.const 0) (local.get 0x2de)) - (i64.store offset=0x2df align=1 (i32.const 0) (local.get 0x2df)) - (i64.store offset=0x2e0 align=1 (i32.const 0) (local.get 0x2e0)) - (i64.store offset=0x2e1 align=1 (i32.const 0) (local.get 0x2e1)) - (i64.store offset=0x2e2 align=1 (i32.const 0) (local.get 0x2e2)) - (i64.store offset=0x2e3 align=1 (i32.const 0) (local.get 0x2e3)) - (i64.store offset=0x2e4 align=1 (i32.const 0) (local.get 0x2e4)) - (i64.store offset=0x2e5 align=1 (i32.const 0) (local.get 0x2e5)) - (i64.store offset=0x2e6 align=1 (i32.const 0) (local.get 0x2e6)) - (i64.store offset=0x2e7 align=1 (i32.const 0) (local.get 0x2e7)) - (i64.store offset=0x2e8 align=1 (i32.const 0) (local.get 0x2e8)) - (i64.store offset=0x2e9 align=1 (i32.const 0) (local.get 0x2e9)) - (i64.store offset=0x2ea align=1 (i32.const 0) (local.get 0x2ea)) - (i64.store offset=0x2eb align=1 (i32.const 0) (local.get 0x2eb)) - (i64.store offset=0x2ec align=1 (i32.const 0) (local.get 0x2ec)) - (i64.store offset=0x2ed align=1 (i32.const 0) (local.get 0x2ed)) - (i64.store offset=0x2ee align=1 (i32.const 0) (local.get 0x2ee)) - (i64.store offset=0x2ef align=1 (i32.const 0) (local.get 0x2ef)) - (i64.store offset=0x2f0 align=1 (i32.const 0) (local.get 0x2f0)) - (i64.store offset=0x2f1 align=1 (i32.const 0) (local.get 0x2f1)) - (i64.store offset=0x2f2 align=1 (i32.const 0) (local.get 0x2f2)) - (i64.store offset=0x2f3 align=1 (i32.const 0) (local.get 0x2f3)) - (i64.store offset=0x2f4 align=1 (i32.const 0) (local.get 0x2f4)) - (i64.store offset=0x2f5 align=1 (i32.const 0) (local.get 0x2f5)) - (i64.store offset=0x2f6 align=1 (i32.const 0) (local.get 0x2f6)) - (i64.store offset=0x2f7 align=1 (i32.const 0) (local.get 0x2f7)) - (i64.store offset=0x2f8 align=1 (i32.const 0) (local.get 0x2f8)) - (i64.store offset=0x2f9 align=1 (i32.const 0) (local.get 0x2f9)) - (i64.store offset=0x2fa align=1 (i32.const 0) (local.get 0x2fa)) - (i64.store offset=0x2fb align=1 (i32.const 0) (local.get 0x2fb)) - (i64.store offset=0x2fc align=1 (i32.const 0) (local.get 0x2fc)) - (i64.store offset=0x2fd align=1 (i32.const 0) (local.get 0x2fd)) - (i64.store offset=0x2fe align=1 (i32.const 0) (local.get 0x2fe)) - (i64.store offset=0x2ff align=1 (i32.const 0) (local.get 0x2ff)) - (i64.store offset=0x300 align=1 (i32.const 0) (local.get 0x300)) - (i64.store offset=0x301 align=1 (i32.const 0) (local.get 0x301)) - (i64.store offset=0x302 align=1 (i32.const 0) (local.get 0x302)) - (i64.store offset=0x303 align=1 (i32.const 0) (local.get 0x303)) - (i64.store offset=0x304 align=1 (i32.const 0) (local.get 0x304)) - (i64.store offset=0x305 align=1 (i32.const 0) (local.get 0x305)) - (i64.store offset=0x306 align=1 (i32.const 0) (local.get 0x306)) - (i64.store offset=0x307 align=1 (i32.const 0) (local.get 0x307)) - (i64.store offset=0x308 align=1 (i32.const 0) (local.get 0x308)) - (i64.store offset=0x309 align=1 (i32.const 0) (local.get 0x309)) - (i64.store offset=0x30a align=1 (i32.const 0) (local.get 0x30a)) - (i64.store offset=0x30b align=1 (i32.const 0) (local.get 0x30b)) - (i64.store offset=0x30c align=1 (i32.const 0) (local.get 0x30c)) - (i64.store offset=0x30d align=1 (i32.const 0) (local.get 0x30d)) - (i64.store offset=0x30e align=1 (i32.const 0) (local.get 0x30e)) - (i64.store offset=0x30f align=1 (i32.const 0) (local.get 0x30f)) - (i64.store offset=0x310 align=1 (i32.const 0) (local.get 0x310)) - (i64.store offset=0x311 align=1 (i32.const 0) (local.get 0x311)) - (i64.store offset=0x312 align=1 (i32.const 0) (local.get 0x312)) - (i64.store offset=0x313 align=1 (i32.const 0) (local.get 0x313)) - (i64.store offset=0x314 align=1 (i32.const 0) (local.get 0x314)) - (i64.store offset=0x315 align=1 (i32.const 0) (local.get 0x315)) - (i64.store offset=0x316 align=1 (i32.const 0) (local.get 0x316)) - (i64.store offset=0x317 align=1 (i32.const 0) (local.get 0x317)) - (i64.store offset=0x318 align=1 (i32.const 0) (local.get 0x318)) - (i64.store offset=0x319 align=1 (i32.const 0) (local.get 0x319)) - (i64.store offset=0x31a align=1 (i32.const 0) (local.get 0x31a)) - (i64.store offset=0x31b align=1 (i32.const 0) (local.get 0x31b)) - (i64.store offset=0x31c align=1 (i32.const 0) (local.get 0x31c)) - (i64.store offset=0x31d align=1 (i32.const 0) (local.get 0x31d)) - (i64.store offset=0x31e align=1 (i32.const 0) (local.get 0x31e)) - (i64.store offset=0x31f align=1 (i32.const 0) (local.get 0x31f)) - (i64.store offset=0x320 align=1 (i32.const 0) (local.get 0x320)) - (i64.store offset=0x321 align=1 (i32.const 0) (local.get 0x321)) - (i64.store offset=0x322 align=1 (i32.const 0) (local.get 0x322)) - (i64.store offset=0x323 align=1 (i32.const 0) (local.get 0x323)) - (i64.store offset=0x324 align=1 (i32.const 0) (local.get 0x324)) - (i64.store offset=0x325 align=1 (i32.const 0) (local.get 0x325)) - (i64.store offset=0x326 align=1 (i32.const 0) (local.get 0x326)) - (i64.store offset=0x327 align=1 (i32.const 0) (local.get 0x327)) - (i64.store offset=0x328 align=1 (i32.const 0) (local.get 0x328)) - (i64.store offset=0x329 align=1 (i32.const 0) (local.get 0x329)) - (i64.store offset=0x32a align=1 (i32.const 0) (local.get 0x32a)) - (i64.store offset=0x32b align=1 (i32.const 0) (local.get 0x32b)) - (i64.store offset=0x32c align=1 (i32.const 0) (local.get 0x32c)) - (i64.store offset=0x32d align=1 (i32.const 0) (local.get 0x32d)) - (i64.store offset=0x32e align=1 (i32.const 0) (local.get 0x32e)) - (i64.store offset=0x32f align=1 (i32.const 0) (local.get 0x32f)) - (i64.store offset=0x330 align=1 (i32.const 0) (local.get 0x330)) - (i64.store offset=0x331 align=1 (i32.const 0) (local.get 0x331)) - (i64.store offset=0x332 align=1 (i32.const 0) (local.get 0x332)) - (i64.store offset=0x333 align=1 (i32.const 0) (local.get 0x333)) - (i64.store offset=0x334 align=1 (i32.const 0) (local.get 0x334)) - (i64.store offset=0x335 align=1 (i32.const 0) (local.get 0x335)) - (i64.store offset=0x336 align=1 (i32.const 0) (local.get 0x336)) - (i64.store offset=0x337 align=1 (i32.const 0) (local.get 0x337)) - (i64.store offset=0x338 align=1 (i32.const 0) (local.get 0x338)) - (i64.store offset=0x339 align=1 (i32.const 0) (local.get 0x339)) - (i64.store offset=0x33a align=1 (i32.const 0) (local.get 0x33a)) - (i64.store offset=0x33b align=1 (i32.const 0) (local.get 0x33b)) - (i64.store offset=0x33c align=1 (i32.const 0) (local.get 0x33c)) - (i64.store offset=0x33d align=1 (i32.const 0) (local.get 0x33d)) - (i64.store offset=0x33e align=1 (i32.const 0) (local.get 0x33e)) - (i64.store offset=0x33f align=1 (i32.const 0) (local.get 0x33f)) - (i64.store offset=0x340 align=1 (i32.const 0) (local.get 0x340)) - (i64.store offset=0x341 align=1 (i32.const 0) (local.get 0x341)) - (i64.store offset=0x342 align=1 (i32.const 0) (local.get 0x342)) - (i64.store offset=0x343 align=1 (i32.const 0) (local.get 0x343)) - (i64.store offset=0x344 align=1 (i32.const 0) (local.get 0x344)) - (i64.store offset=0x345 align=1 (i32.const 0) (local.get 0x345)) - (i64.store offset=0x346 align=1 (i32.const 0) (local.get 0x346)) - (i64.store offset=0x347 align=1 (i32.const 0) (local.get 0x347)) - (i64.store offset=0x348 align=1 (i32.const 0) (local.get 0x348)) - (i64.store offset=0x349 align=1 (i32.const 0) (local.get 0x349)) - (i64.store offset=0x34a align=1 (i32.const 0) (local.get 0x34a)) - (i64.store offset=0x34b align=1 (i32.const 0) (local.get 0x34b)) - (i64.store offset=0x34c align=1 (i32.const 0) (local.get 0x34c)) - (i64.store offset=0x34d align=1 (i32.const 0) (local.get 0x34d)) - (i64.store offset=0x34e align=1 (i32.const 0) (local.get 0x34e)) - (i64.store offset=0x34f align=1 (i32.const 0) (local.get 0x34f)) - (i64.store offset=0x350 align=1 (i32.const 0) (local.get 0x350)) - (i64.store offset=0x351 align=1 (i32.const 0) (local.get 0x351)) - (i64.store offset=0x352 align=1 (i32.const 0) (local.get 0x352)) - (i64.store offset=0x353 align=1 (i32.const 0) (local.get 0x353)) - (i64.store offset=0x354 align=1 (i32.const 0) (local.get 0x354)) - (i64.store offset=0x355 align=1 (i32.const 0) (local.get 0x355)) - (i64.store offset=0x356 align=1 (i32.const 0) (local.get 0x356)) - (i64.store offset=0x357 align=1 (i32.const 0) (local.get 0x357)) - (i64.store offset=0x358 align=1 (i32.const 0) (local.get 0x358)) - (i64.store offset=0x359 align=1 (i32.const 0) (local.get 0x359)) - (i64.store offset=0x35a align=1 (i32.const 0) (local.get 0x35a)) - (i64.store offset=0x35b align=1 (i32.const 0) (local.get 0x35b)) - (i64.store offset=0x35c align=1 (i32.const 0) (local.get 0x35c)) - (i64.store offset=0x35d align=1 (i32.const 0) (local.get 0x35d)) - (i64.store offset=0x35e align=1 (i32.const 0) (local.get 0x35e)) - (i64.store offset=0x35f align=1 (i32.const 0) (local.get 0x35f)) - (i64.store offset=0x360 align=1 (i32.const 0) (local.get 0x360)) - (i64.store offset=0x361 align=1 (i32.const 0) (local.get 0x361)) - (i64.store offset=0x362 align=1 (i32.const 0) (local.get 0x362)) - (i64.store offset=0x363 align=1 (i32.const 0) (local.get 0x363)) - (i64.store offset=0x364 align=1 (i32.const 0) (local.get 0x364)) - (i64.store offset=0x365 align=1 (i32.const 0) (local.get 0x365)) - (i64.store offset=0x366 align=1 (i32.const 0) (local.get 0x366)) - (i64.store offset=0x367 align=1 (i32.const 0) (local.get 0x367)) - (i64.store offset=0x368 align=1 (i32.const 0) (local.get 0x368)) - (i64.store offset=0x369 align=1 (i32.const 0) (local.get 0x369)) - (i64.store offset=0x36a align=1 (i32.const 0) (local.get 0x36a)) - (i64.store offset=0x36b align=1 (i32.const 0) (local.get 0x36b)) - (i64.store offset=0x36c align=1 (i32.const 0) (local.get 0x36c)) - (i64.store offset=0x36d align=1 (i32.const 0) (local.get 0x36d)) - (i64.store offset=0x36e align=1 (i32.const 0) (local.get 0x36e)) - (i64.store offset=0x36f align=1 (i32.const 0) (local.get 0x36f)) - (i64.store offset=0x370 align=1 (i32.const 0) (local.get 0x370)) - (i64.store offset=0x371 align=1 (i32.const 0) (local.get 0x371)) - (i64.store offset=0x372 align=1 (i32.const 0) (local.get 0x372)) - (i64.store offset=0x373 align=1 (i32.const 0) (local.get 0x373)) - (i64.store offset=0x374 align=1 (i32.const 0) (local.get 0x374)) - (i64.store offset=0x375 align=1 (i32.const 0) (local.get 0x375)) - (i64.store offset=0x376 align=1 (i32.const 0) (local.get 0x376)) - (i64.store offset=0x377 align=1 (i32.const 0) (local.get 0x377)) - (i64.store offset=0x378 align=1 (i32.const 0) (local.get 0x378)) - (i64.store offset=0x379 align=1 (i32.const 0) (local.get 0x379)) - (i64.store offset=0x37a align=1 (i32.const 0) (local.get 0x37a)) - (i64.store offset=0x37b align=1 (i32.const 0) (local.get 0x37b)) - (i64.store offset=0x37c align=1 (i32.const 0) (local.get 0x37c)) - (i64.store offset=0x37d align=1 (i32.const 0) (local.get 0x37d)) - (i64.store offset=0x37e align=1 (i32.const 0) (local.get 0x37e)) - (i64.store offset=0x37f align=1 (i32.const 0) (local.get 0x37f)) - (i64.store offset=0x380 align=1 (i32.const 0) (local.get 0x380)) - (i64.store offset=0x381 align=1 (i32.const 0) (local.get 0x381)) - (i64.store offset=0x382 align=1 (i32.const 0) (local.get 0x382)) - (i64.store offset=0x383 align=1 (i32.const 0) (local.get 0x383)) - (i64.store offset=0x384 align=1 (i32.const 0) (local.get 0x384)) - (i64.store offset=0x385 align=1 (i32.const 0) (local.get 0x385)) - (i64.store offset=0x386 align=1 (i32.const 0) (local.get 0x386)) - (i64.store offset=0x387 align=1 (i32.const 0) (local.get 0x387)) - (i64.store offset=0x388 align=1 (i32.const 0) (local.get 0x388)) - (i64.store offset=0x389 align=1 (i32.const 0) (local.get 0x389)) - (i64.store offset=0x38a align=1 (i32.const 0) (local.get 0x38a)) - (i64.store offset=0x38b align=1 (i32.const 0) (local.get 0x38b)) - (i64.store offset=0x38c align=1 (i32.const 0) (local.get 0x38c)) - (i64.store offset=0x38d align=1 (i32.const 0) (local.get 0x38d)) - (i64.store offset=0x38e align=1 (i32.const 0) (local.get 0x38e)) - (i64.store offset=0x38f align=1 (i32.const 0) (local.get 0x38f)) - (i64.store offset=0x390 align=1 (i32.const 0) (local.get 0x390)) - (i64.store offset=0x391 align=1 (i32.const 0) (local.get 0x391)) - (i64.store offset=0x392 align=1 (i32.const 0) (local.get 0x392)) - (i64.store offset=0x393 align=1 (i32.const 0) (local.get 0x393)) - (i64.store offset=0x394 align=1 (i32.const 0) (local.get 0x394)) - (i64.store offset=0x395 align=1 (i32.const 0) (local.get 0x395)) - (i64.store offset=0x396 align=1 (i32.const 0) (local.get 0x396)) - (i64.store offset=0x397 align=1 (i32.const 0) (local.get 0x397)) - (i64.store offset=0x398 align=1 (i32.const 0) (local.get 0x398)) - (i64.store offset=0x399 align=1 (i32.const 0) (local.get 0x399)) - (i64.store offset=0x39a align=1 (i32.const 0) (local.get 0x39a)) - (i64.store offset=0x39b align=1 (i32.const 0) (local.get 0x39b)) - (i64.store offset=0x39c align=1 (i32.const 0) (local.get 0x39c)) - (i64.store offset=0x39d align=1 (i32.const 0) (local.get 0x39d)) - (i64.store offset=0x39e align=1 (i32.const 0) (local.get 0x39e)) - (i64.store offset=0x39f align=1 (i32.const 0) (local.get 0x39f)) - (i64.store offset=0x3a0 align=1 (i32.const 0) (local.get 0x3a0)) - (i64.store offset=0x3a1 align=1 (i32.const 0) (local.get 0x3a1)) - (i64.store offset=0x3a2 align=1 (i32.const 0) (local.get 0x3a2)) - (i64.store offset=0x3a3 align=1 (i32.const 0) (local.get 0x3a3)) - (i64.store offset=0x3a4 align=1 (i32.const 0) (local.get 0x3a4)) - (i64.store offset=0x3a5 align=1 (i32.const 0) (local.get 0x3a5)) - (i64.store offset=0x3a6 align=1 (i32.const 0) (local.get 0x3a6)) - (i64.store offset=0x3a7 align=1 (i32.const 0) (local.get 0x3a7)) - (i64.store offset=0x3a8 align=1 (i32.const 0) (local.get 0x3a8)) - (i64.store offset=0x3a9 align=1 (i32.const 0) (local.get 0x3a9)) - (i64.store offset=0x3aa align=1 (i32.const 0) (local.get 0x3aa)) - (i64.store offset=0x3ab align=1 (i32.const 0) (local.get 0x3ab)) - (i64.store offset=0x3ac align=1 (i32.const 0) (local.get 0x3ac)) - (i64.store offset=0x3ad align=1 (i32.const 0) (local.get 0x3ad)) - (i64.store offset=0x3ae align=1 (i32.const 0) (local.get 0x3ae)) - (i64.store offset=0x3af align=1 (i32.const 0) (local.get 0x3af)) - (i64.store offset=0x3b0 align=1 (i32.const 0) (local.get 0x3b0)) - (i64.store offset=0x3b1 align=1 (i32.const 0) (local.get 0x3b1)) - (i64.store offset=0x3b2 align=1 (i32.const 0) (local.get 0x3b2)) - (i64.store offset=0x3b3 align=1 (i32.const 0) (local.get 0x3b3)) - (i64.store offset=0x3b4 align=1 (i32.const 0) (local.get 0x3b4)) - (i64.store offset=0x3b5 align=1 (i32.const 0) (local.get 0x3b5)) - (i64.store offset=0x3b6 align=1 (i32.const 0) (local.get 0x3b6)) - (i64.store offset=0x3b7 align=1 (i32.const 0) (local.get 0x3b7)) - (i64.store offset=0x3b8 align=1 (i32.const 0) (local.get 0x3b8)) - (i64.store offset=0x3b9 align=1 (i32.const 0) (local.get 0x3b9)) - (i64.store offset=0x3ba align=1 (i32.const 0) (local.get 0x3ba)) - (i64.store offset=0x3bb align=1 (i32.const 0) (local.get 0x3bb)) - (i64.store offset=0x3bc align=1 (i32.const 0) (local.get 0x3bc)) - (i64.store offset=0x3bd align=1 (i32.const 0) (local.get 0x3bd)) - (i64.store offset=0x3be align=1 (i32.const 0) (local.get 0x3be)) - (i64.store offset=0x3bf align=1 (i32.const 0) (local.get 0x3bf)) - (i64.store offset=0x3c0 align=1 (i32.const 0) (local.get 0x3c0)) - (i64.store offset=0x3c1 align=1 (i32.const 0) (local.get 0x3c1)) - (i64.store offset=0x3c2 align=1 (i32.const 0) (local.get 0x3c2)) - (i64.store offset=0x3c3 align=1 (i32.const 0) (local.get 0x3c3)) - (i64.store offset=0x3c4 align=1 (i32.const 0) (local.get 0x3c4)) - (i64.store offset=0x3c5 align=1 (i32.const 0) (local.get 0x3c5)) - (i64.store offset=0x3c6 align=1 (i32.const 0) (local.get 0x3c6)) - (i64.store offset=0x3c7 align=1 (i32.const 0) (local.get 0x3c7)) - (i64.store offset=0x3c8 align=1 (i32.const 0) (local.get 0x3c8)) - (i64.store offset=0x3c9 align=1 (i32.const 0) (local.get 0x3c9)) - (i64.store offset=0x3ca align=1 (i32.const 0) (local.get 0x3ca)) - (i64.store offset=0x3cb align=1 (i32.const 0) (local.get 0x3cb)) - (i64.store offset=0x3cc align=1 (i32.const 0) (local.get 0x3cc)) - (i64.store offset=0x3cd align=1 (i32.const 0) (local.get 0x3cd)) - (i64.store offset=0x3ce align=1 (i32.const 0) (local.get 0x3ce)) - (i64.store offset=0x3cf align=1 (i32.const 0) (local.get 0x3cf)) - (i64.store offset=0x3d0 align=1 (i32.const 0) (local.get 0x3d0)) - (i64.store offset=0x3d1 align=1 (i32.const 0) (local.get 0x3d1)) - (i64.store offset=0x3d2 align=1 (i32.const 0) (local.get 0x3d2)) - (i64.store offset=0x3d3 align=1 (i32.const 0) (local.get 0x3d3)) - (i64.store offset=0x3d4 align=1 (i32.const 0) (local.get 0x3d4)) - (i64.store offset=0x3d5 align=1 (i32.const 0) (local.get 0x3d5)) - (i64.store offset=0x3d6 align=1 (i32.const 0) (local.get 0x3d6)) - (i64.store offset=0x3d7 align=1 (i32.const 0) (local.get 0x3d7)) - (i64.store offset=0x3d8 align=1 (i32.const 0) (local.get 0x3d8)) - (i64.store offset=0x3d9 align=1 (i32.const 0) (local.get 0x3d9)) - (i64.store offset=0x3da align=1 (i32.const 0) (local.get 0x3da)) - (i64.store offset=0x3db align=1 (i32.const 0) (local.get 0x3db)) - (i64.store offset=0x3dc align=1 (i32.const 0) (local.get 0x3dc)) - (i64.store offset=0x3dd align=1 (i32.const 0) (local.get 0x3dd)) - (i64.store offset=0x3de align=1 (i32.const 0) (local.get 0x3de)) - (i64.store offset=0x3df align=1 (i32.const 0) (local.get 0x3df)) - (i64.store offset=0x3e0 align=1 (i32.const 0) (local.get 0x3e0)) - (i64.store offset=0x3e1 align=1 (i32.const 0) (local.get 0x3e1)) - (i64.store offset=0x3e2 align=1 (i32.const 0) (local.get 0x3e2)) - (i64.store offset=0x3e3 align=1 (i32.const 0) (local.get 0x3e3)) - (i64.store offset=0x3e4 align=1 (i32.const 0) (local.get 0x3e4)) - (i64.store offset=0x3e5 align=1 (i32.const 0) (local.get 0x3e5)) - (i64.store offset=0x3e6 align=1 (i32.const 0) (local.get 0x3e6)) - (i64.store offset=0x3e7 align=1 (i32.const 0) (local.get 0x3e7)) - (i64.store offset=0x3e8 align=1 (i32.const 0) (local.get 0x3e8)) - (i64.store offset=0x3e9 align=1 (i32.const 0) (local.get 0x3e9)) - (i64.store offset=0x3ea align=1 (i32.const 0) (local.get 0x3ea)) - (i64.store offset=0x3eb align=1 (i32.const 0) (local.get 0x3eb)) - (i64.store offset=0x3ec align=1 (i32.const 0) (local.get 0x3ec)) - (i64.store offset=0x3ed align=1 (i32.const 0) (local.get 0x3ed)) - (i64.store offset=0x3ee align=1 (i32.const 0) (local.get 0x3ee)) - (i64.store offset=0x3ef align=1 (i32.const 0) (local.get 0x3ef)) - (i64.store offset=0x3f0 align=1 (i32.const 0) (local.get 0x3f0)) - (i64.store offset=0x3f1 align=1 (i32.const 0) (local.get 0x3f1)) - (i64.store offset=0x3f2 align=1 (i32.const 0) (local.get 0x3f2)) - (i64.store offset=0x3f3 align=1 (i32.const 0) (local.get 0x3f3)) - (i64.store offset=0x3f4 align=1 (i32.const 0) (local.get 0x3f4)) - (i64.store offset=0x3f5 align=1 (i32.const 0) (local.get 0x3f5)) - (i64.store offset=0x3f6 align=1 (i32.const 0) (local.get 0x3f6)) - (i64.store offset=0x3f7 align=1 (i32.const 0) (local.get 0x3f7)) - (i64.store offset=0x3f8 align=1 (i32.const 0) (local.get 0x3f8)) - (i64.store offset=0x3f9 align=1 (i32.const 0) (local.get 0x3f9)) - (i64.store offset=0x3fa align=1 (i32.const 0) (local.get 0x3fa)) - (i64.store offset=0x3fb align=1 (i32.const 0) (local.get 0x3fb)) - (i64.store offset=0x3fc align=1 (i32.const 0) (local.get 0x3fc)) - (i64.store offset=0x3fd align=1 (i32.const 0) (local.get 0x3fd)) - (i64.store offset=0x3fe align=1 (i32.const 0) (local.get 0x3fe)) - (i64.store offset=0x3ff align=1 (i32.const 0) (local.get 0x3ff)) - (i64.store offset=0x400 align=1 (i32.const 0) (local.get 0x400)) - (i64.store offset=0x401 align=1 (i32.const 0) (local.get 0x401)) - (i64.store offset=0x402 align=1 (i32.const 0) (local.get 0x402)) - (i64.store offset=0x403 align=1 (i32.const 0) (local.get 0x403)) - (i64.store offset=0x404 align=1 (i32.const 0) (local.get 0x404)) - (i64.store offset=0x405 align=1 (i32.const 0) (local.get 0x405)) - (i64.store offset=0x406 align=1 (i32.const 0) (local.get 0x406)) - (i64.store offset=0x407 align=1 (i32.const 0) (local.get 0x407)) - (i64.store offset=0x408 align=1 (i32.const 0) (local.get 0x408)) - (i64.store offset=0x409 align=1 (i32.const 0) (local.get 0x409)) - (i64.store offset=0x40a align=1 (i32.const 0) (local.get 0x40a)) - (i64.store offset=0x40b align=1 (i32.const 0) (local.get 0x40b)) - (i64.store offset=0x40c align=1 (i32.const 0) (local.get 0x40c)) - (i64.store offset=0x40d align=1 (i32.const 0) (local.get 0x40d)) - (i64.store offset=0x40e align=1 (i32.const 0) (local.get 0x40e)) - (i64.store offset=0x40f align=1 (i32.const 0) (local.get 0x40f)) - (i64.store offset=0x410 align=1 (i32.const 0) (local.get 0x410)) - (i64.store offset=0x411 align=1 (i32.const 0) (local.get 0x411)) - (i64.store offset=0x412 align=1 (i32.const 0) (local.get 0x412)) - (i64.store offset=0x413 align=1 (i32.const 0) (local.get 0x413)) - (i64.store offset=0x414 align=1 (i32.const 0) (local.get 0x414)) - (i64.store offset=0x415 align=1 (i32.const 0) (local.get 0x415)) - (i64.store offset=0x416 align=1 (i32.const 0) (local.get 0x416)) - (i64.store offset=0x417 align=1 (i32.const 0) (local.get 0x417)) - (i64.store offset=0x418 align=1 (i32.const 0) (local.get 0x418)) - (i64.store offset=0x419 align=1 (i32.const 0) (local.get 0x419)) - (i64.store offset=0x41a align=1 (i32.const 0) (local.get 0x41a)) - (i64.store offset=0x41b align=1 (i32.const 0) (local.get 0x41b)) - (i64.store offset=0x41c align=1 (i32.const 0) (local.get 0x41c)) - (i64.store offset=0x41d align=1 (i32.const 0) (local.get 0x41d)) - (i64.store offset=0x41e align=1 (i32.const 0) (local.get 0x41e)) - (i64.store offset=0x41f align=1 (i32.const 0) (local.get 0x41f)) - ) -) - -(assert_exhaustion (invoke "test-guard-page-skip" (i32.const 0)) "call stack exhausted") -(assert_exhaustion (invoke "test-guard-page-skip" (i32.const 100)) "call stack exhausted") -(assert_exhaustion (invoke "test-guard-page-skip" (i32.const 200)) "call stack exhausted") -(assert_exhaustion (invoke "test-guard-page-skip" (i32.const 300)) "call stack exhausted") -(assert_exhaustion (invoke "test-guard-page-skip" (i32.const 400)) "call stack exhausted") -(assert_exhaustion (invoke "test-guard-page-skip" (i32.const 500)) "call stack exhausted") -(assert_exhaustion (invoke "test-guard-page-skip" (i32.const 600)) "call stack exhausted") -(assert_exhaustion (invoke "test-guard-page-skip" (i32.const 700)) "call stack exhausted") -(assert_exhaustion (invoke "test-guard-page-skip" (i32.const 800)) "call stack exhausted") -(assert_exhaustion (invoke "test-guard-page-skip" (i32.const 900)) "call stack exhausted") diff --git a/test/spec/stack.wast b/test/spec/stack.wast deleted file mode 100644 index 5da5043c8..000000000 --- a/test/spec/stack.wast +++ /dev/null @@ -1,239 +0,0 @@ -(module - (func (export "fac-expr") (param $n i64) (result i64) - (local $i i64) - (local $res i64) - (local.set $i (local.get $n)) - (local.set $res (i64.const 1)) - (block $done - (loop $loop - (if - (i64.eq (local.get $i) (i64.const 0)) - (then (br $done)) - (else - (local.set $res (i64.mul (local.get $i) (local.get $res))) - (local.set $i (i64.sub (local.get $i) (i64.const 1))) - ) - ) - (br $loop) - ) - ) - (local.get $res) - ) - - (func (export "fac-stack") (param $n i64) (result i64) - (local $i i64) - (local $res i64) - (local.get $n) - (local.set $i) - (i64.const 1) - (local.set $res) - (block $done - (loop $loop - (local.get $i) - (i64.const 0) - (i64.eq) - (if - (then (br $done)) - (else - (local.get $i) - (local.get $res) - (i64.mul) - (local.set $res) - (local.get $i) - (i64.const 1) - (i64.sub) - (local.set $i) - ) - ) - (br $loop) - ) - ) - (local.get $res) - ) - - (func (export "fac-stack-raw") (param $n i64) (result i64) - (local $i i64) - (local $res i64) - local.get $n - local.set $i - i64.const 1 - local.set $res - block $done - loop $loop - local.get $i - i64.const 0 - i64.eq - if $body - br $done - else $body - local.get $i - local.get $res - i64.mul - local.set $res - local.get $i - i64.const 1 - i64.sub - local.set $i - end $body - br $loop - end $loop - end $done - local.get $res - ) - - (func (export "fac-mixed") (param $n i64) (result i64) - (local $i i64) - (local $res i64) - (local.set $i (local.get $n)) - (local.set $res (i64.const 1)) - (block $done - (loop $loop - (i64.eq (local.get $i) (i64.const 0)) - (if - (then (br $done)) - (else - (i64.mul (local.get $i) (local.get $res)) - (local.set $res) - (i64.sub (local.get $i) (i64.const 1)) - (local.set $i) - ) - ) - (br $loop) - ) - ) - (local.get $res) - ) - - (func (export "fac-mixed-raw") (param $n i64) (result i64) - (local $i i64) - (local $res i64) - (local.set $i (local.get $n)) - (local.set $res (i64.const 1)) - block $done - loop $loop - (i64.eq (local.get $i) (i64.const 0)) - if - br $done - else - (i64.mul (local.get $i) (local.get $res)) - local.set $res - (i64.sub (local.get $i) (i64.const 1)) - local.set $i - end - br $loop - end - end - local.get $res - ) - - (global $temp (mut i32) (i32.const 0)) - (func $add_one_to_global (result i32) - (local i32) - (global.set $temp (i32.add (i32.const 1) (global.get $temp))) - (global.get $temp) - ) - (func $add_one_to_global_and_drop - (drop (call $add_one_to_global)) - ) - (func (export "not-quite-a-tree") (result i32) - call $add_one_to_global - call $add_one_to_global - call $add_one_to_global_and_drop - i32.add - ) -) - -(assert_return (invoke "fac-expr" (i64.const 25)) (i64.const 7034535277573963776)) -(assert_return (invoke "fac-stack" (i64.const 25)) (i64.const 7034535277573963776)) -(assert_return (invoke "fac-mixed" (i64.const 25)) (i64.const 7034535277573963776)) - -(assert_return (invoke "not-quite-a-tree") (i32.const 3)) -(assert_return (invoke "not-quite-a-tree") (i32.const 9)) - - -;; Syntax of flat call_indirect - -(module - (type $proc (func)) - (table 1 funcref) - - (func - (block i32.const 0 call_indirect) - (loop i32.const 0 call_indirect) - (if (i32.const 0) (then i32.const 0 call_indirect)) - (if (i32.const 0) - (then i32.const 0 call_indirect) - (else i32.const 0 call_indirect) - ) - (block i32.const 0 call_indirect (type $proc)) - (loop i32.const 0 call_indirect (type $proc)) - (if (i32.const 0) (then i32.const 0 call_indirect (type $proc))) - (if (i32.const 0) - (then i32.const 0 call_indirect (type $proc)) - (else i32.const 0 call_indirect (type $proc)) - ) - (block i32.const 0 i32.const 0 call_indirect (param i32)) - (loop i32.const 0 i32.const 0 call_indirect (param i32)) - (if (i32.const 0) (then i32.const 0 i32.const 0 call_indirect (param i32))) - (if (i32.const 0) - (then i32.const 0 i32.const 0 call_indirect (param i32)) - (else i32.const 0 i32.const 0 call_indirect (param i32)) - ) - (block (result i32) i32.const 0 call_indirect (result i32)) (drop) - (loop (result i32) i32.const 0 call_indirect (result i32)) (drop) - (if (result i32) (i32.const 0) - (then i32.const 0 call_indirect (result i32)) - (else i32.const 0 call_indirect (result i32)) - ) (drop) - (block i32.const 0 call_indirect (type $proc) (param) (result)) - (loop i32.const 0 call_indirect (type $proc) (param) (result)) - (if (i32.const 0) - (then i32.const 0 call_indirect (type $proc) (param) (result)) - ) - (if (i32.const 0) - (then i32.const 0 call_indirect (type $proc) (param) (param) (result)) - (else i32.const 0 call_indirect (type $proc) (param) (result) (result)) - ) - - block i32.const 0 call_indirect end - loop i32.const 0 call_indirect end - i32.const 0 if i32.const 0 call_indirect end - i32.const 0 if i32.const 0 call_indirect else i32.const 0 call_indirect end - block i32.const 0 call_indirect (type $proc) end - loop i32.const 0 call_indirect (type $proc) end - i32.const 0 if i32.const 0 call_indirect (type $proc) end - i32.const 0 - if - i32.const 0 call_indirect (type $proc) - else - i32.const 0 call_indirect (type $proc) - end - block i32.const 0 i32.const 0 call_indirect (param i32) end - loop i32.const 0 i32.const 0 call_indirect (param i32) end - i32.const 0 if i32.const 0 i32.const 0 call_indirect (param i32) end - i32.const 0 - if - i32.const 0 i32.const 0 call_indirect (param i32) - else - i32.const 0 i32.const 0 call_indirect (param i32) - end - block (result i32) i32.const 0 call_indirect (result i32) end drop - loop (result i32) i32.const 0 call_indirect (result i32) end drop - i32.const 0 - if (result i32) - i32.const 0 call_indirect (result i32) - else - i32.const 0 call_indirect (result i32) - end drop - block i32.const 0 call_indirect (type $proc) (param) (result) end - loop i32.const 0 call_indirect (type $proc) (param) (result) end - i32.const 0 if i32.const 0 call_indirect (type $proc) (param) (result) end - i32.const 0 - if - i32.const 0 call_indirect (type $proc) (param) (result) - else - i32.const 0 call_indirect (type $proc) (param) (param) (result) (result) - end - i32.const 0 call_indirect - ) -) diff --git a/test/spec/start.wast b/test/spec/start.wast deleted file mode 100644 index bf88a6a4a..000000000 --- a/test/spec/start.wast +++ /dev/null @@ -1,105 +0,0 @@ -(assert_invalid - (module (func) (start 1)) - "unknown function" -) - -(assert_invalid - (module - (func $main (result i32) (return (i32.const 0))) - (start $main) - ) - "start function" -) -(assert_invalid - (module - (func $main (param $a i32)) - (start $main) - ) - "start function" -) - -(module - (memory (data "A")) - (func $inc - (i32.store8 - (i32.const 0) - (i32.add - (i32.load8_u (i32.const 0)) - (i32.const 1) - ) - ) - ) - (func $get (result i32) - (return (i32.load8_u (i32.const 0))) - ) - (func $main - (call $inc) - (call $inc) - (call $inc) - ) - - (start $main) - (export "inc" (func $inc)) - (export "get" (func $get)) -) -(assert_return (invoke "get") (i32.const 68)) -(invoke "inc") -(assert_return (invoke "get") (i32.const 69)) -(invoke "inc") -(assert_return (invoke "get") (i32.const 70)) - -(module - (memory (data "A")) - (func $inc - (i32.store8 - (i32.const 0) - (i32.add - (i32.load8_u (i32.const 0)) - (i32.const 1) - ) - ) - ) - (func $get (result i32) - (return (i32.load8_u (i32.const 0))) - ) - (func $main - (call $inc) - (call $inc) - (call $inc) - ) - (start 2) - (export "inc" (func $inc)) - (export "get" (func $get)) -) -(assert_return (invoke "get") (i32.const 68)) -(invoke "inc") -(assert_return (invoke "get") (i32.const 69)) -(invoke "inc") -(assert_return (invoke "get") (i32.const 70)) - -(module - (func $print_i32 (import "spectest" "print_i32") (param i32)) - (func $main (call $print_i32 (i32.const 1))) - (start 1) -) - -(module - (func $print_i32 (import "spectest" "print_i32") (param i32)) - (func $main (call $print_i32 (i32.const 2))) - (start $main) -) - -(module - (func $print (import "spectest" "print")) - (start $print) -) - -(assert_trap - (module (func $main (unreachable)) (start $main)) - "unreachable" -) - -(assert_malformed - (module quote "(module (func $a (unreachable)) (func $b (unreachable)) (start $a) (start $b))") - "multiple start sections" -) diff --git a/test/spec/store.wast b/test/spec/store.wast deleted file mode 100644 index 01c3a2dd6..000000000 --- a/test/spec/store.wast +++ /dev/null @@ -1,417 +0,0 @@ -;; Store operator as the argument of control constructs and instructions - -(module - (memory 1) - - (func (export "as-block-value") - (block (i32.store (i32.const 0) (i32.const 1))) - ) - (func (export "as-loop-value") - (loop (i32.store (i32.const 0) (i32.const 1))) - ) - - (func (export "as-br-value") - (block (br 0 (i32.store (i32.const 0) (i32.const 1)))) - ) - (func (export "as-br_if-value") - (block - (br_if 0 (i32.store (i32.const 0) (i32.const 1)) (i32.const 1)) - ) - ) - (func (export "as-br_if-value-cond") - (block - (br_if 0 (i32.const 6) (i32.store (i32.const 0) (i32.const 1))) - ) - ) - (func (export "as-br_table-value") - (block - (br_table 0 (i32.store (i32.const 0) (i32.const 1)) (i32.const 1)) - ) - ) - - (func (export "as-return-value") - (return (i32.store (i32.const 0) (i32.const 1))) - ) - - (func (export "as-if-then") - (if (i32.const 1) (then (i32.store (i32.const 0) (i32.const 1)))) - ) - (func (export "as-if-else") - (if (i32.const 0) (then) (else (i32.store (i32.const 0) (i32.const 1)))) - ) -) - -(assert_return (invoke "as-block-value")) -(assert_return (invoke "as-loop-value")) - -(assert_return (invoke "as-br-value")) -(assert_return (invoke "as-br_if-value")) -(assert_return (invoke "as-br_if-value-cond")) -(assert_return (invoke "as-br_table-value")) - -(assert_return (invoke "as-return-value")) - -(assert_return (invoke "as-if-then")) -(assert_return (invoke "as-if-else")) - -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (i32.store32 (local.get 0) (i32.const 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (i32.store64 (local.get 0) (i64.const 0)))" - ) - "unknown operator" -) - -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (i64.store64 (local.get 0) (i64.const 0)))" - ) - "unknown operator" -) - -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (f32.store32 (local.get 0) (f32.const 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (f32.store64 (local.get 0) (f64.const 0)))" - ) - "unknown operator" -) - -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (f64.store32 (local.get 0) (f32.const 0)))" - ) - "unknown operator" -) -(assert_malformed - (module quote - "(memory 1)" - "(func (param i32) (f64.store64 (local.get 0) (f64.const 0)))" - ) - "unknown operator" -) -;; store should have no retval - -(assert_invalid - (module (memory 1) (func (param i32) (result i32) (i32.store (i32.const 0) (i32.const 1)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func (param i64) (result i64) (i64.store (i32.const 0) (i64.const 1)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func (param f32) (result f32) (f32.store (i32.const 0) (f32.const 1)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func (param f64) (result f64) (f64.store (i32.const 0) (f64.const 1)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func (param i32) (result i32) (i32.store8 (i32.const 0) (i32.const 1)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func (param i32) (result i32) (i32.store16 (i32.const 0) (i32.const 1)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func (param i64) (result i64) (i64.store8 (i32.const 0) (i64.const 1)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func (param i64) (result i64) (i64.store16 (i32.const 0) (i64.const 1)))) - "type mismatch" -) -(assert_invalid - (module (memory 1) (func (param i64) (result i64) (i64.store32 (i32.const 0) (i64.const 1)))) - "type mismatch" -) - - -(assert_invalid - (module - (memory 1) - (func $type-address-empty - (i32.store) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-value-empty - (i32.const 0) (i32.store) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-address-empty-in-block - (i32.const 0) (i32.const 0) - (block (i32.store)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-value-empty-in-block - (i32.const 0) - (block (i32.const 0) (i32.store)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-address-empty-in-loop - (i32.const 0) (i32.const 0) - (loop (i32.store)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-value-empty-in-loop - (i32.const 0) - (loop (i32.const 0) (i32.store)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-address-empty-in-then - (i32.const 0) (i32.const 0) - (if (then (i32.store))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-value-empty-in-then - (i32.const 0) - (if (then (i32.const 0) (i32.store))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-address-empty-in-else - (i32.const 0) (i32.const 0) - (if (result i32) (then (i32.const 0)) (else (i32.store))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-value-empty-in-else - (i32.const 0) - (if (result i32) (then (i32.const 0)) (else (i32.const 0) (i32.store))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-address-empty-in-br - (i32.const 0) (i32.const 0) - (block (br 0 (i32.store))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-value-empty-in-br - (i32.const 0) - (block (br 0 (i32.const 0) (i32.store))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-address-empty-in-br_if - (i32.const 0) (i32.const 0) - (block (br_if 0 (i32.store) (i32.const 1)) ) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-value-empty-in-br_if - (i32.const 0) - (block (br_if 0 (i32.const 0) (i32.store) (i32.const 1)) ) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-address-empty-in-br_table - (i32.const 0) (i32.const 0) - (block (br_table 0 (i32.store))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-value-empty-in-br_table - (i32.const 0) - (block (br_table 0 (i32.const 0) (i32.store))) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-address-empty-in-return - (return (i32.store)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-value-empty-in-return - (return (i32.const 0) (i32.store)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-address-empty-in-select - (select (i32.store) (i32.const 1) (i32.const 2)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-value-empty-in-select - (select (i32.const 0) (i32.store) (i32.const 1) (i32.const 2)) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-address-empty-in-call - (call 1 (i32.store)) - ) - (func (param i32) (result i32) (local.get 0)) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $type-value-empty-in-call - (call 1 (i32.const 0) (i32.store)) - ) - (func (param i32) (result i32) (local.get 0)) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $f (param i32) (result i32) (local.get 0)) - (type $sig (func (param i32) (result i32))) - (table funcref (elem $f)) - (func $type-address-empty-in-call_indirect - (block (result i32) - (call_indirect (type $sig) - (i32.store) (i32.const 0) - ) - ) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (memory 1) - (func $f (param i32) (result i32) (local.get 0)) - (type $sig (func (param i32) (result i32))) - (table funcref (elem $f)) - (func $type-value-empty-in-call_indirect - (block (result i32) - (call_indirect (type $sig) - (i32.const 0) (i32.store) (i32.const 0) - ) - ) - ) - ) - "type mismatch" -) - - -;; Type check - -(assert_invalid (module (memory 1) (func (i32.store (f32.const 0) (i32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (i32.store8 (f32.const 0) (i32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (i32.store16 (f32.const 0) (i32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (i64.store (f32.const 0) (i32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (i64.store8 (f32.const 0) (i64.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (i64.store16 (f32.const 0) (i64.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (i64.store32 (f32.const 0) (i64.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (f32.store (f32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (f64.store (f32.const 0) (f64.const 0)))) "type mismatch") - -(assert_invalid (module (memory 1) (func (i32.store (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (i32.store8 (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (i32.store16 (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (i64.store (i32.const 0) (f32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (i64.store8 (i32.const 0) (f64.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (i64.store16 (i32.const 0) (f64.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (i64.store32 (i32.const 0) (f64.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (f32.store (i32.const 0) (i32.const 0)))) "type mismatch") -(assert_invalid (module (memory 1) (func (f64.store (i32.const 0) (i64.const 0)))) "type mismatch") diff --git a/test/spec/switch.wast b/test/spec/switch.wast deleted file mode 100644 index e9ae24dc1..000000000 --- a/test/spec/switch.wast +++ /dev/null @@ -1,150 +0,0 @@ -(module - ;; Statement switch - (func (export "stmt") (param $i i32) (result i32) - (local $j i32) - (local.set $j (i32.const 100)) - (block $switch - (block $7 - (block $default - (block $6 - (block $5 - (block $4 - (block $3 - (block $2 - (block $1 - (block $0 - (br_table $0 $1 $2 $3 $4 $5 $6 $7 $default - (local.get $i) - ) - ) ;; 0 - (return (local.get $i)) - ) ;; 1 - (nop) - ;; fallthrough - ) ;; 2 - ;; fallthrough - ) ;; 3 - (local.set $j (i32.sub (i32.const 0) (local.get $i))) - (br $switch) - ) ;; 4 - (br $switch) - ) ;; 5 - (local.set $j (i32.const 101)) - (br $switch) - ) ;; 6 - (local.set $j (i32.const 101)) - ;; fallthrough - ) ;; default - (local.set $j (i32.const 102)) - ) ;; 7 - ;; fallthrough - ) - (return (local.get $j)) - ) - - ;; Expression switch - (func (export "expr") (param $i i64) (result i64) - (local $j i64) - (local.set $j (i64.const 100)) - (return - (block $switch (result i64) - (block $7 - (block $default - (block $4 - (block $5 - (block $6 - (block $3 - (block $2 - (block $1 - (block $0 - (br_table $0 $1 $2 $3 $4 $5 $6 $7 $default - (i32.wrap_i64 (local.get $i)) - ) - ) ;; 0 - (return (local.get $i)) - ) ;; 1 - (nop) - ;; fallthrough - ) ;; 2 - ;; fallthrough - ) ;; 3 - (br $switch (i64.sub (i64.const 0) (local.get $i))) - ) ;; 6 - (local.set $j (i64.const 101)) - ;; fallthrough - ) ;; 4 - ;; fallthrough - ) ;; 5 - ;; fallthrough - ) ;; default - (br $switch (local.get $j)) - ) ;; 7 - (i64.const -5) - ) - ) - ) - - ;; Argument switch - (func (export "arg") (param $i i32) (result i32) - (return - (block $2 (result i32) - (i32.add (i32.const 10) - (block $1 (result i32) - (i32.add (i32.const 100) - (block $0 (result i32) - (i32.add (i32.const 1000) - (block $default (result i32) - (br_table $0 $1 $2 $default - (i32.mul (i32.const 2) (local.get $i)) - (i32.and (i32.const 3) (local.get $i)) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - - ;; Corner cases - (func (export "corner") (result i32) - (block - (br_table 0 (i32.const 0)) - ) - (i32.const 1) - ) -) - -(assert_return (invoke "stmt" (i32.const 0)) (i32.const 0)) -(assert_return (invoke "stmt" (i32.const 1)) (i32.const -1)) -(assert_return (invoke "stmt" (i32.const 2)) (i32.const -2)) -(assert_return (invoke "stmt" (i32.const 3)) (i32.const -3)) -(assert_return (invoke "stmt" (i32.const 4)) (i32.const 100)) -(assert_return (invoke "stmt" (i32.const 5)) (i32.const 101)) -(assert_return (invoke "stmt" (i32.const 6)) (i32.const 102)) -(assert_return (invoke "stmt" (i32.const 7)) (i32.const 100)) -(assert_return (invoke "stmt" (i32.const -10)) (i32.const 102)) - -(assert_return (invoke "expr" (i64.const 0)) (i64.const 0)) -(assert_return (invoke "expr" (i64.const 1)) (i64.const -1)) -(assert_return (invoke "expr" (i64.const 2)) (i64.const -2)) -(assert_return (invoke "expr" (i64.const 3)) (i64.const -3)) -(assert_return (invoke "expr" (i64.const 6)) (i64.const 101)) -(assert_return (invoke "expr" (i64.const 7)) (i64.const -5)) -(assert_return (invoke "expr" (i64.const -10)) (i64.const 100)) - -(assert_return (invoke "arg" (i32.const 0)) (i32.const 110)) -(assert_return (invoke "arg" (i32.const 1)) (i32.const 12)) -(assert_return (invoke "arg" (i32.const 2)) (i32.const 4)) -(assert_return (invoke "arg" (i32.const 3)) (i32.const 1116)) -(assert_return (invoke "arg" (i32.const 4)) (i32.const 118)) -(assert_return (invoke "arg" (i32.const 5)) (i32.const 20)) -(assert_return (invoke "arg" (i32.const 6)) (i32.const 12)) -(assert_return (invoke "arg" (i32.const 7)) (i32.const 1124)) -(assert_return (invoke "arg" (i32.const 8)) (i32.const 126)) - -(assert_return (invoke "corner") (i32.const 1)) - -(assert_invalid (module (func (br_table 3 (i32.const 0)))) "unknown label") diff --git a/test/spec/table_copy.wast b/test/spec/table_copy.wast deleted file mode 100644 index a23dbcba5..000000000 --- a/test/spec/table_copy.wast +++ /dev/null @@ -1,2216 +0,0 @@ -(module - (func (export "ef0") (result i32) (i32.const 0)) - (func (export "ef1") (result i32) (i32.const 1)) - (func (export "ef2") (result i32) (i32.const 2)) - (func (export "ef3") (result i32) (i32.const 3)) - (func (export "ef4") (result i32) (i32.const 4)) -) -(register "a") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t1) (i32.const 3) func 1 3 1 4) - (elem (table $t1) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (nop)) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t1) (i32.const 3) func 1 3 1 4) - (elem (table $t1) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t0 $t0 (i32.const 13) (i32.const 2) (i32.const 3))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t1) (i32.const 3) func 1 3 1 4) - (elem (table $t1) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t0 $t0 (i32.const 25) (i32.const 15) (i32.const 2))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 25)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 26)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t1) (i32.const 3) func 1 3 1 4) - (elem (table $t1) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t0 $t0 (i32.const 13) (i32.const 25) (i32.const 3))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_trap (invoke "check_t0" (i32.const 13)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 14)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 15)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t1) (i32.const 3) func 1 3 1 4) - (elem (table $t1) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t0 $t0 (i32.const 20) (i32.const 22) (i32.const 4))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t1) (i32.const 3) func 1 3 1 4) - (elem (table $t1) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t0 $t0 (i32.const 25) (i32.const 1) (i32.const 3))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 26)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 27)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t1) (i32.const 3) func 1 3 1 4) - (elem (table $t1) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t0 $t0 (i32.const 10) (i32.const 12) (i32.const 7))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 10)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 11)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 15)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t1) (i32.const 3) func 1 3 1 4) - (elem (table $t1) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t0 $t0 (i32.const 12) (i32.const 10) (i32.const 7))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 12)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 13)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 17)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 18)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t1) (i32.const 3) func 1 3 1 4) - (elem (table $t1) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t1 $t0 (i32.const 10) (i32.const 0) (i32.const 20))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 4)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 1)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 22)) (i32.const 7)) -(assert_return (invoke "check_t1" (i32.const 23)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 24)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 25)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 26)) (i32.const 6)) -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t1) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t1) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t0) (i32.const 3) func 1 3 1 4) - (elem (table $t0) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (nop)) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t1) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t1) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t0) (i32.const 3) func 1 3 1 4) - (elem (table $t0) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t1 $t1 (i32.const 13) (i32.const 2) (i32.const 3))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t1) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t1) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t0) (i32.const 3) func 1 3 1 4) - (elem (table $t0) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t1 $t1 (i32.const 25) (i32.const 15) (i32.const 2))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 25)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 26)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t1) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t1) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t0) (i32.const 3) func 1 3 1 4) - (elem (table $t0) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t1 $t1 (i32.const 13) (i32.const 25) (i32.const 3))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_trap (invoke "check_t0" (i32.const 13)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 14)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 15)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t1) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t1) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t0) (i32.const 3) func 1 3 1 4) - (elem (table $t0) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t1 $t1 (i32.const 20) (i32.const 22) (i32.const 4))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t1) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t1) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t0) (i32.const 3) func 1 3 1 4) - (elem (table $t0) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t1 $t1 (i32.const 25) (i32.const 1) (i32.const 3))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 26)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 27)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t1) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t1) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t0) (i32.const 3) func 1 3 1 4) - (elem (table $t0) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t1 $t1 (i32.const 10) (i32.const 12) (i32.const 7))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 10)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 11)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 15)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t1) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t1) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t0) (i32.const 3) func 1 3 1 4) - (elem (table $t0) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t1 $t1 (i32.const 12) (i32.const 10) (i32.const 7))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 12)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 13)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 17)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 18)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 11)) (i32.const 6)) -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 7)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (type (func (result i32))) ;; type #0 - (import "a" "ef0" (func (result i32))) ;; index 0 - (import "a" "ef1" (func (result i32))) - (import "a" "ef2" (func (result i32))) - (import "a" "ef3" (func (result i32))) - (import "a" "ef4" (func (result i32))) ;; index 4 - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t1) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t1) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (elem (table $t0) (i32.const 3) func 1 3 1 4) - (elem (table $t0) (i32.const 11) func 6 3 2 5 7) - (func (result i32) (i32.const 5)) ;; index 5 - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) ;; index 9 - (func (export "test") - (table.copy $t0 $t1 (i32.const 10) (i32.const 0) (i32.const 20))) - (func (export "check_t0") (param i32) (result i32) - (call_indirect $t1 (type 0) (local.get 0))) - (func (export "check_t1") (param i32) (result i32) - (call_indirect $t0 (type 0) (local.get 0))) -) - -(invoke "test") -(assert_trap (invoke "check_t0" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 1)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 2)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t0" (i32.const 4)) (i32.const 4)) -(assert_return (invoke "check_t0" (i32.const 5)) (i32.const 1)) -(assert_trap (invoke "check_t0" (i32.const 6)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t0" (i32.const 12)) (i32.const 7)) -(assert_return (invoke "check_t0" (i32.const 13)) (i32.const 5)) -(assert_return (invoke "check_t0" (i32.const 14)) (i32.const 2)) -(assert_return (invoke "check_t0" (i32.const 15)) (i32.const 3)) -(assert_return (invoke "check_t0" (i32.const 16)) (i32.const 6)) -(assert_trap (invoke "check_t0" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 21)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 22)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 23)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 24)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 25)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 26)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t0" (i32.const 29)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 0)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 1)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 2)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 3)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 4)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 5)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 6)) (i32.const 4)) -(assert_trap (invoke "check_t1" (i32.const 7)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 8)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 9)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 10)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 11)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 12)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 13)) (i32.const 1)) -(assert_return (invoke "check_t1" (i32.const 14)) (i32.const 4)) -(assert_return (invoke "check_t1" (i32.const 15)) (i32.const 1)) -(assert_trap (invoke "check_t1" (i32.const 16)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 17)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 18)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 19)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 20)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 21)) "uninitialized element") -(assert_return (invoke "check_t1" (i32.const 22)) (i32.const 7)) -(assert_return (invoke "check_t1" (i32.const 23)) (i32.const 5)) -(assert_return (invoke "check_t1" (i32.const 24)) (i32.const 2)) -(assert_return (invoke "check_t1" (i32.const 25)) (i32.const 3)) -(assert_return (invoke "check_t1" (i32.const 26)) (i32.const 6)) -(assert_trap (invoke "check_t1" (i32.const 27)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 28)) "uninitialized element") -(assert_trap (invoke "check_t1" (i32.const 29)) "uninitialized element") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t0 $t0 (i32.const 28) (i32.const 1) (i32.const 3)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t0 $t0 (i32.const 0xFFFFFFFE) (i32.const 1) (i32.const 2)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t0 $t0 (i32.const 15) (i32.const 25) (i32.const 6)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t0 $t0 (i32.const 15) (i32.const 0xFFFFFFFE) (i32.const 2)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t0 $t0 (i32.const 15) (i32.const 25) (i32.const 0)) - )) - -(invoke "test") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t0 $t0 (i32.const 30) (i32.const 15) (i32.const 0)) - )) - -(invoke "test") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t0 $t0 (i32.const 31) (i32.const 15) (i32.const 0)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t0 $t0 (i32.const 15) (i32.const 30) (i32.const 0)) - )) - -(invoke "test") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t0 $t0 (i32.const 15) (i32.const 31) (i32.const 0)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t0 $t0 (i32.const 30) (i32.const 30) (i32.const 0)) - )) - -(invoke "test") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t0 $t0 (i32.const 31) (i32.const 31) (i32.const 0)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t1 $t0 (i32.const 28) (i32.const 1) (i32.const 3)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t1 $t0 (i32.const 0xFFFFFFFE) (i32.const 1) (i32.const 2)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t1 $t0 (i32.const 15) (i32.const 25) (i32.const 6)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t1 $t0 (i32.const 15) (i32.const 0xFFFFFFFE) (i32.const 2)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t1 $t0 (i32.const 15) (i32.const 25) (i32.const 0)) - )) - -(invoke "test") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t1 $t0 (i32.const 30) (i32.const 15) (i32.const 0)) - )) - -(invoke "test") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t1 $t0 (i32.const 31) (i32.const 15) (i32.const 0)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t1 $t0 (i32.const 15) (i32.const 30) (i32.const 0)) - )) - -(invoke "test") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t1 $t0 (i32.const 15) (i32.const 31) (i32.const 0)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t1 $t0 (i32.const 30) (i32.const 30) (i32.const 0)) - )) - -(invoke "test") - -(module - (table $t0 30 30 funcref) - (table $t1 30 30 funcref) - (elem (table $t0) (i32.const 2) func 3 1 4 1) - (elem funcref - (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8)) - (elem (table $t0) (i32.const 12) func 7 5 2 3 6) - (elem funcref - (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6)) - (func (result i32) (i32.const 0)) - (func (result i32) (i32.const 1)) - (func (result i32) (i32.const 2)) - (func (result i32) (i32.const 3)) - (func (result i32) (i32.const 4)) - (func (result i32) (i32.const 5)) - (func (result i32) (i32.const 6)) - (func (result i32) (i32.const 7)) - (func (result i32) (i32.const 8)) - (func (result i32) (i32.const 9)) - (func (export "test") - (table.copy $t1 $t0 (i32.const 31) (i32.const 31) (i32.const 0)) - )) - -(assert_trap (invoke "test") "out of bounds table access") - -;; TODO: add remaining parts that do not pass yet diff --git a/test/spec/table_size.wast b/test/spec/table_size.wast deleted file mode 100644 index 71081d7e6..000000000 --- a/test/spec/table_size.wast +++ /dev/null @@ -1,89 +0,0 @@ -(module - (table $t0 0 externref) - (table $t1 1 externref) - (table $t2 0 2 externref) - (table $t3 3 8 externref) - (table $t64 i64 42 42 externref) - - (func (export "size-t0") (result i32) table.size) - (func (export "size-t1") (result i32) (table.size $t1)) - (func (export "size-t2") (result i32) (table.size $t2)) - (func (export "size-t3") (result i32) (table.size $t3)) - (func (export "size-t64") (result i64) (table.size $t64)) - - (func (export "grow-t0") (param $sz i32) - (drop (table.grow $t0 (ref.null extern) (local.get $sz))) - ) - (func (export "grow-t1") (param $sz i32) - (drop (table.grow $t1 (ref.null extern) (local.get $sz))) - ) - (func (export "grow-t2") (param $sz i32) - (drop (table.grow $t2 (ref.null extern) (local.get $sz))) - ) - (func (export "grow-t3") (param $sz i32) - (drop (table.grow $t3 (ref.null extern) (local.get $sz))) - ) -) - -(assert_return (invoke "size-t0") (i32.const 0)) -(assert_return (invoke "grow-t0" (i32.const 1))) -(assert_return (invoke "size-t0") (i32.const 1)) -(assert_return (invoke "grow-t0" (i32.const 4))) -(assert_return (invoke "size-t0") (i32.const 5)) -(assert_return (invoke "grow-t0" (i32.const 0))) -(assert_return (invoke "size-t0") (i32.const 5)) - -(assert_return (invoke "size-t1") (i32.const 1)) -(assert_return (invoke "grow-t1" (i32.const 1))) -(assert_return (invoke "size-t1") (i32.const 2)) -(assert_return (invoke "grow-t1" (i32.const 4))) -(assert_return (invoke "size-t1") (i32.const 6)) -(assert_return (invoke "grow-t1" (i32.const 0))) -(assert_return (invoke "size-t1") (i32.const 6)) - -(assert_return (invoke "size-t2") (i32.const 0)) -(assert_return (invoke "grow-t2" (i32.const 3))) -(assert_return (invoke "size-t2") (i32.const 0)) -(assert_return (invoke "grow-t2" (i32.const 1))) -(assert_return (invoke "size-t2") (i32.const 1)) -(assert_return (invoke "grow-t2" (i32.const 0))) -(assert_return (invoke "size-t2") (i32.const 1)) -(assert_return (invoke "grow-t2" (i32.const 4))) -(assert_return (invoke "size-t2") (i32.const 1)) -(assert_return (invoke "grow-t2" (i32.const 1))) -(assert_return (invoke "size-t2") (i32.const 2)) - -(assert_return (invoke "size-t3") (i32.const 3)) -(assert_return (invoke "grow-t3" (i32.const 1))) -(assert_return (invoke "size-t3") (i32.const 4)) -(assert_return (invoke "grow-t3" (i32.const 3))) -(assert_return (invoke "size-t3") (i32.const 7)) -(assert_return (invoke "grow-t3" (i32.const 0))) -(assert_return (invoke "size-t3") (i32.const 7)) -(assert_return (invoke "grow-t3" (i32.const 2))) -(assert_return (invoke "size-t3") (i32.const 7)) -(assert_return (invoke "grow-t3" (i32.const 1))) -(assert_return (invoke "size-t3") (i32.const 8)) - -(assert_return (invoke "size-t64") (i64.const 42)) - -;; Type errors - -(assert_invalid - (module - (table $t 1 externref) - (func $type-result-i32-vs-empty - (table.size $t) - ) - ) - "type mismatch" -) -(assert_invalid - (module - (table $t 1 externref) - (func $type-result-i32-vs-f32 (result f32) - (table.size $t) - ) - ) - "type mismatch" -) diff --git a/test/spec/testsuite b/test/spec/testsuite new file mode 160000 +Subproject e05365077e13a1d86ffe77acfb1a835b7aa7842 diff --git a/test/spec/traps.wast b/test/spec/traps.wast deleted file mode 100644 index 142fa22b2..000000000 --- a/test/spec/traps.wast +++ /dev/null @@ -1,91 +0,0 @@ -;; Test that traps are preserved even in instructions which might otherwise -;; be dead-code-eliminated. These functions all perform an operation and -;; discard its return value. - -(module - (func (export "no_dce.i32.div_s") (param $x i32) (param $y i32) - (drop (i32.div_s (local.get $x) (local.get $y)))) - (func (export "no_dce.i32.div_u") (param $x i32) (param $y i32) - (drop (i32.div_u (local.get $x) (local.get $y)))) - (func (export "no_dce.i64.div_s") (param $x i64) (param $y i64) - (drop (i64.div_s (local.get $x) (local.get $y)))) - (func (export "no_dce.i64.div_u") (param $x i64) (param $y i64) - (drop (i64.div_u (local.get $x) (local.get $y)))) -) - -(assert_trap (invoke "no_dce.i32.div_s" (i32.const 1) (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "no_dce.i32.div_u" (i32.const 1) (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "no_dce.i64.div_s" (i64.const 1) (i64.const 0)) "integer divide by zero") -(assert_trap (invoke "no_dce.i64.div_u" (i64.const 1) (i64.const 0)) "integer divide by zero") -(assert_trap (invoke "no_dce.i32.div_s" (i32.const 0x80000000) (i32.const -1)) "integer overflow") -(assert_trap (invoke "no_dce.i64.div_s" (i64.const 0x8000000000000000) (i64.const -1)) "integer overflow") - -(module - (func (export "no_dce.i32.rem_s") (param $x i32) (param $y i32) - (drop (i32.rem_s (local.get $x) (local.get $y)))) - (func (export "no_dce.i32.rem_u") (param $x i32) (param $y i32) - (drop (i32.rem_u (local.get $x) (local.get $y)))) - (func (export "no_dce.i64.rem_s") (param $x i64) (param $y i64) - (drop (i64.rem_s (local.get $x) (local.get $y)))) - (func (export "no_dce.i64.rem_u") (param $x i64) (param $y i64) - (drop (i64.rem_u (local.get $x) (local.get $y)))) -) - -(assert_trap (invoke "no_dce.i32.rem_s" (i32.const 1) (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "no_dce.i32.rem_u" (i32.const 1) (i32.const 0)) "integer divide by zero") -(assert_trap (invoke "no_dce.i64.rem_s" (i64.const 1) (i64.const 0)) "integer divide by zero") -(assert_trap (invoke "no_dce.i64.rem_u" (i64.const 1) (i64.const 0)) "integer divide by zero") - -(module - (func (export "no_dce.i32.trunc_f32_s") (param $x f32) (drop (i32.trunc_f32_s (local.get $x)))) - (func (export "no_dce.i32.trunc_f32_u") (param $x f32) (drop (i32.trunc_f32_u (local.get $x)))) - (func (export "no_dce.i32.trunc_f64_s") (param $x f64) (drop (i32.trunc_f64_s (local.get $x)))) - (func (export "no_dce.i32.trunc_f64_u") (param $x f64) (drop (i32.trunc_f64_u (local.get $x)))) - (func (export "no_dce.i64.trunc_f32_s") (param $x f32) (drop (i64.trunc_f32_s (local.get $x)))) - (func (export "no_dce.i64.trunc_f32_u") (param $x f32) (drop (i64.trunc_f32_u (local.get $x)))) - (func (export "no_dce.i64.trunc_f64_s") (param $x f64) (drop (i64.trunc_f64_s (local.get $x)))) - (func (export "no_dce.i64.trunc_f64_u") (param $x f64) (drop (i64.trunc_f64_u (local.get $x)))) -) - -(assert_trap (invoke "no_dce.i32.trunc_f32_s" (f32.const nan)) "invalid conversion to integer") -(assert_trap (invoke "no_dce.i32.trunc_f32_u" (f32.const nan)) "invalid conversion to integer") -(assert_trap (invoke "no_dce.i32.trunc_f64_s" (f64.const nan)) "invalid conversion to integer") -(assert_trap (invoke "no_dce.i32.trunc_f64_u" (f64.const nan)) "invalid conversion to integer") -(assert_trap (invoke "no_dce.i64.trunc_f32_s" (f32.const nan)) "invalid conversion to integer") -(assert_trap (invoke "no_dce.i64.trunc_f32_u" (f32.const nan)) "invalid conversion to integer") -(assert_trap (invoke "no_dce.i64.trunc_f64_s" (f64.const nan)) "invalid conversion to integer") -(assert_trap (invoke "no_dce.i64.trunc_f64_u" (f64.const nan)) "invalid conversion to integer") - -(module - (memory 1) - - (func (export "no_dce.i32.load") (param $i i32) (drop (i32.load (local.get $i)))) - (func (export "no_dce.i32.load16_s") (param $i i32) (drop (i32.load16_s (local.get $i)))) - (func (export "no_dce.i32.load16_u") (param $i i32) (drop (i32.load16_u (local.get $i)))) - (func (export "no_dce.i32.load8_s") (param $i i32) (drop (i32.load8_s (local.get $i)))) - (func (export "no_dce.i32.load8_u") (param $i i32) (drop (i32.load8_u (local.get $i)))) - (func (export "no_dce.i64.load") (param $i i32) (drop (i64.load (local.get $i)))) - (func (export "no_dce.i64.load32_s") (param $i i32) (drop (i64.load32_s (local.get $i)))) - (func (export "no_dce.i64.load32_u") (param $i i32) (drop (i64.load32_u (local.get $i)))) - (func (export "no_dce.i64.load16_s") (param $i i32) (drop (i64.load16_s (local.get $i)))) - (func (export "no_dce.i64.load16_u") (param $i i32) (drop (i64.load16_u (local.get $i)))) - (func (export "no_dce.i64.load8_s") (param $i i32) (drop (i64.load8_s (local.get $i)))) - (func (export "no_dce.i64.load8_u") (param $i i32) (drop (i64.load8_u (local.get $i)))) - (func (export "no_dce.f32.load") (param $i i32) (drop (f32.load (local.get $i)))) - (func (export "no_dce.f64.load") (param $i i32) (drop (f64.load (local.get $i)))) -) - -(assert_trap (invoke "no_dce.i32.load" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.i32.load16_s" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.i32.load16_u" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.i32.load8_s" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.i32.load8_u" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.i64.load" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.i64.load32_s" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.i64.load32_u" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.i64.load16_s" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.i64.load16_u" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.i64.load8_s" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.i64.load8_u" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.f32.load" (i32.const 65536)) "out of bounds memory access") -(assert_trap (invoke "no_dce.f64.load" (i32.const 65536)) "out of bounds memory access") diff --git a/test/spec/type.wast b/test/spec/type.wast deleted file mode 100644 index b94063e6a..000000000 --- a/test/spec/type.wast +++ /dev/null @@ -1,50 +0,0 @@ -;; Test type definitions - -(module - (type (func)) - (type $t (func)) - - (type (func (param i32))) - (type (func (param $x i32))) - (type (func (result i32))) - (type (func (param i32) (result i32))) - (type (func (param $x i32) (result i32))) - - (type (func (param f32 f64))) - (type (func (result i64 f32))) - (type (func (param i32 i64) (result f32 f64))) - - (type (func (param f32) (param f64))) - (type (func (param $x f32) (param f64))) - (type (func (param f32) (param $y f64))) - (type (func (param $x f32) (param $y f64))) - (type (func (result i64) (result f32))) - (type (func (param i32) (param i64) (result f32) (result f64))) - (type (func (param $x i32) (param $y i64) (result f32) (result f64))) - - (type (func (param f32 f64) (param $x i32) (param f64 i32 i32))) - (type (func (result i64 i64 f32) (result f32 i32))) - (type - (func (param i32 i32) (param i64 i32) (result f32 f64) (result f64 i32)) - ) - - (type (func (param) (param $x f32) (param) (param) (param f64 i32) (param))) - (type - (func (result) (result) (result i64 i64) (result) (result f32) (result)) - ) - (type - (func - (param i32 i32) (param i64 i32) (param) (param $x i32) (param) - (result) (result f32 f64) (result f64 i32) (result) - ) - ) -) - -(assert_malformed - (module quote "(type (func (result i32) (param i32)))") - "result before parameter" -) -(assert_malformed - (module quote "(type (func (result $x i32)))") - "unexpected token" -) diff --git a/test/spec/unreachable.wast b/test/spec/unreachable.wast deleted file mode 100644 index 3074847a3..000000000 --- a/test/spec/unreachable.wast +++ /dev/null @@ -1,304 +0,0 @@ -;; Test `unreachable` operator - -(module - ;; Auxiliary definitions - (func $dummy) - (func $dummy3 (param i32 i32 i32)) - - (func (export "type-i32") (result i32) (unreachable)) - (func (export "type-i64") (result i32) (unreachable)) - (func (export "type-f32") (result f64) (unreachable)) - (func (export "type-f64") (result f64) (unreachable)) - - (func (export "as-func-first") (result i32) - (unreachable) (i32.const -1) - ) - (func (export "as-func-mid") (result i32) - (call $dummy) (unreachable) (i32.const -1) - ) - (func (export "as-func-last") - (call $dummy) (unreachable) - ) - (func (export "as-func-value") (result i32) - (call $dummy) (unreachable) - ) - - (func (export "as-block-first") (result i32) - (block (result i32) (unreachable) (i32.const 2)) - ) - (func (export "as-block-mid") (result i32) - (block (result i32) (call $dummy) (unreachable) (i32.const 2)) - ) - (func (export "as-block-last") - (block (nop) (call $dummy) (unreachable)) - ) - (func (export "as-block-value") (result i32) - (block (result i32) (nop) (call $dummy) (unreachable)) - ) - (func (export "as-block-broke") (result i32) - (block (result i32) (call $dummy) (br 0 (i32.const 1)) (unreachable)) - ) - - (func (export "as-loop-first") (result i32) - (loop (result i32) (unreachable) (i32.const 2)) - ) - (func (export "as-loop-mid") (result i32) - (loop (result i32) (call $dummy) (unreachable) (i32.const 2)) - ) - (func (export "as-loop-last") - (loop (nop) (call $dummy) (unreachable)) - ) - (func (export "as-loop-broke") (result i32) - (block (result i32) - (loop (result i32) (call $dummy) (br 1 (i32.const 1)) (unreachable)) - ) - ) - - (func (export "as-br-value") (result i32) - (block (result i32) (br 0 (unreachable))) - ) - - (func (export "as-br_if-cond") - (block (br_if 0 (unreachable))) - ) - (func (export "as-br_if-value") (result i32) - (block (result i32) - (drop (br_if 0 (unreachable) (i32.const 1))) (i32.const 7) - ) - ) - (func (export "as-br_if-value-cond") (result i32) - (block (result i32) - (drop (br_if 0 (i32.const 6) (unreachable))) (i32.const 7) - ) - ) - - (func (export "as-br_table-index") - (block (br_table 0 0 0 (unreachable))) - ) - (func (export "as-br_table-value") (result i32) - (block (result i32) - (br_table 0 0 0 (unreachable) (i32.const 1)) (i32.const 7) - ) - ) - (func (export "as-br_table-value-2") (result i32) - (block (result i32) - (block (result i32) (br_table 0 1 (unreachable) (i32.const 1))) - ) - ) - (func (export "as-br_table-value-index") (result i32) - (block (result i32) - (br_table 0 0 (i32.const 6) (unreachable)) (i32.const 7) - ) - ) - (func (export "as-br_table-value-and-index") (result i32) - (block (result i32) (br_table 0 0 (unreachable)) (i32.const 8)) - ) - - (func (export "as-return-value") (result i64) - (return (unreachable)) - ) - - (func (export "as-if-cond") (result i32) - (if (result i32) (unreachable) (then (i32.const 0)) (else (i32.const 1))) - ) - (func (export "as-if-then") (param i32 i32) (result i32) - (if (result i32) (local.get 0) (then (unreachable)) (else (local.get 1))) - ) - (func (export "as-if-else") (param i32 i32) (result i32) - (if (result i32) (local.get 0) (then (local.get 1)) (else (unreachable))) - ) - (func (export "as-if-then-no-else") (param i32 i32) (result i32) - (if (local.get 0) (then (unreachable))) (local.get 1) - ) - - (func (export "as-select-first") (param i32 i32) (result i32) - (select (unreachable) (local.get 0) (local.get 1)) - ) - (func (export "as-select-second") (param i32 i32) (result i32) - (select (local.get 0) (unreachable) (local.get 1)) - ) - (func (export "as-select-cond") (result i32) - (select (i32.const 0) (i32.const 1) (unreachable)) - ) - - (func (export "as-call-first") - (call $dummy3 (unreachable) (i32.const 2) (i32.const 3)) - ) - (func (export "as-call-mid") - (call $dummy3 (i32.const 1) (unreachable) (i32.const 3)) - ) - (func (export "as-call-last") - (call $dummy3 (i32.const 1) (i32.const 2) (unreachable)) - ) - - (type $sig (func (param i32 i32 i32))) - (table funcref (elem $dummy3)) - (func (export "as-call_indirect-func") - (call_indirect (type $sig) - (unreachable) (i32.const 1) (i32.const 2) (i32.const 3) - ) - ) - (func (export "as-call_indirect-first") - (call_indirect (type $sig) - (i32.const 0) (unreachable) (i32.const 2) (i32.const 3) - ) - ) - (func (export "as-call_indirect-mid") - (call_indirect (type $sig) - (i32.const 0) (i32.const 1) (unreachable) (i32.const 3) - ) - ) - (func (export "as-call_indirect-last") - (call_indirect (type $sig) - (i32.const 0) (i32.const 1) (i32.const 2) (unreachable) - ) - ) - - (func (export "as-local.set-value") (local f32) - (local.set 0 (unreachable)) - ) - (func (export "as-local.tee-value") (result f32) (local f32) - (local.tee 0 (unreachable)) - ) - (global $a (mut f32) (f32.const 0)) - (func (export "as-global.set-value") (result f32) - (global.set $a (unreachable)) - ) - - (memory 1) - (func (export "as-load-address") (result f32) - (f32.load (unreachable)) - ) - (func (export "as-loadN-address") (result i64) - (i64.load8_s (unreachable)) - ) - - (func (export "as-store-address") - (f64.store (unreachable) (f64.const 7)) - ) - (func (export "as-store-value") - (i64.store (i32.const 2) (unreachable)) - ) - - (func (export "as-storeN-address") - (i32.store8 (unreachable) (i32.const 7)) - ) - (func (export "as-storeN-value") - (i64.store16 (i32.const 2) (unreachable)) - ) - - (func (export "as-unary-operand") (result f32) - (f32.neg (unreachable)) - ) - - (func (export "as-binary-left") (result i32) - (i32.add (unreachable) (i32.const 10)) - ) - (func (export "as-binary-right") (result i64) - (i64.sub (i64.const 10) (unreachable)) - ) - - (func (export "as-test-operand") (result i32) - (i32.eqz (unreachable)) - ) - - (func (export "as-compare-left") (result i32) - (f64.le (unreachable) (f64.const 10)) - ) - (func (export "as-compare-right") (result i32) - (f32.ne (f32.const 10) (unreachable)) - ) - - (func (export "as-convert-operand") (result i32) - (i32.wrap_i64 (unreachable)) - ) - - (func (export "as-memory.grow-size") (result i32) - (memory.grow (unreachable)) - ) -) - -(assert_trap (invoke "type-i32") "unreachable") -(assert_trap (invoke "type-i64") "unreachable") -(assert_trap (invoke "type-f32") "unreachable") -(assert_trap (invoke "type-f64") "unreachable") - -(assert_trap (invoke "as-func-first") "unreachable") -(assert_trap (invoke "as-func-mid") "unreachable") -(assert_trap (invoke "as-func-last") "unreachable") -(assert_trap (invoke "as-func-value") "unreachable") - -(assert_trap (invoke "as-block-first") "unreachable") -(assert_trap (invoke "as-block-mid") "unreachable") -(assert_trap (invoke "as-block-last") "unreachable") -(assert_trap (invoke "as-block-value") "unreachable") -(assert_return (invoke "as-block-broke") (i32.const 1)) - -(assert_trap (invoke "as-loop-first") "unreachable") -(assert_trap (invoke "as-loop-mid") "unreachable") -(assert_trap (invoke "as-loop-last") "unreachable") -(assert_return (invoke "as-loop-broke") (i32.const 1)) - -(assert_trap (invoke "as-br-value") "unreachable") - -(assert_trap (invoke "as-br_if-cond") "unreachable") -(assert_trap (invoke "as-br_if-value") "unreachable") -(assert_trap (invoke "as-br_if-value-cond") "unreachable") - -(assert_trap (invoke "as-br_table-index") "unreachable") -(assert_trap (invoke "as-br_table-value") "unreachable") -(assert_trap (invoke "as-br_table-value-2") "unreachable") -(assert_trap (invoke "as-br_table-value-index") "unreachable") -(assert_trap (invoke "as-br_table-value-and-index") "unreachable") - -(assert_trap (invoke "as-return-value") "unreachable") - -(assert_trap (invoke "as-if-cond") "unreachable") -(assert_trap (invoke "as-if-then" (i32.const 1) (i32.const 6)) "unreachable") -(assert_return (invoke "as-if-then" (i32.const 0) (i32.const 6)) (i32.const 6)) -(assert_trap (invoke "as-if-else" (i32.const 0) (i32.const 6)) "unreachable") -(assert_return (invoke "as-if-else" (i32.const 1) (i32.const 6)) (i32.const 6)) -(assert_trap (invoke "as-if-then-no-else" (i32.const 1) (i32.const 6)) "unreachable") -(assert_return (invoke "as-if-then-no-else" (i32.const 0) (i32.const 6)) (i32.const 6)) - -(assert_trap (invoke "as-select-first" (i32.const 0) (i32.const 6)) "unreachable") -(assert_trap (invoke "as-select-first" (i32.const 1) (i32.const 6)) "unreachable") -(assert_trap (invoke "as-select-second" (i32.const 0) (i32.const 6)) "unreachable") -(assert_trap (invoke "as-select-second" (i32.const 1) (i32.const 6)) "unreachable") -(assert_trap (invoke "as-select-cond") "unreachable") - -(assert_trap (invoke "as-call-first") "unreachable") -(assert_trap (invoke "as-call-mid") "unreachable") -(assert_trap (invoke "as-call-last") "unreachable") - -(assert_trap (invoke "as-call_indirect-func") "unreachable") -(assert_trap (invoke "as-call_indirect-first") "unreachable") -(assert_trap (invoke "as-call_indirect-mid") "unreachable") -(assert_trap (invoke "as-call_indirect-last") "unreachable") - -(assert_trap (invoke "as-local.set-value") "unreachable") -(assert_trap (invoke "as-local.tee-value") "unreachable") -(assert_trap (invoke "as-global.set-value") "unreachable") - -(assert_trap (invoke "as-load-address") "unreachable") -(assert_trap (invoke "as-loadN-address") "unreachable") - -(assert_trap (invoke "as-store-address") "unreachable") -(assert_trap (invoke "as-store-value") "unreachable") -(assert_trap (invoke "as-storeN-address") "unreachable") -(assert_trap (invoke "as-storeN-value") "unreachable") - -(assert_trap (invoke "as-unary-operand") "unreachable") - -(assert_trap (invoke "as-binary-left") "unreachable") -(assert_trap (invoke "as-binary-right") "unreachable") - -(assert_trap (invoke "as-test-operand") "unreachable") - -(assert_trap (invoke "as-compare-left") "unreachable") -(assert_trap (invoke "as-compare-right") "unreachable") - -(assert_trap (invoke "as-convert-operand") "unreachable") - -(assert_trap (invoke "as-memory.grow-size") "unreachable") - diff --git a/test/spec/unwind.wast b/test/spec/unwind.wast deleted file mode 100644 index 85db60b59..000000000 --- a/test/spec/unwind.wast +++ /dev/null @@ -1,267 +0,0 @@ -;; Test that control-flow transfer unwinds stack and it can be anything after. - -(module - (func (export "func-unwind-by-unreachable") - (i32.const 3) (i64.const 1) (unreachable) - ) - (func (export "func-unwind-by-br") - (i32.const 3) (i64.const 1) (br 0) - ) - (func (export "func-unwind-by-br-value") (result i32) - (i32.const 3) (i64.const 1) (br 0 (i32.const 9)) - ) - (func (export "func-unwind-by-br_if") - (i32.const 3) (i64.const 1) (drop (drop (br_if 0 (i32.const 1)))) - ) - (func (export "func-unwind-by-br_if-value") (result i32) - (i32.const 3) (i64.const 1) (drop (drop (br_if 0 (i32.const 9) (i32.const 1)))) - ) - (func (export "func-unwind-by-br_table") - (i32.const 3) (i64.const 1) (br_table 0 (i32.const 0)) - ) - (func (export "func-unwind-by-br_table-value") (result i32) - (i32.const 3) (i64.const 1) (br_table 0 (i32.const 9) (i32.const 0)) - ) - (func (export "func-unwind-by-return") (result i32) - (i32.const 3) (i64.const 1) (return (i32.const 9)) - ) - - (func (export "block-unwind-by-unreachable") - (block (i32.const 3) (i64.const 1) (unreachable)) - ) - (func (export "block-unwind-by-br") (result i32) - (block (i32.const 3) (i64.const 1) (br 0)) (i32.const 9) - ) - (func (export "block-unwind-by-br-value") (result i32) - (block (result i32) (i32.const 3) (i64.const 1) (br 0 (i32.const 9))) - ) - (func (export "block-unwind-by-br_if") (result i32) - (block (i32.const 3) (i64.const 1) (drop (drop (br_if 0 (i32.const 1))))) (i32.const 9) - ) - (func (export "block-unwind-by-br_if-value") (result i32) - (block (result i32) - (i32.const 3) (i64.const 1) (drop (drop (br_if 0 (i32.const 9) (i32.const 1)))) - ) - ) - (func (export "block-unwind-by-br_table") (result i32) - (block (i32.const 3) (i64.const 1) (br_table 0 (i32.const 0))) (i32.const 9) - ) - (func (export "block-unwind-by-br_table-value") (result i32) - (block (result i32) - (i32.const 3) (i64.const 1) (br_table 0 (i32.const 9) (i32.const 0)) - ) - ) - (func (export "block-unwind-by-return") (result i32) - (block (result i32) (i32.const 3) (i64.const 1) (return (i32.const 9))) - ) - - (func (export "block-nested-unwind-by-unreachable") (result i32) - (block (result i32) (i32.const 3) (block (i64.const 1) (unreachable))) - ) - (func (export "block-nested-unwind-by-br") (result i32) - (block (i32.const 3) (block (i64.const 1) (br 1)) (drop)) (i32.const 9) - ) - (func (export "block-nested-unwind-by-br-value") (result i32) - (block (result i32) - (i32.const 3) (block (i64.const 1) (br 1 (i32.const 9))) - ) - ) - (func (export "block-nested-unwind-by-br_if") (result i32) - (block (i32.const 3) (block (i64.const 1) (drop (br_if 1 (i32.const 1)))) (drop)) (i32.const 9) - ) - (func (export "block-nested-unwind-by-br_if-value") (result i32) - (block (result i32) - (i32.const 3) (block (i64.const 1) (drop (drop (br_if 1 (i32.const 9) (i32.const 1))))) - ) - ) - (func (export "block-nested-unwind-by-br_table") (result i32) - (block - (i32.const 3) (block (i64.const 1) (br_table 1 (i32.const 1))) - (drop) - ) - (i32.const 9) - ) - (func (export "block-nested-unwind-by-br_table-value") (result i32) - (block (result i32) - (i32.const 3) - (block (i64.const 1) (br_table 1 (i32.const 9) (i32.const 1))) - ) - ) - (func (export "block-nested-unwind-by-return") (result i32) - (block (result i32) - (i32.const 3) (block (i64.const 1) (return (i32.const 9))) - ) - ) - - (func (export "unary-after-unreachable") (result i32) - (f32.const 0) (unreachable) (i64.eqz) - ) - (func (export "unary-after-br") (result i32) - (block (result i32) (f32.const 0) (br 0 (i32.const 9)) (i64.eqz)) - ) - (func (export "unary-after-br_if") (result i32) - (block (result i32) - (i64.const 0) (drop (br_if 0 (i32.const 9) (i32.const 1))) (i64.eqz) - ) - ) - (func (export "unary-after-br_table") (result i32) - (block (result i32) - (f32.const 0) (br_table 0 0 (i32.const 9) (i32.const 0)) (i64.eqz) - ) - ) - (func (export "unary-after-return") (result i32) - (f32.const 0) (return (i32.const 9)) (i64.eqz) - ) - - (func (export "binary-after-unreachable") (result i32) - (f32.const 0) (f64.const 1) (unreachable) (i64.eq) - ) - (func (export "binary-after-br") (result i32) - (block (result i32) - (f32.const 0) (f64.const 1) (br 0 (i32.const 9)) (i64.eq) - ) - ) - (func (export "binary-after-br_if") (result i32) - (block (result i32) - (i64.const 0) (i64.const 1) (drop (br_if 0 (i32.const 9) (i32.const 1))) - (i64.eq) - ) - ) - (func (export "binary-after-br_table") (result i32) - (block (result i32) - (f32.const 0) (f64.const 1) (br_table 0 (i32.const 9) (i32.const 0)) - (i64.eq) - ) - ) - (func (export "binary-after-return") (result i32) - (f32.const 0) (f64.const 1) (return (i32.const 9)) (i64.eq) - ) - - (func (export "select-after-unreachable") (result i32) - (f32.const 0) (f64.const 1) (i64.const 0) (unreachable) (select) - ) - (func (export "select-after-br") (result i32) - (block (result i32) - (f32.const 0) (f64.const 1) (i64.const 0) (br 0 (i32.const 9)) (select) - ) - ) - (func (export "select-after-br_if") (result i32) - (block (result i32) - (i32.const 0) (i32.const 1) (i32.const 0) - (drop (br_if 0 (i32.const 9) (i32.const 1))) - (select) - ) - ) - (func (export "select-after-br_table") (result i32) - (block (result i32) - (f32.const 0) (f64.const 1) (i64.const 0) - (br_table 0 (i32.const 9) (i32.const 0)) - (select) - ) - ) - (func (export "select-after-return") (result i32) - (f32.const 0) (f64.const 1) (i64.const 1) (return (i32.const 9)) (select) - ) - - (func (export "block-value-after-unreachable") (result i32) - (block (result i32) (f32.const 0) (unreachable)) - ) - (func (export "block-value-after-br") (result i32) - (block (result i32) (f32.const 0) (br 0 (i32.const 9))) - ) - (func (export "block-value-after-br_if") (result i32) - (block (result i32) - (i32.const 0) (drop (br_if 0 (i32.const 9) (i32.const 1))) - ) - ) - (func (export "block-value-after-br_table") (result i32) - (block (result i32) - (f32.const 0) (br_table 0 0 (i32.const 9) (i32.const 0)) - ) - ) - (func (export "block-value-after-return") (result i32) - (block (result i32) (f32.const 0) (return (i32.const 9))) - ) - - (func (export "loop-value-after-unreachable") (result i32) - (loop (result i32) (f32.const 0) (unreachable)) - ) - (func (export "loop-value-after-br") (result i32) - (block (result i32) (loop (result i32) (f32.const 0) (br 1 (i32.const 9)))) - ) - (func (export "loop-value-after-br_if") (result i32) - (block (result i32) - (loop (result i32) - (i32.const 0) (drop (br_if 1 (i32.const 9) (i32.const 1))) - ) - ) - ) - - (func (export "loop-value-after-br_table") (result i32) - (block (result i32) - (loop (result i32) - (f32.const 0) (br_table 1 1 (i32.const 9) (i32.const 0)) - ) - ) - ) - (func (export "loop-value-after-return") (result i32) - (loop (result i32) (f32.const 0) (return (i32.const 9))) - ) -) - -(assert_trap (invoke "func-unwind-by-unreachable") "unreachable") -(assert_return (invoke "func-unwind-by-br")) -(assert_return (invoke "func-unwind-by-br-value") (i32.const 9)) -(assert_return (invoke "func-unwind-by-br_if")) -(assert_return (invoke "func-unwind-by-br_if-value") (i32.const 9)) -(assert_return (invoke "func-unwind-by-br_table")) -(assert_return (invoke "func-unwind-by-br_table-value") (i32.const 9)) -(assert_return (invoke "func-unwind-by-return") (i32.const 9)) - -(assert_trap (invoke "block-unwind-by-unreachable") "unreachable") -(assert_return (invoke "block-unwind-by-br") (i32.const 9)) -(assert_return (invoke "block-unwind-by-br-value") (i32.const 9)) -(assert_return (invoke "block-unwind-by-br_if") (i32.const 9)) -(assert_return (invoke "block-unwind-by-br_if-value") (i32.const 9)) -(assert_return (invoke "block-unwind-by-br_table") (i32.const 9)) -(assert_return (invoke "block-unwind-by-br_table-value") (i32.const 9)) -(assert_return (invoke "block-unwind-by-return") (i32.const 9)) - -(assert_trap (invoke "block-nested-unwind-by-unreachable") "unreachable") -(assert_return (invoke "block-nested-unwind-by-br") (i32.const 9)) -(assert_return (invoke "block-nested-unwind-by-br-value") (i32.const 9)) -(assert_return (invoke "block-nested-unwind-by-br_if") (i32.const 9)) -(assert_return (invoke "block-nested-unwind-by-br_if-value") (i32.const 9)) -(assert_return (invoke "block-nested-unwind-by-br_table") (i32.const 9)) -(assert_return (invoke "block-nested-unwind-by-br_table-value") (i32.const 9)) -(assert_return (invoke "block-nested-unwind-by-return") (i32.const 9)) - -(assert_trap (invoke "unary-after-unreachable") "unreachable") -(assert_return (invoke "unary-after-br") (i32.const 9)) -(assert_return (invoke "unary-after-br_if") (i32.const 9)) -(assert_return (invoke "unary-after-br_table") (i32.const 9)) -(assert_return (invoke "unary-after-return") (i32.const 9)) - -(assert_trap (invoke "binary-after-unreachable") "unreachable") -(assert_return (invoke "binary-after-br") (i32.const 9)) -(assert_return (invoke "binary-after-br_if") (i32.const 9)) -(assert_return (invoke "binary-after-br_table") (i32.const 9)) -(assert_return (invoke "binary-after-return") (i32.const 9)) - -(assert_trap (invoke "select-after-unreachable") "unreachable") -(assert_return (invoke "select-after-br") (i32.const 9)) -(assert_return (invoke "select-after-br_if") (i32.const 9)) -(assert_return (invoke "select-after-br_table") (i32.const 9)) -(assert_return (invoke "select-after-return") (i32.const 9)) - -(assert_trap (invoke "block-value-after-unreachable") "unreachable") -(assert_return (invoke "block-value-after-br") (i32.const 9)) -(assert_return (invoke "block-value-after-br_if") (i32.const 9)) -(assert_return (invoke "block-value-after-br_table") (i32.const 9)) -(assert_return (invoke "block-value-after-return") (i32.const 9)) - -(assert_trap (invoke "loop-value-after-unreachable") "unreachable") -(assert_return (invoke "loop-value-after-br") (i32.const 9)) -(assert_return (invoke "loop-value-after-br_if") (i32.const 9)) -(assert_return (invoke "loop-value-after-br_table") (i32.const 9)) -(assert_return (invoke "loop-value-after-return") (i32.const 9)) diff --git a/test/spec/utf8-custom-section-id.wast b/test/spec/utf8-custom-section-id.wast deleted file mode 100644 index 129d2b913..000000000 --- a/test/spec/utf8-custom-section-id.wast +++ /dev/null @@ -1,1792 +0,0 @@ -;;;;;; Invalid UTF-8 custom section names - -;;;; Continuation bytes not preceded by prefixes - -;; encoding starts with (first) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\80" ;; "\80" - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (0x8f) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\8f" ;; "\8f" - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (0x90) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\90" ;; "\90" - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (0x9f) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\9f" ;; "\9f" - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (0xa0) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\a0" ;; "\a0" - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (last) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\bf" ;; "\bf" - ) - "invalid UTF-8 encoding" -) - -;;;; 2-byte sequences - -;; 2-byte sequence contains 3 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\c2\80\80" ;; "\c2\80\80" - ) - "invalid UTF-8 encoding" -) - -;; 2-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\c2" ;; "\c2" - ) - "invalid UTF-8 encoding" -) - -;; 2-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\c2\2e" ;; "\c2." - ) - "invalid UTF-8 encoding" -) - -;;;; 2-byte sequence contents - -;; overlong encoding after 0xc0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\c0\80" ;; "\c0\80" - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xc0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\c0\bf" ;; "\c0\bf" - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xc1 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\c1\80" ;; "\c1\80" - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xc1 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\c1\bf" ;; "\c1\bf" - ) - "invalid UTF-8 encoding" -) - -;; byte after (first) 2-byte prefix not a contination byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\c2\00" ;; "\c2\00" - ) - "invalid UTF-8 encoding" -) - -;; byte after (first) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\c2\7f" ;; "\c2\7f" - ) - "invalid UTF-8 encoding" -) - -;; byte after (first) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\c2\c0" ;; "\c2\c0" - ) - "invalid UTF-8 encoding" -) - -;; byte after (first) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\c2\fd" ;; "\c2\fd" - ) - "invalid UTF-8 encoding" -) - -;; byte after (last) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\df\00" ;; "\df\00" - ) - "invalid UTF-8 encoding" -) - -;; byte after (last) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\df\7f" ;; "\df\7f" - ) - "invalid UTF-8 encoding" -) - -;; byte after (last) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\df\c0" ;; "\df\c0" - ) - "invalid UTF-8 encoding" -) - -;; byte after (last) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\df\fd" ;; "\df\fd" - ) - "invalid UTF-8 encoding" -) - -;;;; 3-byte sequences - -;; 3-byte sequence contains 4 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\e1\80\80\80" ;; "\e1\80\80\80" - ) - "invalid UTF-8 encoding" -) - -;; 3-byte sequence contains 2 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\e1\80" ;; "\e1\80" - ) - "invalid UTF-8 encoding" -) - -;; 3-byte sequence contains 2 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e1\80\2e" ;; "\e1\80." - ) - "invalid UTF-8 encoding" -) - -;; 3-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\e1" ;; "\e1" - ) - "invalid UTF-8 encoding" -) - -;; 3-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\e1\2e" ;; "\e1." - ) - "invalid UTF-8 encoding" -) - -;;;; 3-byte sequence contents - -;; first byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e0\00\a0" ;; "\e0\00\a0" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e0\7f\a0" ;; "\e0\7f\a0" - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xe0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e0\80\80" ;; "\e0\80\80" - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xe0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e0\80\a0" ;; "\e0\80\a0" - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xe0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e0\9f\a0" ;; "\e0\9f\a0" - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xe0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e0\9f\bf" ;; "\e0\9f\bf" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e0\c0\a0" ;; "\e0\c0\a0" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e0\fd\a0" ;; "\e0\fd\a0" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e1\00\80" ;; "\e1\00\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e1\7f\80" ;; "\e1\7f\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e1\c0\80" ;; "\e1\c0\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e1\fd\80" ;; "\e1\fd\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ec\00\80" ;; "\ec\00\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ec\7f\80" ;; "\ec\7f\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ec\c0\80" ;; "\ec\c0\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ec\fd\80" ;; "\ec\fd\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ed\00\80" ;; "\ed\00\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ed\7f\80" ;; "\ed\7f\80" - ) - "invalid UTF-8 encoding" -) - -;; byte sequence reserved for UTF-16 surrogate half -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ed\a0\80" ;; "\ed\a0\80" - ) - "invalid UTF-8 encoding" -) - -;; byte sequence reserved for UTF-16 surrogate half -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ed\a0\bf" ;; "\ed\a0\bf" - ) - "invalid UTF-8 encoding" -) - -;; byte sequence reserved for UTF-16 surrogate half -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ed\bf\80" ;; "\ed\bf\80" - ) - "invalid UTF-8 encoding" -) - -;; byte sequence reserved for UTF-16 surrogate half -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ed\bf\bf" ;; "\ed\bf\bf" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ed\c0\80" ;; "\ed\c0\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ed\fd\80" ;; "\ed\fd\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ee\00\80" ;; "\ee\00\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ee\7f\80" ;; "\ee\7f\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ee\c0\80" ;; "\ee\c0\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ee\fd\80" ;; "\ee\fd\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ef\00\80" ;; "\ef\00\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ef\7f\80" ;; "\ef\7f\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ef\c0\80" ;; "\ef\c0\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ef\fd\80" ;; "\ef\fd\80" - ) - "invalid UTF-8 encoding" -) - -;;;; 3-byte sequence contents (third byte) - -;; second byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e0\a0\00" ;; "\e0\a0\00" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e0\a0\7f" ;; "\e0\a0\7f" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e0\a0\c0" ;; "\e0\a0\c0" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e0\a0\fd" ;; "\e0\a0\fd" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e1\80\00" ;; "\e1\80\00" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e1\80\7f" ;; "\e1\80\7f" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e1\80\c0" ;; "\e1\80\c0" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\e1\80\fd" ;; "\e1\80\fd" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ec\80\00" ;; "\ec\80\00" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ec\80\7f" ;; "\ec\80\7f" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ec\80\c0" ;; "\ec\80\c0" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ec\80\fd" ;; "\ec\80\fd" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ed\80\00" ;; "\ed\80\00" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ed\80\7f" ;; "\ed\80\7f" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ed\80\c0" ;; "\ed\80\c0" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ed\80\fd" ;; "\ed\80\fd" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ee\80\00" ;; "\ee\80\00" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ee\80\7f" ;; "\ee\80\7f" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ee\80\c0" ;; "\ee\80\c0" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ee\80\fd" ;; "\ee\80\fd" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ef\80\00" ;; "\ef\80\00" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ef\80\7f" ;; "\ef\80\7f" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ef\80\c0" ;; "\ef\80\c0" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\ef\80\fd" ;; "\ef\80\fd" - ) - "invalid UTF-8 encoding" -) - -;;;; 4-byte sequences - -;; 4-byte sequence contains 5 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\06" ;; custom section - "\05\f1\80\80\80\80" ;; "\f1\80\80\80\80" - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 3 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\f1\80\80" ;; "\f1\80\80" - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 3 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\80\80\23" ;; "\f1\80\80#" - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 2 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\f1\80" ;; "\f1\80" - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 2 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\f1\80\23" ;; "\f1\80#" - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\f1" ;; "\f1" - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\f1\23" ;; "\f1#" - ) - "invalid UTF-8 encoding" -) - -;;;; 4-byte sequence contents - -;; first byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\00\90\90" ;; "\f0\00\90\90" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\7f\90\90" ;; "\f0\7f\90\90" - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xf0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\80\80\80" ;; "\f0\80\80\80" - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xf0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\80\90\90" ;; "\f0\80\90\90" - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xf0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\8f\90\90" ;; "\f0\8f\90\90" - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xf0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\8f\bf\bf" ;; "\f0\8f\bf\bf" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\c0\90\90" ;; "\f0\c0\90\90" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\fd\90\90" ;; "\f0\fd\90\90" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\00\80\80" ;; "\f1\00\80\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\7f\80\80" ;; "\f1\7f\80\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\c0\80\80" ;; "\f1\c0\80\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\fd\80\80" ;; "\f1\fd\80\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f3\00\80\80" ;; "\f3\00\80\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f3\7f\80\80" ;; "\f3\7f\80\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f3\c0\80\80" ;; "\f3\c0\80\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f3\fd\80\80" ;; "\f3\fd\80\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\00\80\80" ;; "\f4\00\80\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\7f\80\80" ;; "\f4\7f\80\80" - ) - "invalid UTF-8 encoding" -) - -;; (first) invalid code point -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\90\80\80" ;; "\f4\90\80\80" - ) - "invalid UTF-8 encoding" -) - -;; invalid code point -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\bf\80\80" ;; "\f4\bf\80\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\c0\80\80" ;; "\f4\c0\80\80" - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\fd\80\80" ;; "\f4\fd\80\80" - ) - "invalid UTF-8 encoding" -) - -;; (first) invalid 4-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f5\80\80\80" ;; "\f5\80\80\80" - ) - "invalid UTF-8 encoding" -) - -;; (last) invalid 4-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f7\80\80\80" ;; "\f7\80\80\80" - ) - "invalid UTF-8 encoding" -) - -;; (last) invalid 4-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f7\bf\bf\bf" ;; "\f7\bf\bf\bf" - ) - "invalid UTF-8 encoding" -) - -;;;; 4-byte sequence contents (third byte) - -;; second byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\90\00\90" ;; "\f0\90\00\90" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\90\7f\90" ;; "\f0\90\7f\90" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\90\c0\90" ;; "\f0\90\c0\90" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\90\fd\90" ;; "\f0\90\fd\90" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\80\00\80" ;; "\f1\80\00\80" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\80\7f\80" ;; "\f1\80\7f\80" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\80\c0\80" ;; "\f1\80\c0\80" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\80\fd\80" ;; "\f1\80\fd\80" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f3\80\00\80" ;; "\f3\80\00\80" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f3\80\7f\80" ;; "\f3\80\7f\80" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f3\80\c0\80" ;; "\f3\80\c0\80" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f3\80\fd\80" ;; "\f3\80\fd\80" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\80\00\80" ;; "\f4\80\00\80" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\80\7f\80" ;; "\f4\80\7f\80" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\80\c0\80" ;; "\f4\80\c0\80" - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\80\fd\80" ;; "\f4\80\fd\80" - ) - "invalid UTF-8 encoding" -) - -;;;; 4-byte sequence contents (fourth byte) - -;; third byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\90\90\00" ;; "\f0\90\90\00" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\90\90\7f" ;; "\f0\90\90\7f" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\90\90\c0" ;; "\f0\90\90\c0" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f0\90\90\fd" ;; "\f0\90\90\fd" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\80\80\00" ;; "\f1\80\80\00" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\80\80\7f" ;; "\f1\80\80\7f" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\80\80\c0" ;; "\f1\80\80\c0" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f1\80\80\fd" ;; "\f1\80\80\fd" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f3\80\80\00" ;; "\f3\80\80\00" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f3\80\80\7f" ;; "\f3\80\80\7f" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f3\80\80\c0" ;; "\f3\80\80\c0" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f3\80\80\fd" ;; "\f3\80\80\fd" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\80\80\00" ;; "\f4\80\80\00" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\80\80\7f" ;; "\f4\80\80\7f" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\80\80\c0" ;; "\f4\80\80\c0" - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f4\80\80\fd" ;; "\f4\80\80\fd" - ) - "invalid UTF-8 encoding" -) - -;;;; 5-byte sequences - -;; 5-byte sequence contains 6 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\07" ;; custom section - "\06\f8\80\80\80\80\80" ;; "\f8\80\80\80\80\80" - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 4 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f8\80\80\80" ;; "\f8\80\80\80" - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 4 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\06" ;; custom section - "\05\f8\80\80\80\23" ;; "\f8\80\80\80#" - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 3 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\f8\80\80" ;; "\f8\80\80" - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 3 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\f8\80\80\23" ;; "\f8\80\80#" - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 2 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\f8\80" ;; "\f8\80" - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 2 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\f8\80\23" ;; "\f8\80#" - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\f8" ;; "\f8" - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\f8\23" ;; "\f8#" - ) - "invalid UTF-8 encoding" -) - -;;;; 5-byte sequence contents - -;; (first) invalid 5-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\06" ;; custom section - "\05\f8\80\80\80\80" ;; "\f8\80\80\80\80" - ) - "invalid UTF-8 encoding" -) - -;; (last) invalid 5-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\06" ;; custom section - "\05\fb\bf\bf\bf\bf" ;; "\fb\bf\bf\bf\bf" - ) - "invalid UTF-8 encoding" -) - -;;;; 6-byte sequences - -;; 6-byte sequence contains 7 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\08" ;; custom section - "\07\fc\80\80\80\80\80\80" ;; "\fc\80\80\80\80\80\80" - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 5 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\06" ;; custom section - "\05\fc\80\80\80\80" ;; "\fc\80\80\80\80" - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 5 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\07" ;; custom section - "\06\fc\80\80\80\80\23" ;; "\fc\80\80\80\80#" - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 4 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\fc\80\80\80" ;; "\fc\80\80\80" - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 4 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\06" ;; custom section - "\05\fc\80\80\80\23" ;; "\fc\80\80\80#" - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 3 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\fc\80\80" ;; "\fc\80\80" - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 3 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\fc\80\80\23" ;; "\fc\80\80#" - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 2 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\fc\80" ;; "\fc\80" - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 2 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\04" ;; custom section - "\03\fc\80\23" ;; "\fc\80#" - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\fc" ;; "\fc" - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\fc\23" ;; "\fc#" - ) - "invalid UTF-8 encoding" -) - -;;;; 6-byte sequence contents - -;; (first) invalid 6-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\07" ;; custom section - "\06\fc\80\80\80\80\80" ;; "\fc\80\80\80\80\80" - ) - "invalid UTF-8 encoding" -) - -;; (last) invalid 6-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\07" ;; custom section - "\06\fd\bf\bf\bf\bf\bf" ;; "\fd\bf\bf\bf\bf\bf" - ) - "invalid UTF-8 encoding" -) - -;;;; Miscellaneous invalid bytes - -;; invalid byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\fe" ;; "\fe" - ) - "invalid UTF-8 encoding" -) - -;; invalid byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\02" ;; custom section - "\01\ff" ;; "\ff" - ) - "invalid UTF-8 encoding" -) - -;; UTF-16BE BOM -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\fe\ff" ;; "\fe\ff" - ) - "invalid UTF-8 encoding" -) - -;; UTF-32BE BOM -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\00\00\fe\ff" ;; "\00\00\fe\ff" - ) - "invalid UTF-8 encoding" -) - -;; UTF-16LE BOM -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\03" ;; custom section - "\02\ff\fe" ;; "\ff\fe" - ) - "invalid UTF-8 encoding" -) - -;; UTF-32LE BOM -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\00\05" ;; custom section - "\04\ff\fe\00\00" ;; "\ff\fe\00\00" - ) - "invalid UTF-8 encoding" -) - diff --git a/test/spec/utf8-import-field.wast b/test/spec/utf8-import-field.wast deleted file mode 100644 index 1ff2aa030..000000000 --- a/test/spec/utf8-import-field.wast +++ /dev/null @@ -1,2672 +0,0 @@ -;;;;;; Invalid UTF-8 import field names - -;;;; Continuation bytes not preceded by prefixes - -;; encoding starts with (first) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\80" ;; "\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (0x8f) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\8f" ;; "\8f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (0x90) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\90" ;; "\90" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (0x9f) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\9f" ;; "\9f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (0xa0) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\a0" ;; "\a0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (last) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\bf" ;; "\bf" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 2-byte sequences - -;; 2-byte sequence contains 3 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\c2\80\80" ;; "\c2\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 2-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\c2" ;; "\c2" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 2-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\c2\2e" ;; "\c2." - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 2-byte sequence contents - -;; overlong encoding after 0xc0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\c0\80" ;; "\c0\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xc0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\c0\bf" ;; "\c0\bf" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xc1 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\c1\80" ;; "\c1\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xc1 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\c1\bf" ;; "\c1\bf" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (first) 2-byte prefix not a contination byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\c2\00" ;; "\c2\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (first) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\c2\7f" ;; "\c2\7f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (first) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\c2\c0" ;; "\c2\c0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (first) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\c2\fd" ;; "\c2\fd" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (last) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\df\00" ;; "\df\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (last) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\df\7f" ;; "\df\7f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (last) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\df\c0" ;; "\df\c0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (last) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\df\fd" ;; "\df\fd" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 3-byte sequences - -;; 3-byte sequence contains 4 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\e1\80\80\80" ;; "\e1\80\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 3-byte sequence contains 2 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\e1\80" ;; "\e1\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 3-byte sequence contains 2 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e1\80\2e" ;; "\e1\80." - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 3-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\e1" ;; "\e1" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 3-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\e1\2e" ;; "\e1." - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 3-byte sequence contents - -;; first byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e0\00\a0" ;; "\e0\00\a0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e0\7f\a0" ;; "\e0\7f\a0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xe0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e0\80\80" ;; "\e0\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xe0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e0\80\a0" ;; "\e0\80\a0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xe0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e0\9f\a0" ;; "\e0\9f\a0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xe0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e0\9f\bf" ;; "\e0\9f\bf" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e0\c0\a0" ;; "\e0\c0\a0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e0\fd\a0" ;; "\e0\fd\a0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e1\00\80" ;; "\e1\00\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e1\7f\80" ;; "\e1\7f\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e1\c0\80" ;; "\e1\c0\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e1\fd\80" ;; "\e1\fd\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ec\00\80" ;; "\ec\00\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ec\7f\80" ;; "\ec\7f\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ec\c0\80" ;; "\ec\c0\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ec\fd\80" ;; "\ec\fd\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ed\00\80" ;; "\ed\00\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ed\7f\80" ;; "\ed\7f\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte sequence reserved for UTF-16 surrogate half -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ed\a0\80" ;; "\ed\a0\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte sequence reserved for UTF-16 surrogate half -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ed\a0\bf" ;; "\ed\a0\bf" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte sequence reserved for UTF-16 surrogate half -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ed\bf\80" ;; "\ed\bf\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte sequence reserved for UTF-16 surrogate half -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ed\bf\bf" ;; "\ed\bf\bf" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ed\c0\80" ;; "\ed\c0\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ed\fd\80" ;; "\ed\fd\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ee\00\80" ;; "\ee\00\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ee\7f\80" ;; "\ee\7f\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ee\c0\80" ;; "\ee\c0\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ee\fd\80" ;; "\ee\fd\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ef\00\80" ;; "\ef\00\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ef\7f\80" ;; "\ef\7f\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ef\c0\80" ;; "\ef\c0\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ef\fd\80" ;; "\ef\fd\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 3-byte sequence contents (third byte) - -;; second byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e0\a0\00" ;; "\e0\a0\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e0\a0\7f" ;; "\e0\a0\7f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e0\a0\c0" ;; "\e0\a0\c0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e0\a0\fd" ;; "\e0\a0\fd" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e1\80\00" ;; "\e1\80\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e1\80\7f" ;; "\e1\80\7f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e1\80\c0" ;; "\e1\80\c0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\e1\80\fd" ;; "\e1\80\fd" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ec\80\00" ;; "\ec\80\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ec\80\7f" ;; "\ec\80\7f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ec\80\c0" ;; "\ec\80\c0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ec\80\fd" ;; "\ec\80\fd" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ed\80\00" ;; "\ed\80\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ed\80\7f" ;; "\ed\80\7f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ed\80\c0" ;; "\ed\80\c0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ed\80\fd" ;; "\ed\80\fd" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ee\80\00" ;; "\ee\80\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ee\80\7f" ;; "\ee\80\7f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ee\80\c0" ;; "\ee\80\c0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ee\80\fd" ;; "\ee\80\fd" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ef\80\00" ;; "\ef\80\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ef\80\7f" ;; "\ef\80\7f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ef\80\c0" ;; "\ef\80\c0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\ef\80\fd" ;; "\ef\80\fd" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 4-byte sequences - -;; 4-byte sequence contains 5 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0f" ;; import section - "\01" ;; length 1 - "\05\f1\80\80\80\80" ;; "\f1\80\80\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 3 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\f1\80\80" ;; "\f1\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 3 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\80\80\23" ;; "\f1\80\80#" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 2 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\f1\80" ;; "\f1\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 2 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\f1\80\23" ;; "\f1\80#" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\f1" ;; "\f1" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\f1\23" ;; "\f1#" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 4-byte sequence contents - -;; first byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\00\90\90" ;; "\f0\00\90\90" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\7f\90\90" ;; "\f0\7f\90\90" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xf0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\80\80\80" ;; "\f0\80\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xf0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\80\90\90" ;; "\f0\80\90\90" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xf0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\8f\90\90" ;; "\f0\8f\90\90" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xf0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\8f\bf\bf" ;; "\f0\8f\bf\bf" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\c0\90\90" ;; "\f0\c0\90\90" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\fd\90\90" ;; "\f0\fd\90\90" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\00\80\80" ;; "\f1\00\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\7f\80\80" ;; "\f1\7f\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\c0\80\80" ;; "\f1\c0\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\fd\80\80" ;; "\f1\fd\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f3\00\80\80" ;; "\f3\00\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f3\7f\80\80" ;; "\f3\7f\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f3\c0\80\80" ;; "\f3\c0\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f3\fd\80\80" ;; "\f3\fd\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\00\80\80" ;; "\f4\00\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\7f\80\80" ;; "\f4\7f\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; (first) invalid code point -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\90\80\80" ;; "\f4\90\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; invalid code point -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\bf\80\80" ;; "\f4\bf\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\c0\80\80" ;; "\f4\c0\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\fd\80\80" ;; "\f4\fd\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; (first) invalid 4-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f5\80\80\80" ;; "\f5\80\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; (last) invalid 4-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f7\80\80\80" ;; "\f7\80\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; (last) invalid 4-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f7\bf\bf\bf" ;; "\f7\bf\bf\bf" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 4-byte sequence contents (third byte) - -;; second byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\90\00\90" ;; "\f0\90\00\90" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\90\7f\90" ;; "\f0\90\7f\90" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\90\c0\90" ;; "\f0\90\c0\90" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\90\fd\90" ;; "\f0\90\fd\90" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\80\00\80" ;; "\f1\80\00\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\80\7f\80" ;; "\f1\80\7f\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\80\c0\80" ;; "\f1\80\c0\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\80\fd\80" ;; "\f1\80\fd\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f3\80\00\80" ;; "\f3\80\00\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f3\80\7f\80" ;; "\f3\80\7f\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f3\80\c0\80" ;; "\f3\80\c0\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f3\80\fd\80" ;; "\f3\80\fd\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\80\00\80" ;; "\f4\80\00\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\80\7f\80" ;; "\f4\80\7f\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\80\c0\80" ;; "\f4\80\c0\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\80\fd\80" ;; "\f4\80\fd\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 4-byte sequence contents (fourth byte) - -;; third byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\90\90\00" ;; "\f0\90\90\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\90\90\7f" ;; "\f0\90\90\7f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\90\90\c0" ;; "\f0\90\90\c0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f0\90\90\fd" ;; "\f0\90\90\fd" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\80\80\00" ;; "\f1\80\80\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\80\80\7f" ;; "\f1\80\80\7f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\80\80\c0" ;; "\f1\80\80\c0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f1\80\80\fd" ;; "\f1\80\80\fd" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f3\80\80\00" ;; "\f3\80\80\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f3\80\80\7f" ;; "\f3\80\80\7f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f3\80\80\c0" ;; "\f3\80\80\c0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f3\80\80\fd" ;; "\f3\80\80\fd" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\80\80\00" ;; "\f4\80\80\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\80\80\7f" ;; "\f4\80\80\7f" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\80\80\c0" ;; "\f4\80\80\c0" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f4\80\80\fd" ;; "\f4\80\80\fd" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 5-byte sequences - -;; 5-byte sequence contains 6 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\10" ;; import section - "\01" ;; length 1 - "\06\f8\80\80\80\80\80" ;; "\f8\80\80\80\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 4 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f8\80\80\80" ;; "\f8\80\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 4 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0f" ;; import section - "\01" ;; length 1 - "\05\f8\80\80\80\23" ;; "\f8\80\80\80#" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 3 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\f8\80\80" ;; "\f8\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 3 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\f8\80\80\23" ;; "\f8\80\80#" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 2 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\f8\80" ;; "\f8\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 2 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\f8\80\23" ;; "\f8\80#" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\f8" ;; "\f8" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\f8\23" ;; "\f8#" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 5-byte sequence contents - -;; (first) invalid 5-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0f" ;; import section - "\01" ;; length 1 - "\05\f8\80\80\80\80" ;; "\f8\80\80\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; (last) invalid 5-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0f" ;; import section - "\01" ;; length 1 - "\05\fb\bf\bf\bf\bf" ;; "\fb\bf\bf\bf\bf" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 6-byte sequences - -;; 6-byte sequence contains 7 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\11" ;; import section - "\01" ;; length 1 - "\07\fc\80\80\80\80\80\80" ;; "\fc\80\80\80\80\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 5 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0f" ;; import section - "\01" ;; length 1 - "\05\fc\80\80\80\80" ;; "\fc\80\80\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 5 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\10" ;; import section - "\01" ;; length 1 - "\06\fc\80\80\80\80\23" ;; "\fc\80\80\80\80#" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 4 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\fc\80\80\80" ;; "\fc\80\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 4 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0f" ;; import section - "\01" ;; length 1 - "\05\fc\80\80\80\23" ;; "\fc\80\80\80#" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 3 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\fc\80\80" ;; "\fc\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 3 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\fc\80\80\23" ;; "\fc\80\80#" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 2 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\fc\80" ;; "\fc\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 2 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\03\fc\80\23" ;; "\fc\80#" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\fc" ;; "\fc" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\fc\23" ;; "\fc#" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 6-byte sequence contents - -;; (first) invalid 6-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\10" ;; import section - "\01" ;; length 1 - "\06\fc\80\80\80\80\80" ;; "\fc\80\80\80\80\80" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; (last) invalid 6-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\10" ;; import section - "\01" ;; length 1 - "\06\fd\bf\bf\bf\bf\bf" ;; "\fd\bf\bf\bf\bf\bf" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; Miscellaneous invalid bytes - -;; invalid byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\fe" ;; "\fe" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; invalid byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\01\ff" ;; "\ff" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; UTF-16BE BOM -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\fe\ff" ;; "\fe\ff" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; UTF-32BE BOM -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\00\00\fe\ff" ;; "\00\00\fe\ff" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; UTF-16LE BOM -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\02\ff\fe" ;; "\ff\fe" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; UTF-32LE BOM -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\ff\fe\00\00" ;; "\ff\fe\00\00" - "\04\74\65\73\74" ;; "test" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - diff --git a/test/spec/utf8-import-module.wast b/test/spec/utf8-import-module.wast deleted file mode 100644 index ceabbeb7c..000000000 --- a/test/spec/utf8-import-module.wast +++ /dev/null @@ -1,2672 +0,0 @@ -;;;;;; Invalid UTF-8 import module names - -;;;; Continuation bytes not preceded by prefixes - -;; encoding starts with (first) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\80" ;; "\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (0x8f) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\8f" ;; "\8f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (0x90) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\90" ;; "\90" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (0x9f) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\9f" ;; "\9f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (0xa0) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\a0" ;; "\a0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; encoding starts with (last) continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\bf" ;; "\bf" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 2-byte sequences - -;; 2-byte sequence contains 3 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\c2\80\80" ;; "\c2\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 2-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\c2" ;; "\c2" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 2-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\c2\2e" ;; "\c2." - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 2-byte sequence contents - -;; overlong encoding after 0xc0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\c0\80" ;; "\c0\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xc0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\c0\bf" ;; "\c0\bf" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xc1 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\c1\80" ;; "\c1\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xc1 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\c1\bf" ;; "\c1\bf" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (first) 2-byte prefix not a contination byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\c2\00" ;; "\c2\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (first) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\c2\7f" ;; "\c2\7f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (first) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\c2\c0" ;; "\c2\c0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (first) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\c2\fd" ;; "\c2\fd" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (last) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\df\00" ;; "\df\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (last) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\df\7f" ;; "\df\7f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (last) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\df\c0" ;; "\df\c0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte after (last) 2-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\df\fd" ;; "\df\fd" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 3-byte sequences - -;; 3-byte sequence contains 4 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\e1\80\80\80" ;; "\e1\80\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 3-byte sequence contains 2 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\e1\80" ;; "\e1\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 3-byte sequence contains 2 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e1\80\2e" ;; "\e1\80." - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 3-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\e1" ;; "\e1" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 3-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\e1\2e" ;; "\e1." - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 3-byte sequence contents - -;; first byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e0\00\a0" ;; "\e0\00\a0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e0\7f\a0" ;; "\e0\7f\a0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xe0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e0\80\80" ;; "\e0\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xe0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e0\80\a0" ;; "\e0\80\a0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xe0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e0\9f\a0" ;; "\e0\9f\a0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xe0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e0\9f\bf" ;; "\e0\9f\bf" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e0\c0\a0" ;; "\e0\c0\a0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e0\fd\a0" ;; "\e0\fd\a0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e1\00\80" ;; "\e1\00\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e1\7f\80" ;; "\e1\7f\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e1\c0\80" ;; "\e1\c0\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e1\fd\80" ;; "\e1\fd\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ec\00\80" ;; "\ec\00\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ec\7f\80" ;; "\ec\7f\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ec\c0\80" ;; "\ec\c0\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ec\fd\80" ;; "\ec\fd\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ed\00\80" ;; "\ed\00\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ed\7f\80" ;; "\ed\7f\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte sequence reserved for UTF-16 surrogate half -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ed\a0\80" ;; "\ed\a0\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte sequence reserved for UTF-16 surrogate half -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ed\a0\bf" ;; "\ed\a0\bf" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte sequence reserved for UTF-16 surrogate half -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ed\bf\80" ;; "\ed\bf\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; byte sequence reserved for UTF-16 surrogate half -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ed\bf\bf" ;; "\ed\bf\bf" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ed\c0\80" ;; "\ed\c0\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ed\fd\80" ;; "\ed\fd\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ee\00\80" ;; "\ee\00\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ee\7f\80" ;; "\ee\7f\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ee\c0\80" ;; "\ee\c0\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ee\fd\80" ;; "\ee\fd\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ef\00\80" ;; "\ef\00\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ef\7f\80" ;; "\ef\7f\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ef\c0\80" ;; "\ef\c0\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ef\fd\80" ;; "\ef\fd\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 3-byte sequence contents (third byte) - -;; second byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e0\a0\00" ;; "\e0\a0\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e0\a0\7f" ;; "\e0\a0\7f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e0\a0\c0" ;; "\e0\a0\c0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xe0) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e0\a0\fd" ;; "\e0\a0\fd" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e1\80\00" ;; "\e1\80\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e1\80\7f" ;; "\e1\80\7f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e1\80\c0" ;; "\e1\80\c0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\e1\80\fd" ;; "\e1\80\fd" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ec\80\00" ;; "\ec\80\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ec\80\7f" ;; "\ec\80\7f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ec\80\c0" ;; "\ec\80\c0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ec\80\fd" ;; "\ec\80\fd" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ed\80\00" ;; "\ed\80\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ed\80\7f" ;; "\ed\80\7f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ed\80\c0" ;; "\ed\80\c0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xed) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ed\80\fd" ;; "\ed\80\fd" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ee\80\00" ;; "\ee\80\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ee\80\7f" ;; "\ee\80\7f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ee\80\c0" ;; "\ee\80\c0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ee\80\fd" ;; "\ee\80\fd" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ef\80\00" ;; "\ef\80\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ef\80\7f" ;; "\ef\80\7f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ef\80\c0" ;; "\ef\80\c0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 3-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\ef\80\fd" ;; "\ef\80\fd" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 4-byte sequences - -;; 4-byte sequence contains 5 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0f" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\05\f1\80\80\80\80" ;; "\f1\80\80\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 3 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\f1\80\80" ;; "\f1\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 3 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\80\80\23" ;; "\f1\80\80#" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 2 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\f1\80" ;; "\f1\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 2 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\f1\80\23" ;; "\f1\80#" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\f1" ;; "\f1" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 4-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\f1\23" ;; "\f1#" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 4-byte sequence contents - -;; first byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\00\90\90" ;; "\f0\00\90\90" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\7f\90\90" ;; "\f0\7f\90\90" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xf0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\80\80\80" ;; "\f0\80\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xf0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\80\90\90" ;; "\f0\80\90\90" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xf0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\8f\90\90" ;; "\f0\8f\90\90" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; overlong encoding after 0xf0 prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\8f\bf\bf" ;; "\f0\8f\bf\bf" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\c0\90\90" ;; "\f0\c0\90\90" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\fd\90\90" ;; "\f0\fd\90\90" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\00\80\80" ;; "\f1\00\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\7f\80\80" ;; "\f1\7f\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\c0\80\80" ;; "\f1\c0\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\fd\80\80" ;; "\f1\fd\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f3\00\80\80" ;; "\f3\00\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f3\7f\80\80" ;; "\f3\7f\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f3\c0\80\80" ;; "\f3\c0\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f3\fd\80\80" ;; "\f3\fd\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\00\80\80" ;; "\f4\00\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\7f\80\80" ;; "\f4\7f\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; (first) invalid code point -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\90\80\80" ;; "\f4\90\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; invalid code point -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\bf\80\80" ;; "\f4\bf\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\c0\80\80" ;; "\f4\c0\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; first byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\fd\80\80" ;; "\f4\fd\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; (first) invalid 4-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f5\80\80\80" ;; "\f5\80\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; (last) invalid 4-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f7\80\80\80" ;; "\f7\80\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; (last) invalid 4-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f7\bf\bf\bf" ;; "\f7\bf\bf\bf" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 4-byte sequence contents (third byte) - -;; second byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\90\00\90" ;; "\f0\90\00\90" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\90\7f\90" ;; "\f0\90\7f\90" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\90\c0\90" ;; "\f0\90\c0\90" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\90\fd\90" ;; "\f0\90\fd\90" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\80\00\80" ;; "\f1\80\00\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\80\7f\80" ;; "\f1\80\7f\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\80\c0\80" ;; "\f1\80\c0\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\80\fd\80" ;; "\f1\80\fd\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f3\80\00\80" ;; "\f3\80\00\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f3\80\7f\80" ;; "\f3\80\7f\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f3\80\c0\80" ;; "\f3\80\c0\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f3\80\fd\80" ;; "\f3\80\fd\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\80\00\80" ;; "\f4\80\00\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\80\7f\80" ;; "\f4\80\7f\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\80\c0\80" ;; "\f4\80\c0\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; second byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\80\fd\80" ;; "\f4\80\fd\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 4-byte sequence contents (fourth byte) - -;; third byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\90\90\00" ;; "\f0\90\90\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\90\90\7f" ;; "\f0\90\90\7f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\90\90\c0" ;; "\f0\90\90\c0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf0) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f0\90\90\fd" ;; "\f0\90\90\fd" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\80\80\00" ;; "\f1\80\80\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\80\80\7f" ;; "\f1\80\80\7f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\80\80\c0" ;; "\f1\80\80\c0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (first normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f1\80\80\fd" ;; "\f1\80\80\fd" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f3\80\80\00" ;; "\f3\80\80\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f3\80\80\7f" ;; "\f3\80\80\7f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f3\80\80\c0" ;; "\f3\80\80\c0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (last normal) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f3\80\80\fd" ;; "\f3\80\80\fd" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\80\80\00" ;; "\f4\80\80\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\80\80\7f" ;; "\f4\80\80\7f" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\80\80\c0" ;; "\f4\80\80\c0" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; third byte after (0xf4) 4-byte prefix not a continuation byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f4\80\80\fd" ;; "\f4\80\80\fd" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 5-byte sequences - -;; 5-byte sequence contains 6 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\10" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\06\f8\80\80\80\80\80" ;; "\f8\80\80\80\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 4 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f8\80\80\80" ;; "\f8\80\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 4 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0f" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\05\f8\80\80\80\23" ;; "\f8\80\80\80#" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 3 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\f8\80\80" ;; "\f8\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 3 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\f8\80\80\23" ;; "\f8\80\80#" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 2 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\f8\80" ;; "\f8\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 2 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\f8\80\23" ;; "\f8\80#" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\f8" ;; "\f8" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 5-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\f8\23" ;; "\f8#" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 5-byte sequence contents - -;; (first) invalid 5-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0f" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\05\f8\80\80\80\80" ;; "\f8\80\80\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; (last) invalid 5-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0f" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\05\fb\bf\bf\bf\bf" ;; "\fb\bf\bf\bf\bf" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 6-byte sequences - -;; 6-byte sequence contains 7 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\11" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\07\fc\80\80\80\80\80\80" ;; "\fc\80\80\80\80\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 5 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0f" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\05\fc\80\80\80\80" ;; "\fc\80\80\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 5 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\10" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\06\fc\80\80\80\80\23" ;; "\fc\80\80\80\80#" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 4 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\fc\80\80\80" ;; "\fc\80\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 4 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0f" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\05\fc\80\80\80\23" ;; "\fc\80\80\80#" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 3 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\fc\80\80" ;; "\fc\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 3 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\fc\80\80\23" ;; "\fc\80\80#" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 2 bytes at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\fc\80" ;; "\fc\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 2 bytes -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0d" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\03\fc\80\23" ;; "\fc\80#" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 1 byte at end of string -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\fc" ;; "\fc" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; 6-byte sequence contains 1 byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\fc\23" ;; "\fc#" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; 6-byte sequence contents - -;; (first) invalid 6-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\10" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\06\fc\80\80\80\80\80" ;; "\fc\80\80\80\80\80" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; (last) invalid 6-byte prefix -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\10" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\06\fd\bf\bf\bf\bf\bf" ;; "\fd\bf\bf\bf\bf\bf" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;;;; Miscellaneous invalid bytes - -;; invalid byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\fe" ;; "\fe" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; invalid byte -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0b" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\01\ff" ;; "\ff" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; UTF-16BE BOM -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\fe\ff" ;; "\fe\ff" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; UTF-32BE BOM -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\00\00\fe\ff" ;; "\00\00\fe\ff" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; UTF-16LE BOM -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0c" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\02\ff\fe" ;; "\ff\fe" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - -;; UTF-32LE BOM -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\02\0e" ;; import section - "\01" ;; length 1 - "\04\74\65\73\74" ;; "test" - "\04\ff\fe\00\00" ;; "\ff\fe\00\00" - "\03" ;; GlobalImport - "\7f" ;; i32 - "\00" ;; immutable - ) - "invalid UTF-8 encoding" -) - diff --git a/test/spec/utf8-invalid-encoding.wast b/test/spec/utf8-invalid-encoding.wast deleted file mode 100644 index 3b3573098..000000000 --- a/test/spec/utf8-invalid-encoding.wast +++ /dev/null @@ -1,176 +0,0 @@ -(assert_malformed (module quote "(func (export \"\\00\\00\\fe\\ff\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\8f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\90\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\9f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\a0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\bf\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\c0\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\c0\\bf\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\c1\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\c1\\bf\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\c2\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\c2\\2e\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\c2\\7f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\c2\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\c2\\c0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\c2\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\c2\\fd\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\df\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\df\\7f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\df\\c0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\df\\fd\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e0\\00\\a0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e0\\7f\\a0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e0\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e0\\80\\a0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e0\\9f\\a0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e0\\9f\\bf\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e0\\a0\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e0\\a0\\7f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e0\\a0\\c0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e0\\a0\\fd\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e0\\c0\\a0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e0\\fd\\a0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\\00\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\\2e\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\\7f\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\\80\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\\80\\2e\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\\80\\7f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\\80\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\\80\\c0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\\80\\fd\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\\c0\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\e1\\fd\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ec\\00\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ec\\7f\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ec\\80\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ec\\80\\7f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ec\\80\\c0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ec\\80\\fd\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ec\\c0\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ec\\fd\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ed\\00\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ed\\7f\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ed\\80\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ed\\80\\7f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ed\\80\\c0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ed\\80\\fd\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ed\\a0\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ed\\a0\\bf\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ed\\bf\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ed\\bf\\bf\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ed\\c0\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ed\\fd\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ee\\00\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ee\\7f\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ee\\80\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ee\\80\\7f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ee\\80\\c0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ee\\80\\fd\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ee\\c0\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ee\\fd\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ef\\00\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ef\\7f\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ef\\80\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ef\\80\\7f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ef\\80\\c0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ef\\80\\fd\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ef\\c0\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ef\\fd\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\00\\90\\90\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\7f\\90\\90\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\80\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\80\\90\\90\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\8f\\90\\90\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\8f\\bf\\bf\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\90\\00\\90\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\90\\7f\\90\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\90\\90\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\90\\90\\7f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\90\\90\\c0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\90\\90\\fd\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\90\\c0\\90\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\90\\fd\\90\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\c0\\90\\90\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f0\\fd\\90\\90\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\00\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\23\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\7f\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\\00\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\\23\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\\7f\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\\80\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\\80\\23\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\\80\\7f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\\80\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\\80\\c0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\\80\\fd\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\\c0\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\80\\fd\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\c0\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f1\\fd\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f3\\00\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f3\\7f\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f3\\80\\00\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f3\\80\\7f\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f3\\80\\80\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f3\\80\\80\\7f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f3\\80\\80\\c0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f3\\80\\80\\fd\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f3\\80\\c0\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f3\\80\\fd\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f3\\c0\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f3\\fd\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\00\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\7f\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\80\\00\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\80\\7f\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\80\\80\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\80\\80\\7f\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\80\\80\\c0\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\80\\80\\fd\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\80\\c0\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\80\\fd\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\90\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\bf\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\c0\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f4\\fd\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f5\\80\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f7\\80\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f7\\bf\\bf\\bf\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f8\\23\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f8\\80\\23\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f8\\80\\80\\23\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f8\\80\\80\\80\\23\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f8\\80\\80\\80\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f8\\80\\80\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f8\\80\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f8\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f8\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\f8\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fb\\bf\\bf\\bf\\bf\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fc\\23\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fc\\80\\23\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fc\\80\\80\\23\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fc\\80\\80\\80\\23\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fc\\80\\80\\80\\80\\23\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fc\\80\\80\\80\\80\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fc\\80\\80\\80\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fc\\80\\80\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fc\\80\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fc\\80\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fc\\80\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fc\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fd\\bf\\bf\\bf\\bf\\bf\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fe\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\fe\\ff\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ff\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ff\\fe\\00\\00\"))") "invalid UTF-8 encoding") -(assert_malformed (module quote "(func (export \"\\ff\\fe\"))") "invalid UTF-8 encoding") |