summaryrefslogtreecommitdiff
path: root/test/lit/basic
diff options
context:
space:
mode:
Diffstat (limited to 'test/lit/basic')
-rw-r--r--test/lit/basic/subtypes.wast58
-rw-r--r--test/lit/basic/types-function-references.wast96
2 files changed, 77 insertions, 77 deletions
diff --git a/test/lit/basic/subtypes.wast b/test/lit/basic/subtypes.wast
index d283ebefa..24ab1b193 100644
--- a/test/lit/basic/subtypes.wast
+++ b/test/lit/basic/subtypes.wast
@@ -28,15 +28,11 @@
;; CHECK-TEXT: (type $struct-i31 (sub $struct-any (struct (field (ref i31)))))
- ;; CHECK-TEXT: (type $5 (func (param (ref $vector-i32) (ref null $vector-i32))))
-
;; CHECK-TEXT: (type $vector-any (sub (array (ref any))))
;; CHECK-BIN: (type $struct-any (sub (struct (field (ref any)))))
;; CHECK-BIN: (type $struct-i31 (sub $struct-any (struct (field (ref i31)))))
- ;; CHECK-BIN: (type $5 (func (param (ref $vector-i32) (ref null $vector-i32))))
-
;; CHECK-BIN: (type $vector-any (sub (array (ref any))))
(type $vector-any (sub (array (ref any))))
;; CHECK-TEXT: (type $vector-i31 (sub $vector-any (array (ref i31))))
@@ -50,15 +46,7 @@
(type $struct-i31 (sub $struct-any (struct
(field (ref i31))
)))
- ;; CHECK-TEXT: (type $8 (func (param (ref $vector-i31) (ref $vector-any))))
-
- ;; CHECK-TEXT: (type $9 (func (param (ref $struct-i31) (ref $struct-any))))
-
;; CHECK-TEXT: (type $struct-i31_any (sub $struct-i31 (struct (field (ref i31)) (field (ref any)))))
- ;; CHECK-BIN: (type $8 (func (param (ref $vector-i31) (ref $vector-any))))
-
- ;; CHECK-BIN: (type $9 (func (param (ref $struct-i31) (ref $struct-any))))
-
;; CHECK-BIN: (type $struct-i31_any (sub $struct-i31 (struct (field (ref i31)) (field (ref any)))))
(type $struct-i31_any (sub $struct-i31(struct
(field (ref i31))
@@ -74,20 +62,32 @@
(field (ref $struct-rec-two))
)))
+ ;; CHECK-TEXT: (type $8 (func (param (ref $vector-i32) (ref null $vector-i32))))
+
+ ;; CHECK-TEXT: (type $9 (func (param (ref $vector-i31) (ref $vector-any))))
+
+ ;; CHECK-TEXT: (type $10 (func (param (ref $struct-i31) (ref $struct-any))))
+
;; CHECK-TEXT: (type $11 (func (param (ref $struct-i31) (ref $struct-i31_any))))
;; CHECK-TEXT: (type $12 (func (param (ref $struct-rec-one) (ref $struct-rec-two))))
- ;; CHECK-TEXT: (func $foo (type $5) (param $no-null (ref $vector-i32)) (param $yes-null (ref null $vector-i32))
+ ;; CHECK-TEXT: (func $foo (type $8) (param $no-null (ref $vector-i32)) (param $yes-null (ref null $vector-i32))
;; CHECK-TEXT-NEXT: (local.set $yes-null
;; CHECK-TEXT-NEXT: (local.get $no-null)
;; CHECK-TEXT-NEXT: )
;; CHECK-TEXT-NEXT: )
+ ;; CHECK-BIN: (type $8 (func (param (ref $vector-i32) (ref null $vector-i32))))
+
+ ;; CHECK-BIN: (type $9 (func (param (ref $vector-i31) (ref $vector-any))))
+
+ ;; CHECK-BIN: (type $10 (func (param (ref $struct-i31) (ref $struct-any))))
+
;; CHECK-BIN: (type $11 (func (param (ref $struct-i31) (ref $struct-i31_any))))
;; CHECK-BIN: (type $12 (func (param (ref $struct-rec-one) (ref $struct-rec-two))))
- ;; CHECK-BIN: (func $foo (type $5) (param $no-null (ref $vector-i32)) (param $yes-null (ref null $vector-i32))
+ ;; CHECK-BIN: (func $foo (type $8) (param $no-null (ref $vector-i32)) (param $yes-null (ref null $vector-i32))
;; CHECK-BIN-NEXT: (local.set $yes-null
;; CHECK-BIN-NEXT: (local.get $no-null)
;; CHECK-BIN-NEXT: )
@@ -98,12 +98,12 @@
(local.set $yes-null (local.get $no-null))
)
- ;; CHECK-TEXT: (func $bar (type $8) (param $v-i31 (ref $vector-i31)) (param $v-any (ref $vector-any))
+ ;; CHECK-TEXT: (func $bar (type $9) (param $v-i31 (ref $vector-i31)) (param $v-any (ref $vector-any))
;; CHECK-TEXT-NEXT: (local.set $v-any
;; CHECK-TEXT-NEXT: (local.get $v-i31)
;; CHECK-TEXT-NEXT: )
;; CHECK-TEXT-NEXT: )
- ;; CHECK-BIN: (func $bar (type $8) (param $v-i31 (ref $vector-i31)) (param $v-any (ref $vector-any))
+ ;; CHECK-BIN: (func $bar (type $9) (param $v-i31 (ref $vector-i31)) (param $v-any (ref $vector-any))
;; CHECK-BIN-NEXT: (local.set $v-any
;; CHECK-BIN-NEXT: (local.get $v-i31)
;; CHECK-BIN-NEXT: )
@@ -114,12 +114,12 @@
(local.set $v-any (local.get $v-i31))
)
- ;; CHECK-TEXT: (func $baz (type $9) (param $s-i31 (ref $struct-i31)) (param $s-any (ref $struct-any))
+ ;; CHECK-TEXT: (func $baz (type $10) (param $s-i31 (ref $struct-i31)) (param $s-any (ref $struct-any))
;; CHECK-TEXT-NEXT: (local.set $s-any
;; CHECK-TEXT-NEXT: (local.get $s-i31)
;; CHECK-TEXT-NEXT: )
;; CHECK-TEXT-NEXT: )
- ;; CHECK-BIN: (func $baz (type $9) (param $s-i31 (ref $struct-i31)) (param $s-any (ref $struct-any))
+ ;; CHECK-BIN: (func $baz (type $10) (param $s-i31 (ref $struct-i31)) (param $s-any (ref $struct-any))
;; CHECK-BIN-NEXT: (local.set $s-any
;; CHECK-BIN-NEXT: (local.get $s-i31)
;; CHECK-BIN-NEXT: )
@@ -172,41 +172,41 @@
;; CHECK-BIN-NODEBUG: (type $4 (sub $3 (struct (field (ref i31)))))
-;; CHECK-BIN-NODEBUG: (type $5 (func (param (ref $2) (ref null $2))))
+;; CHECK-BIN-NODEBUG: (type $5 (sub (array (ref any))))
-;; CHECK-BIN-NODEBUG: (type $6 (sub (array (ref any))))
+;; CHECK-BIN-NODEBUG: (type $6 (sub $5 (array (ref i31))))
-;; CHECK-BIN-NODEBUG: (type $7 (sub $6 (array (ref i31))))
+;; CHECK-BIN-NODEBUG: (type $7 (sub $4 (struct (field (ref i31)) (field (ref any)))))
-;; CHECK-BIN-NODEBUG: (type $8 (func (param (ref $7) (ref $6))))
+;; CHECK-BIN-NODEBUG: (type $8 (func (param (ref $2) (ref null $2))))
-;; CHECK-BIN-NODEBUG: (type $9 (func (param (ref $4) (ref $3))))
+;; CHECK-BIN-NODEBUG: (type $9 (func (param (ref $6) (ref $5))))
-;; CHECK-BIN-NODEBUG: (type $10 (sub $4 (struct (field (ref i31)) (field (ref any)))))
+;; CHECK-BIN-NODEBUG: (type $10 (func (param (ref $4) (ref $3))))
-;; CHECK-BIN-NODEBUG: (type $11 (func (param (ref $4) (ref $10))))
+;; CHECK-BIN-NODEBUG: (type $11 (func (param (ref $4) (ref $7))))
;; CHECK-BIN-NODEBUG: (type $12 (func (param (ref $0) (ref $1))))
-;; CHECK-BIN-NODEBUG: (func $0 (type $5) (param $0 (ref $2)) (param $1 (ref null $2))
+;; CHECK-BIN-NODEBUG: (func $0 (type $8) (param $0 (ref $2)) (param $1 (ref null $2))
;; CHECK-BIN-NODEBUG-NEXT: (local.set $1
;; CHECK-BIN-NODEBUG-NEXT: (local.get $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $1 (type $8) (param $0 (ref $7)) (param $1 (ref $6))
+;; CHECK-BIN-NODEBUG: (func $1 (type $9) (param $0 (ref $6)) (param $1 (ref $5))
;; CHECK-BIN-NODEBUG-NEXT: (local.set $1
;; CHECK-BIN-NODEBUG-NEXT: (local.get $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $2 (type $9) (param $0 (ref $4)) (param $1 (ref $3))
+;; CHECK-BIN-NODEBUG: (func $2 (type $10) (param $0 (ref $4)) (param $1 (ref $3))
;; CHECK-BIN-NODEBUG-NEXT: (local.set $1
;; CHECK-BIN-NODEBUG-NEXT: (local.get $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $3 (type $11) (param $0 (ref $4)) (param $1 (ref $10))
+;; CHECK-BIN-NODEBUG: (func $3 (type $11) (param $0 (ref $4)) (param $1 (ref $7))
;; CHECK-BIN-NODEBUG-NEXT: (local.set $0
;; CHECK-BIN-NODEBUG-NEXT: (local.get $1)
;; CHECK-BIN-NODEBUG-NEXT: )
diff --git a/test/lit/basic/types-function-references.wast b/test/lit/basic/types-function-references.wast
index b85e1f422..792536cfe 100644
--- a/test/lit/basic/types-function-references.wast
+++ b/test/lit/basic/types-function-references.wast
@@ -10,39 +10,39 @@
;; RUN: cat %t.bin.nodebug.wast | filecheck %s --check-prefix=CHECK-BIN-NODEBUG
(module
+ ;; CHECK-TEXT: (type $mixed_results (func (result anyref f32 anyref f32)))
+
+ ;; CHECK-TEXT: (type $i32-i32 (func (param i32) (result i32)))
+
;; CHECK-TEXT: (type $void (func))
;; CHECK-BIN: (type $mixed_results (func (result anyref f32 anyref f32)))
+ ;; CHECK-BIN: (type $i32-i32 (func (param i32) (result i32)))
+
;; CHECK-BIN: (type $void (func))
(type $void (func))
;; inline ref type in result
- ;; CHECK-TEXT: (type $i32-i32 (func (param i32) (result i32)))
-
- ;; CHECK-TEXT: (type $mixed_results (func (result anyref f32 anyref f32)))
-
;; CHECK-TEXT: (type $3 (func (result i32 (ref null $mixed_results) f64)))
- ;; CHECK-TEXT: (type $4 (func (param (ref $i32-i32)) (result i32)))
-
- ;; CHECK-TEXT: (type $5 (func (param (ref null $i32-i32)) (result i32)))
-
- ;; CHECK-TEXT: (type $6 (func (result i32)))
-
;; CHECK-TEXT: (type $_=>_eqref (func (result eqref)))
- ;; CHECK-BIN: (type $i32-i32 (func (param i32) (result i32)))
-
;; CHECK-BIN: (type $3 (func (result i32 (ref null $mixed_results) f64)))
- ;; CHECK-BIN: (type $4 (func (param (ref $i32-i32)) (result i32)))
+ ;; CHECK-BIN: (type $_=>_eqref (func (result eqref)))
+ (type $_=>_eqref (func (result eqref)))
- ;; CHECK-BIN: (type $5 (func (param (ref null $i32-i32)) (result i32)))
+ ;; CHECK-TEXT: (type $5 (func (param (ref $i32-i32)) (result i32)))
- ;; CHECK-BIN: (type $6 (func (result i32)))
+ ;; CHECK-TEXT: (type $6 (func (param (ref null $i32-i32)) (result i32)))
- ;; CHECK-BIN: (type $_=>_eqref (func (result eqref)))
- (type $_=>_eqref (func (result eqref)))
+ ;; CHECK-TEXT: (type $7 (func (result i32)))
;; CHECK-TEXT: (type $f64_=>_ref_null<_->_eqref> (func (param f64) (result (ref null $_=>_eqref))))
+ ;; CHECK-BIN: (type $5 (func (param (ref $i32-i32)) (result i32)))
+
+ ;; CHECK-BIN: (type $6 (func (param (ref null $i32-i32)) (result i32)))
+
+ ;; CHECK-BIN: (type $7 (func (result i32)))
+
;; CHECK-BIN: (type $f64_=>_ref_null<_->_eqref> (func (param f64) (result (ref null $_=>_eqref))))
(type $f64_=>_ref_null<_->_eqref> (func (param f64) (result (ref null $_=>_eqref))))
(type $=>eqref (func (result eqref)))
@@ -104,13 +104,13 @@
(call_ref $i32-i32 (i32.const 42) (ref.func $call-ref-more))
)
- ;; CHECK-TEXT: (func $call_from-param (type $4) (param $f (ref $i32-i32)) (result i32)
+ ;; CHECK-TEXT: (func $call_from-param (type $5) (param $f (ref $i32-i32)) (result i32)
;; CHECK-TEXT-NEXT: (call_ref $i32-i32
;; CHECK-TEXT-NEXT: (i32.const 42)
;; CHECK-TEXT-NEXT: (local.get $f)
;; CHECK-TEXT-NEXT: )
;; CHECK-TEXT-NEXT: )
- ;; CHECK-BIN: (func $call_from-param (type $4) (param $f (ref $i32-i32)) (result i32)
+ ;; CHECK-BIN: (func $call_from-param (type $5) (param $f (ref $i32-i32)) (result i32)
;; CHECK-BIN-NEXT: (call_ref $i32-i32
;; CHECK-BIN-NEXT: (i32.const 42)
;; CHECK-BIN-NEXT: (local.get $f)
@@ -120,13 +120,13 @@
(call_ref $i32-i32 (i32.const 42) (local.get $f))
)
- ;; CHECK-TEXT: (func $call_from-param-null (type $5) (param $f (ref null $i32-i32)) (result i32)
+ ;; CHECK-TEXT: (func $call_from-param-null (type $6) (param $f (ref null $i32-i32)) (result i32)
;; CHECK-TEXT-NEXT: (call_ref $i32-i32
;; CHECK-TEXT-NEXT: (i32.const 42)
;; CHECK-TEXT-NEXT: (local.get $f)
;; CHECK-TEXT-NEXT: )
;; CHECK-TEXT-NEXT: )
- ;; CHECK-BIN: (func $call_from-param-null (type $5) (param $f (ref null $i32-i32)) (result i32)
+ ;; CHECK-BIN: (func $call_from-param-null (type $6) (param $f (ref null $i32-i32)) (result i32)
;; CHECK-BIN-NEXT: (call_ref $i32-i32
;; CHECK-BIN-NEXT: (i32.const 42)
;; CHECK-BIN-NEXT: (local.get $f)
@@ -136,7 +136,7 @@
(call_ref $i32-i32 (i32.const 42) (local.get $f))
)
- ;; CHECK-TEXT: (func $call_from-local-null (type $6) (result i32)
+ ;; CHECK-TEXT: (func $call_from-local-null (type $7) (result i32)
;; CHECK-TEXT-NEXT: (local $f (ref null $i32-i32))
;; CHECK-TEXT-NEXT: (local.set $f
;; CHECK-TEXT-NEXT: (ref.func $call-ref-more)
@@ -146,7 +146,7 @@
;; CHECK-TEXT-NEXT: (local.get $f)
;; CHECK-TEXT-NEXT: )
;; CHECK-TEXT-NEXT: )
- ;; CHECK-BIN: (func $call_from-local-null (type $6) (result i32)
+ ;; CHECK-BIN: (func $call_from-local-null (type $7) (result i32)
;; CHECK-BIN-NEXT: (local $f (ref null $i32-i32))
;; CHECK-BIN-NEXT: (local.set $f
;; CHECK-BIN-NEXT: (ref.func $call-ref-more)
@@ -354,21 +354,21 @@
)
;; CHECK-BIN-NODEBUG: (type $0 (func (result anyref f32 anyref f32)))
-;; CHECK-BIN-NODEBUG: (type $1 (func))
+;; CHECK-BIN-NODEBUG: (type $1 (func (param i32) (result i32)))
-;; CHECK-BIN-NODEBUG: (type $2 (func (param i32) (result i32)))
+;; CHECK-BIN-NODEBUG: (type $2 (func))
;; CHECK-BIN-NODEBUG: (type $3 (func (result i32 (ref null $0) f64)))
-;; CHECK-BIN-NODEBUG: (type $4 (func (param (ref $2)) (result i32)))
+;; CHECK-BIN-NODEBUG: (type $4 (func (result eqref)))
-;; CHECK-BIN-NODEBUG: (type $5 (func (param (ref null $2)) (result i32)))
+;; CHECK-BIN-NODEBUG: (type $5 (func (param (ref $1)) (result i32)))
-;; CHECK-BIN-NODEBUG: (type $6 (func (result i32)))
+;; CHECK-BIN-NODEBUG: (type $6 (func (param (ref null $1)) (result i32)))
-;; CHECK-BIN-NODEBUG: (type $7 (func (result eqref)))
+;; CHECK-BIN-NODEBUG: (type $7 (func (result i32)))
-;; CHECK-BIN-NODEBUG: (type $8 (func (param f64) (result (ref null $7))))
+;; CHECK-BIN-NODEBUG: (type $8 (func (param f64) (result (ref null $4))))
;; CHECK-BIN-NODEBUG: (type $9 (func (result anyref)))
@@ -376,62 +376,62 @@
;; CHECK-BIN-NODEBUG: (elem declare func $0 $2)
-;; CHECK-BIN-NODEBUG: (func $0 (type $1)
-;; CHECK-BIN-NODEBUG-NEXT: (call_ref $1
+;; CHECK-BIN-NODEBUG: (func $0 (type $2)
+;; CHECK-BIN-NODEBUG-NEXT: (call_ref $2
;; CHECK-BIN-NODEBUG-NEXT: (ref.func $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $1 (type $1)
-;; CHECK-BIN-NODEBUG-NEXT: (return_call_ref $1
+;; CHECK-BIN-NODEBUG: (func $1 (type $2)
+;; CHECK-BIN-NODEBUG-NEXT: (return_call_ref $2
;; CHECK-BIN-NODEBUG-NEXT: (ref.func $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $2 (type $2) (param $0 i32) (result i32)
-;; CHECK-BIN-NODEBUG-NEXT: (call_ref $2
+;; CHECK-BIN-NODEBUG: (func $2 (type $1) (param $0 i32) (result i32)
+;; CHECK-BIN-NODEBUG-NEXT: (call_ref $1
;; CHECK-BIN-NODEBUG-NEXT: (i32.const 42)
;; CHECK-BIN-NODEBUG-NEXT: (ref.func $2)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $3 (type $4) (param $0 (ref $2)) (result i32)
-;; CHECK-BIN-NODEBUG-NEXT: (call_ref $2
+;; CHECK-BIN-NODEBUG: (func $3 (type $5) (param $0 (ref $1)) (result i32)
+;; CHECK-BIN-NODEBUG-NEXT: (call_ref $1
;; CHECK-BIN-NODEBUG-NEXT: (i32.const 42)
;; CHECK-BIN-NODEBUG-NEXT: (local.get $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $4 (type $5) (param $0 (ref null $2)) (result i32)
-;; CHECK-BIN-NODEBUG-NEXT: (call_ref $2
+;; CHECK-BIN-NODEBUG: (func $4 (type $6) (param $0 (ref null $1)) (result i32)
+;; CHECK-BIN-NODEBUG-NEXT: (call_ref $1
;; CHECK-BIN-NODEBUG-NEXT: (i32.const 42)
;; CHECK-BIN-NODEBUG-NEXT: (local.get $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $5 (type $6) (result i32)
-;; CHECK-BIN-NODEBUG-NEXT: (local $0 (ref null $2))
+;; CHECK-BIN-NODEBUG: (func $5 (type $7) (result i32)
+;; CHECK-BIN-NODEBUG-NEXT: (local $0 (ref null $1))
;; CHECK-BIN-NODEBUG-NEXT: (local.set $0
;; CHECK-BIN-NODEBUG-NEXT: (ref.func $2)
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG-NEXT: (call_ref $2
+;; CHECK-BIN-NODEBUG-NEXT: (call_ref $1
;; CHECK-BIN-NODEBUG-NEXT: (i32.const 42)
;; CHECK-BIN-NODEBUG-NEXT: (local.get $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $6 (type $8) (param $0 f64) (result (ref null $7))
+;; CHECK-BIN-NODEBUG: (func $6 (type $8) (param $0 f64) (result (ref null $4))
;; CHECK-BIN-NODEBUG-NEXT: (ref.null nofunc)
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $7 (type $1)
+;; CHECK-BIN-NODEBUG: (func $7 (type $2)
;; CHECK-BIN-NODEBUG-NEXT: (local $0 i32)
;; CHECK-BIN-NODEBUG-NEXT: (local $1 f64)
;; CHECK-BIN-NODEBUG-NEXT: (local $2 (ref null $9))
;; CHECK-BIN-NODEBUG-NEXT: (nop)
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $8 (type $1)
+;; CHECK-BIN-NODEBUG: (func $8 (type $2)
;; CHECK-BIN-NODEBUG-NEXT: (local $0 (tuple i32 (ref null $0) f64))
;; CHECK-BIN-NODEBUG-NEXT: (local $1 (ref null $0))
;; CHECK-BIN-NODEBUG-NEXT: (local $2 i32)
@@ -467,7 +467,7 @@
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $9 (type $1)
+;; CHECK-BIN-NODEBUG: (func $9 (type $2)
;; CHECK-BIN-NODEBUG-NEXT: (local $0 (ref null $0))
;; CHECK-BIN-NODEBUG-NEXT: (local $1 (ref null $0))
;; CHECK-BIN-NODEBUG-NEXT: (local $2 anyref)
@@ -480,7 +480,7 @@
;; CHECK-BIN-NODEBUG-NEXT: (nop)
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $10 (type $1)
+;; CHECK-BIN-NODEBUG: (func $10 (type $2)
;; CHECK-BIN-NODEBUG-NEXT: (local $0 i32)
;; CHECK-BIN-NODEBUG-NEXT: (local $1 i64)
;; CHECK-BIN-NODEBUG-NEXT: (local $2 i64)