|
5 | 5 | (module |
6 | 6 | ;; CHECK: (type $0 (func (result i32))) |
7 | 7 |
|
8 | | - ;; CHECK: (type $1 (func (result (ref string)))) |
9 | | - |
10 | 8 | ;; CHECK: (type $array16 (array (mut i16))) |
11 | 9 | (type $array16 (array (mut i16))) |
12 | 10 |
|
| 11 | + ;; CHECK: (type $2 (func (result (ref string)))) |
| 12 | + |
13 | 13 | ;; CHECK: (export "get_codepoint-bad" (func $get_codepoint-bad)) |
14 | 14 |
|
15 | 15 | ;; CHECK: (export "slice" (func $slice)) |
16 | 16 |
|
17 | 17 | ;; CHECK: (export "slice-bad" (func $slice-bad)) |
18 | 18 |
|
19 | 19 | ;; CHECK: (func $eq-no (type $0) (result i32) |
20 | | - ;; CHECK-NEXT: (i32.const 0) |
| 20 | + ;; CHECK-NEXT: (string.eq |
| 21 | + ;; CHECK-NEXT: (string.const "ab") |
| 22 | + ;; CHECK-NEXT: (string.const "cdefg") |
| 23 | + ;; CHECK-NEXT: ) |
21 | 24 | ;; CHECK-NEXT: ) |
22 | 25 | (func $eq-no (result i32) |
23 | 26 | (string.eq |
|
27 | 30 | ) |
28 | 31 |
|
29 | 32 | ;; CHECK: (func $eq-yes (type $0) (result i32) |
30 | | - ;; CHECK-NEXT: (i32.const 1) |
| 33 | + ;; CHECK-NEXT: (string.eq |
| 34 | + ;; CHECK-NEXT: (string.const "ab") |
| 35 | + ;; CHECK-NEXT: (string.const "ab") |
| 36 | + ;; CHECK-NEXT: ) |
31 | 37 | ;; CHECK-NEXT: ) |
32 | 38 | (func $eq-yes (result i32) |
33 | 39 | (string.eq |
|
37 | 43 | ) |
38 | 44 |
|
39 | 45 | ;; CHECK: (func $concat (type $0) (result i32) |
40 | | - ;; CHECK-NEXT: (i32.const 1) |
| 46 | + ;; CHECK-NEXT: (string.eq |
| 47 | + ;; CHECK-NEXT: (string.concat |
| 48 | + ;; CHECK-NEXT: (string.const "a") |
| 49 | + ;; CHECK-NEXT: (string.const "b") |
| 50 | + ;; CHECK-NEXT: ) |
| 51 | + ;; CHECK-NEXT: (string.const "ab") |
| 52 | + ;; CHECK-NEXT: ) |
41 | 53 | ;; CHECK-NEXT: ) |
42 | 54 | (func $concat (result i32) |
43 | 55 | (string.eq |
|
63 | 75 | ) |
64 | 76 |
|
65 | 77 | ;; CHECK: (func $length (type $0) (result i32) |
66 | | - ;; CHECK-NEXT: (i32.const 7) |
| 78 | + ;; CHECK-NEXT: (stringview_wtf16.length |
| 79 | + ;; CHECK-NEXT: (string.as_wtf16 |
| 80 | + ;; CHECK-NEXT: (string.const "1234567") |
| 81 | + ;; CHECK-NEXT: ) |
| 82 | + ;; CHECK-NEXT: ) |
67 | 83 | ;; CHECK-NEXT: ) |
68 | 84 | (func $length (result i32) |
69 | 85 | (stringview_wtf16.length |
|
91 | 107 | ) |
92 | 108 |
|
93 | 109 | ;; CHECK: (func $get_codepoint (type $0) (result i32) |
94 | | - ;; CHECK-NEXT: (i32.const 95) |
| 110 | + ;; CHECK-NEXT: (stringview_wtf16.get_codeunit |
| 111 | + ;; CHECK-NEXT: (string.as_wtf16 |
| 112 | + ;; CHECK-NEXT: (string.const "$_\c2\a3_\e2\82\ac_\f0\90\8d\88") |
| 113 | + ;; CHECK-NEXT: ) |
| 114 | + ;; CHECK-NEXT: (i32.const 1) |
| 115 | + ;; CHECK-NEXT: ) |
95 | 116 | ;; CHECK-NEXT: ) |
96 | 117 | (func $get_codepoint (result i32) |
97 | 118 | ;; This is computable because everything up to the requested index is ascii. Returns 95 ('_'). |
|
124 | 145 | ) |
125 | 146 |
|
126 | 147 | ;; CHECK: (func $encode (type $0) (result i32) |
127 | | - ;; CHECK-NEXT: (i32.const 2) |
| 148 | + ;; CHECK-NEXT: (string.encode_wtf16_array |
| 149 | + ;; CHECK-NEXT: (string.const "$_") |
| 150 | + ;; CHECK-NEXT: (array.new_default $array16 |
| 151 | + ;; CHECK-NEXT: (i32.const 20) |
| 152 | + ;; CHECK-NEXT: ) |
| 153 | + ;; CHECK-NEXT: (i32.const 0) |
| 154 | + ;; CHECK-NEXT: ) |
128 | 155 | ;; CHECK-NEXT: ) |
129 | 156 | (func $encode (result i32) |
130 | 157 | (string.encode_wtf16_array |
|
156 | 183 | ) |
157 | 184 | ) |
158 | 185 |
|
159 | | - ;; CHECK: (func $slice (type $1) (result (ref string)) |
160 | | - ;; CHECK-NEXT: (string.const "def") |
| 186 | + ;; CHECK: (func $slice (type $2) (result (ref string)) |
| 187 | + ;; CHECK-NEXT: (stringview_wtf16.slice |
| 188 | + ;; CHECK-NEXT: (string.const "abcdefgh") |
| 189 | + ;; CHECK-NEXT: (i32.const 3) |
| 190 | + ;; CHECK-NEXT: (i32.const 6) |
| 191 | + ;; CHECK-NEXT: ) |
161 | 192 | ;; CHECK-NEXT: ) |
162 | 193 | (func $slice (export "slice") (result (ref string)) |
163 | 194 | ;; Slicing [3:6] here should definitely output "def". |
|
168 | 199 | ) |
169 | 200 | ) |
170 | 201 |
|
171 | | - ;; CHECK: (func $slice-bad (type $1) (result (ref string)) |
| 202 | + ;; CHECK: (func $slice-bad (type $2) (result (ref string)) |
172 | 203 | ;; CHECK-NEXT: (stringview_wtf16.slice |
173 | 204 | ;; CHECK-NEXT: (string.const "abcd\c2\a3fgh") |
174 | 205 | ;; CHECK-NEXT: (i32.const 3) |
|
0 commit comments