1 ;; Test the data section
8 (data (i32.const 1) "a" "" "bcd")
9 (data (offset (i32.const 0)))
10 (data (offset (i32.const 0)) "" "a" "bc" "")
11 (data (memory 0) (i32.const 0))
12 (data (memory 0x0) (i32.const 1) "a" "" "bcd")
13 (data (memory 0x000) (offset (i32.const 0)))
14 (data (memory 0) (offset (i32.const 0)) "" "a" "bc" "")
15 (data (memory $m) (i32.const 0))
16 (data (memory $m) (i32.const 1) "a" "" "bcd")
17 (data (memory $m) (offset (i32.const 0)))
18 (data (memory $m) (offset (i32.const 0)) "" "a" "bc" "")
19 (data $d1 (i32.const 0))
20 (data $d2 (i32.const 1) "a" "" "bcd")
21 (data $d3 (offset (i32.const 0)))
22 (data $d4 (offset (i32.const 0)) "" "a" "bc" "")
23 (data $d5 (memory 0) (i32.const 0))
24 (data $d6 (memory 0x0) (i32.const 1) "a" "" "bcd")
25 (data $d7 (memory 0x000) (offset (i32.const 0)))
26 (data $d8 (memory 0) (offset (i32.const 0)) "" "a" "bc" "")
27 (data $d9 (memory $m) (i32.const 0))
28 (data $d10 (memory $m) (i32.const 1) "a" "" "bcd")
29 (data $d11 (memory $m) (offset (i32.const 0)))
30 (data $d12 (memory $m) (offset (i32.const 0)) "" "a" "bc" "")
37 (data (i32.const 0) "a")
40 (import "spectest" "memory" (memory 1))
41 (data (i32.const 0) "a")
46 (data (i32.const 0) "a")
47 (data (i32.const 3) "b")
48 (data (i32.const 100) "cde")
49 (data (i32.const 5) "x")
50 (data (i32.const 3) "c")
53 (import "spectest" "memory" (memory 1))
54 (data (i32.const 0) "a")
55 (data (i32.const 1) "b")
56 (data (i32.const 2) "cde")
57 (data (i32.const 3) "f")
58 (data (i32.const 2) "g")
59 (data (i32.const 1) "h")
63 (global (import "spectest" "global_i32") i32)
65 (data (global.get 0) "a")
68 (global (import "spectest" "global_i32") i32)
69 (import "spectest" "memory" (memory 1))
70 (data (global.get 0) "a")
74 (global $g (import "spectest" "global_i32") i32)
76 (data (global.get $g) "a")
79 (global $g (import "spectest" "global_i32") i32)
80 (import "spectest" "memory" (memory 1))
81 (data (global.get $g) "a")
84 ;; Use of internal globals in constant expressions is not allowed in MVP.
85 ;; (module (memory 1) (data (global.get 0) "a") (global i32 (i32.const 0)))
86 ;; (module (memory 1) (data (global.get $g) "a") (global $g i32 (i32.const 0)))
92 (data (i32.const 0) "a")
93 (data (i32.const 0xffff) "b")
96 (import "spectest" "memory" (memory 1))
97 (data (i32.const 0) "a")
98 (data (i32.const 0xffff) "b")
103 (data (i32.const 0x1_ffff) "a")
111 (import "spectest" "memory" (memory 0))
122 (data (i32.const 0x1_0000) "")
127 (data (i32.const 0) "" "")
130 (import "spectest" "memory" (memory 0))
131 (data (i32.const 0) "" "")
136 (data (i32.const 0) "" "")
140 (import "spectest" "memory" (memory 0))
141 (data (i32.const 0) "a")
145 (import "spectest" "memory" (memory 0 3))
146 (data (i32.const 0) "a")
150 (global (import "spectest" "global_i32") i32)
151 (import "spectest" "memory" (memory 0))
152 (data (global.get 0) "a")
156 (global (import "spectest" "global_i32") i32)
157 (import "spectest" "memory" (memory 0 3))
158 (data (global.get 0) "a")
162 (import "spectest" "memory" (memory 0))
163 (data (i32.const 1) "a")
167 (import "spectest" "memory" (memory 0 3))
168 (data (i32.const 1) "a")
171 ;; Invalid bounds for data
176 (data (i32.const 0) "a")
184 (data (i32.const 0) "a")
192 (data (i32.const 0) "a")
211 ;; This seems to cause a time-out on Travis.
215 (data (i32.const 0xffffffff) "ab")
217 "" ;; either out of memory or out of bounds
222 (global (import "spectest" "global_i32") i32)
224 (data (global.get 0) "a")
232 (data (i32.const 0x1_0000) "a")
238 (import "spectest" "memory" (memory 1))
239 (data (i32.const 0x1_0000) "a")
247 (data (i32.const 0x2_0000) "a")
255 (data (i32.const 0x2_0000) "a")
263 (data (i32.const -1) "a")
269 (import "spectest" "memory" (memory 1))
270 (data (i32.const -1) "a")
278 (data (i32.const -100) "a")
284 (import "spectest" "memory" (memory 1))
285 (data (i32.const -100) "a")
290 ;; Data without memory
294 (data (i32.const 0) "")
312 (data (i32.ctz (i32.const 0)))
314 "constant expression required"
322 "constant expression required"
328 (data (offset (nop) (i32.const 0)))
330 "constant expression required"
336 (data (offset (i32.const 0) (nop)))
338 "constant expression required"
341 ;; Use of internal globals in constant expressions is not allowed in MVP.
343 ;; (module (memory 1) (data (global.get $g)) (global $g (mut i32) (i32.const 0)))
344 ;; "constant expression required"