|
14 | 14 |
|
15 | 15 | (import "env" "imported-v128-param-noresult" (func $imported-v128-param-noresult (param v128)))
|
16 | 16 |
|
| 17 | + ;; The results here include a nullable value, which we will emit a null for. |
| 18 | + (import "env" "imported-v128-defaultable" (func $imported-v128-defaultable (result v128 anyref))) |
| 19 | + |
| 20 | + ;; The results here include a non-nullable value, which will force us to emit |
| 21 | + ;; an unreachable. |
| 22 | + (import "env" "imported-v128-nondefaultable" (func $imported-v128-nondefaultable (result v128 (ref any)))) |
| 23 | + |
17 | 24 | ;; CHECK: (type $0 (func (result v128)))
|
18 | 25 |
|
19 | 26 | ;; CHECK: (type $1 (func (result i32 f64)))
|
|
22 | 29 |
|
23 | 30 | ;; CHECK: (type $3 (func (param v128)))
|
24 | 31 |
|
25 |
| - ;; CHECK: (type $4 (func)) |
| 32 | + ;; CHECK: (type $4 (func (result v128 anyref))) |
| 33 | + |
| 34 | + ;; CHECK: (type $5 (func (result v128 (ref any)))) |
26 | 35 |
|
27 |
| - ;; CHECK: (type $5 (func (result i32))) |
| 36 | + ;; CHECK: (type $6 (func)) |
28 | 37 |
|
29 |
| - ;; CHECK: (type $6 (func (param i32 f64) (result i64))) |
| 38 | + ;; CHECK: (type $7 (func (result i32))) |
30 | 39 |
|
31 |
| - ;; CHECK: (type $7 (func (param i32 f64) (result i32))) |
| 40 | + ;; CHECK: (type $8 (func (param i32 f64) (result i64))) |
32 | 41 |
|
33 |
| - ;; CHECK: (import "env" "getTempRet0" (func $getTempRet0 (type $5) (result i32))) |
| 42 | + ;; CHECK: (type $9 (func (param i32 f64) (result i32))) |
34 | 43 |
|
35 |
| - ;; CHECK: (import "env" "imported-64" (func $legalimport$imported-64 (type $7) (param i32 f64) (result i32))) |
| 44 | + ;; CHECK: (import "env" "getTempRet0" (func $getTempRet0 (type $7) (result i32))) |
| 45 | + |
| 46 | + ;; CHECK: (import "env" "imported-64" (func $legalimport$imported-64 (type $9) (param i32 f64) (result i32))) |
36 | 47 |
|
37 | 48 | ;; CHECK: (func $imported-v128 (type $0) (result v128)
|
38 | 49 | ;; CHECK-NEXT: (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
|
|
53 | 64 | ;; CHECK-NEXT: (nop)
|
54 | 65 | ;; CHECK-NEXT: )
|
55 | 66 |
|
56 |
| - ;; CHECK: (func $call-64 (type $4) |
| 67 | + ;; CHECK: (func $imported-v128-defaultable (type $4) (result v128 anyref) |
| 68 | + ;; CHECK-NEXT: (tuple.make 2 |
| 69 | + ;; CHECK-NEXT: (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000) |
| 70 | + ;; CHECK-NEXT: (ref.null none) |
| 71 | + ;; CHECK-NEXT: ) |
| 72 | + ;; CHECK-NEXT: ) |
| 73 | + |
| 74 | + ;; CHECK: (func $imported-v128-nondefaultable (type $5) (result v128 (ref any)) |
| 75 | + ;; CHECK-NEXT: (unreachable) |
| 76 | + ;; CHECK-NEXT: ) |
| 77 | + |
| 78 | + ;; CHECK: (func $call-64 (type $6) |
57 | 79 | ;; CHECK-NEXT: (drop
|
58 | 80 | ;; CHECK-NEXT: (call $legalfunc$imported-64
|
59 | 81 | ;; CHECK-NEXT: (i32.const 0)
|
|
103 | 125 | )
|
104 | 126 | )
|
105 | 127 |
|
106 |
| -;; CHECK: (func $legalfunc$imported-64 (type $6) (param $0 i32) (param $1 f64) (result i64) |
| 128 | +;; CHECK: (func $legalfunc$imported-64 (type $8) (param $0 i32) (param $1 f64) (result i64) |
107 | 129 | ;; CHECK-NEXT: (i64.or
|
108 | 130 | ;; CHECK-NEXT: (i64.extend_i32_u
|
109 | 131 | ;; CHECK-NEXT: (call $legalimport$imported-64
|
|
0 commit comments