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/labels.wast | |
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/labels.wast')
-rw-r--r-- | test/spec/labels.wast | 328 |
1 files changed, 0 insertions, 328 deletions
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" -) |