Skip to content

Commit 6ffde47

Browse files
committed
Convert memory64 lowering test to lit. NFC
Test was converted using port_passes_tests_to_lit.py.
1 parent 0750bdb commit 6ffde47

File tree

3 files changed

+268
-264
lines changed

3 files changed

+268
-264
lines changed
Lines changed: 268 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,268 @@
1+
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
2+
3+
;; RUN: foreach %s %t wasm-opt --memory64-lowering --enable-memory64 -S -o - | filecheck %s
4+
5+
(module
6+
;; CHECK: (type $0 (func))
7+
8+
;; CHECK: (import "env" "__memory_base" (global $__memory_base i64))
9+
(import "env" "__memory_base" (global $__memory_base i64))
10+
;; CHECK: (import "env" "__memory_base32" (global $__memory_base32 i32))
11+
12+
;; CHECK: (memory $0 1 1)
13+
(memory $0 i64 1 1)
14+
(data (i64.const 0) "\00\00\00\00\00\00\00\00\00\00")
15+
(data (global.get $__memory_base) "foo")
16+
;; CHECK: (data $0 (i32.const 0) "\00\00\00\00\00\00\00\00\00\00")
17+
18+
;; CHECK: (data $1 (global.get $__memory_base32) "foo")
19+
20+
;; CHECK: (func $func_1
21+
;; CHECK-NEXT: (local $0 i64)
22+
;; CHECK-NEXT: (drop
23+
;; CHECK-NEXT: (i32.load
24+
;; CHECK-NEXT: (i32.wrap_i64
25+
;; CHECK-NEXT: (i64.const 4)
26+
;; CHECK-NEXT: )
27+
;; CHECK-NEXT: )
28+
;; CHECK-NEXT: )
29+
;; CHECK-NEXT: (drop
30+
;; CHECK-NEXT: (i32.load align=1
31+
;; CHECK-NEXT: (i32.wrap_i64
32+
;; CHECK-NEXT: (i64.const 4)
33+
;; CHECK-NEXT: )
34+
;; CHECK-NEXT: )
35+
;; CHECK-NEXT: )
36+
;; CHECK-NEXT: (drop
37+
;; CHECK-NEXT: (i32.load align=2
38+
;; CHECK-NEXT: (i32.wrap_i64
39+
;; CHECK-NEXT: (i64.const 4)
40+
;; CHECK-NEXT: )
41+
;; CHECK-NEXT: )
42+
;; CHECK-NEXT: )
43+
;; CHECK-NEXT: (drop
44+
;; CHECK-NEXT: (i32.load
45+
;; CHECK-NEXT: (i32.wrap_i64
46+
;; CHECK-NEXT: (i64.const 4)
47+
;; CHECK-NEXT: )
48+
;; CHECK-NEXT: )
49+
;; CHECK-NEXT: )
50+
;; CHECK-NEXT: (drop
51+
;; CHECK-NEXT: (i32.load offset=100
52+
;; CHECK-NEXT: (i32.wrap_i64
53+
;; CHECK-NEXT: (i64.const 4)
54+
;; CHECK-NEXT: )
55+
;; CHECK-NEXT: )
56+
;; CHECK-NEXT: )
57+
;; CHECK-NEXT: (drop
58+
;; CHECK-NEXT: (i32.load offset=100 align=1
59+
;; CHECK-NEXT: (i32.wrap_i64
60+
;; CHECK-NEXT: (i64.const 4)
61+
;; CHECK-NEXT: )
62+
;; CHECK-NEXT: )
63+
;; CHECK-NEXT: )
64+
;; CHECK-NEXT: (drop
65+
;; CHECK-NEXT: (i32.load offset=100 align=2
66+
;; CHECK-NEXT: (i32.wrap_i64
67+
;; CHECK-NEXT: (i64.const 4)
68+
;; CHECK-NEXT: )
69+
;; CHECK-NEXT: )
70+
;; CHECK-NEXT: )
71+
;; CHECK-NEXT: (drop
72+
;; CHECK-NEXT: (i32.load offset=100
73+
;; CHECK-NEXT: (i32.wrap_i64
74+
;; CHECK-NEXT: (i64.const 4)
75+
;; CHECK-NEXT: )
76+
;; CHECK-NEXT: )
77+
;; CHECK-NEXT: )
78+
;; CHECK-NEXT: (drop
79+
;; CHECK-NEXT: (i32.load offset=100 align=1
80+
;; CHECK-NEXT: (unreachable)
81+
;; CHECK-NEXT: )
82+
;; CHECK-NEXT: )
83+
;; CHECK-NEXT: (i32.store
84+
;; CHECK-NEXT: (i32.wrap_i64
85+
;; CHECK-NEXT: (i64.const 4)
86+
;; CHECK-NEXT: )
87+
;; CHECK-NEXT: (i32.const 8)
88+
;; CHECK-NEXT: )
89+
;; CHECK-NEXT: (i32.store align=1
90+
;; CHECK-NEXT: (i32.wrap_i64
91+
;; CHECK-NEXT: (i64.const 4)
92+
;; CHECK-NEXT: )
93+
;; CHECK-NEXT: (i32.const 8)
94+
;; CHECK-NEXT: )
95+
;; CHECK-NEXT: (i32.store align=2
96+
;; CHECK-NEXT: (i32.wrap_i64
97+
;; CHECK-NEXT: (i64.const 4)
98+
;; CHECK-NEXT: )
99+
;; CHECK-NEXT: (i32.const 8)
100+
;; CHECK-NEXT: )
101+
;; CHECK-NEXT: (i32.store
102+
;; CHECK-NEXT: (i32.wrap_i64
103+
;; CHECK-NEXT: (i64.const 4)
104+
;; CHECK-NEXT: )
105+
;; CHECK-NEXT: (i32.const 8)
106+
;; CHECK-NEXT: )
107+
;; CHECK-NEXT: (i32.store offset=100
108+
;; CHECK-NEXT: (i32.wrap_i64
109+
;; CHECK-NEXT: (i64.const 4)
110+
;; CHECK-NEXT: )
111+
;; CHECK-NEXT: (i32.const 8)
112+
;; CHECK-NEXT: )
113+
;; CHECK-NEXT: (i32.store offset=100 align=1
114+
;; CHECK-NEXT: (i32.wrap_i64
115+
;; CHECK-NEXT: (i64.const 4)
116+
;; CHECK-NEXT: )
117+
;; CHECK-NEXT: (i32.const 8)
118+
;; CHECK-NEXT: )
119+
;; CHECK-NEXT: (i32.store offset=100 align=2
120+
;; CHECK-NEXT: (i32.wrap_i64
121+
;; CHECK-NEXT: (i64.const 4)
122+
;; CHECK-NEXT: )
123+
;; CHECK-NEXT: (i32.const 8)
124+
;; CHECK-NEXT: )
125+
;; CHECK-NEXT: (i32.store offset=100
126+
;; CHECK-NEXT: (i32.wrap_i64
127+
;; CHECK-NEXT: (i64.const 4)
128+
;; CHECK-NEXT: )
129+
;; CHECK-NEXT: (i32.const 8)
130+
;; CHECK-NEXT: )
131+
;; CHECK-NEXT: (i32.store offset=100 align=1
132+
;; CHECK-NEXT: (unreachable)
133+
;; CHECK-NEXT: (i32.const 8)
134+
;; CHECK-NEXT: )
135+
;; CHECK-NEXT: (i32.store offset=100 align=1
136+
;; CHECK-NEXT: (i32.wrap_i64
137+
;; CHECK-NEXT: (i64.const 4)
138+
;; CHECK-NEXT: )
139+
;; CHECK-NEXT: (unreachable)
140+
;; CHECK-NEXT: )
141+
;; CHECK-NEXT: (local.set $0
142+
;; CHECK-NEXT: (i64.extend_i32_u
143+
;; CHECK-NEXT: (memory.size)
144+
;; CHECK-NEXT: )
145+
;; CHECK-NEXT: )
146+
;; CHECK-NEXT: (local.set $0
147+
;; CHECK-NEXT: (i64.extend_i32_u
148+
;; CHECK-NEXT: (memory.grow
149+
;; CHECK-NEXT: (i32.wrap_i64
150+
;; CHECK-NEXT: (i64.const 1)
151+
;; CHECK-NEXT: )
152+
;; CHECK-NEXT: )
153+
;; CHECK-NEXT: )
154+
;; CHECK-NEXT: )
155+
;; CHECK-NEXT: (memory.init $0
156+
;; CHECK-NEXT: (i32.wrap_i64
157+
;; CHECK-NEXT: (i64.const 1)
158+
;; CHECK-NEXT: )
159+
;; CHECK-NEXT: (i32.const 2)
160+
;; CHECK-NEXT: (i32.const 3)
161+
;; CHECK-NEXT: )
162+
;; CHECK-NEXT: (memory.fill
163+
;; CHECK-NEXT: (i32.wrap_i64
164+
;; CHECK-NEXT: (i64.const 1)
165+
;; CHECK-NEXT: )
166+
;; CHECK-NEXT: (i32.const 2)
167+
;; CHECK-NEXT: (i32.wrap_i64
168+
;; CHECK-NEXT: (i64.const 3)
169+
;; CHECK-NEXT: )
170+
;; CHECK-NEXT: )
171+
;; CHECK-NEXT: (memory.copy
172+
;; CHECK-NEXT: (i32.wrap_i64
173+
;; CHECK-NEXT: (i64.const 1)
174+
;; CHECK-NEXT: )
175+
;; CHECK-NEXT: (i32.wrap_i64
176+
;; CHECK-NEXT: (i64.const 2)
177+
;; CHECK-NEXT: )
178+
;; CHECK-NEXT: (i32.wrap_i64
179+
;; CHECK-NEXT: (i64.const 3)
180+
;; CHECK-NEXT: )
181+
;; CHECK-NEXT: )
182+
;; CHECK-NEXT: (drop
183+
;; CHECK-NEXT: (i32.atomic.load
184+
;; CHECK-NEXT: (i32.wrap_i64
185+
;; CHECK-NEXT: (i64.const 4)
186+
;; CHECK-NEXT: )
187+
;; CHECK-NEXT: )
188+
;; CHECK-NEXT: )
189+
;; CHECK-NEXT: (i32.atomic.store
190+
;; CHECK-NEXT: (i32.wrap_i64
191+
;; CHECK-NEXT: (i64.const 4)
192+
;; CHECK-NEXT: )
193+
;; CHECK-NEXT: (i32.const 8)
194+
;; CHECK-NEXT: )
195+
;; CHECK-NEXT: (drop
196+
;; CHECK-NEXT: (i32.atomic.rmw8.add_u
197+
;; CHECK-NEXT: (i32.wrap_i64
198+
;; CHECK-NEXT: (i64.const 1)
199+
;; CHECK-NEXT: )
200+
;; CHECK-NEXT: (i32.const 2)
201+
;; CHECK-NEXT: )
202+
;; CHECK-NEXT: )
203+
;; CHECK-NEXT: (drop
204+
;; CHECK-NEXT: (i32.atomic.rmw8.cmpxchg_u
205+
;; CHECK-NEXT: (i32.wrap_i64
206+
;; CHECK-NEXT: (i64.const 1)
207+
;; CHECK-NEXT: )
208+
;; CHECK-NEXT: (i32.const 2)
209+
;; CHECK-NEXT: (i32.const 3)
210+
;; CHECK-NEXT: )
211+
;; CHECK-NEXT: )
212+
;; CHECK-NEXT: (drop
213+
;; CHECK-NEXT: (memory.atomic.wait32
214+
;; CHECK-NEXT: (i32.wrap_i64
215+
;; CHECK-NEXT: (i64.const 1)
216+
;; CHECK-NEXT: )
217+
;; CHECK-NEXT: (i32.const 2)
218+
;; CHECK-NEXT: (i64.const 3)
219+
;; CHECK-NEXT: )
220+
;; CHECK-NEXT: )
221+
;; CHECK-NEXT: (drop
222+
;; CHECK-NEXT: (memory.atomic.notify
223+
;; CHECK-NEXT: (i32.wrap_i64
224+
;; CHECK-NEXT: (i64.const 1)
225+
;; CHECK-NEXT: )
226+
;; CHECK-NEXT: (i32.const 2)
227+
;; CHECK-NEXT: )
228+
;; CHECK-NEXT: )
229+
;; CHECK-NEXT: )
230+
(func $func_1
231+
(local i64)
232+
(drop (i32.load (i64.const 4)))
233+
(drop (i32.load align=1 (i64.const 4)))
234+
(drop (i32.load align=2 (i64.const 4)))
235+
(drop (i32.load align=4 (i64.const 4)))
236+
(drop (i32.load offset=100 (i64.const 4)))
237+
(drop (i32.load offset=100 align=1 (i64.const 4)))
238+
(drop (i32.load offset=100 align=2 (i64.const 4)))
239+
(drop (i32.load offset=100 align=4 (i64.const 4)))
240+
(drop (i32.load offset=100 align=1 (unreachable)))
241+
(i32.store (i64.const 4) (i32.const 8))
242+
(i32.store align=1 (i64.const 4) (i32.const 8))
243+
(i32.store align=2 (i64.const 4) (i32.const 8))
244+
(i32.store align=4 (i64.const 4) (i32.const 8))
245+
(i32.store offset=100 (i64.const 4) (i32.const 8))
246+
(i32.store offset=100 align=1 (i64.const 4) (i32.const 8))
247+
(i32.store offset=100 align=2 (i64.const 4) (i32.const 8))
248+
(i32.store offset=100 align=4 (i64.const 4) (i32.const 8))
249+
(i32.store offset=100 align=1 (unreachable) (i32.const 8))
250+
(i32.store offset=100 align=1 (i64.const 4) (unreachable))
251+
(local.set 0 (memory.size))
252+
(local.set 0 (memory.grow (i64.const 1)))
253+
(memory.init 0 (i64.const 1) (i32.const 2) (i32.const 3))
254+
(memory.fill (i64.const 1) (i32.const 2) (i64.const 3))
255+
(memory.copy (i64.const 1) (i64.const 2) (i64.const 3))
256+
(drop (i32.atomic.load (i64.const 4)))
257+
(i32.atomic.store (i64.const 4) (i32.const 8))
258+
(drop (i32.atomic.rmw8.add_u (i64.const 1) (i32.const 2)))
259+
(drop (i32.atomic.rmw8.cmpxchg_u (i64.const 1) (i32.const 2) (i32.const 3)))
260+
(drop (memory.atomic.wait32 (i64.const 1) (i32.const 2) (i64.const 3)))
261+
(drop (memory.atomic.notify (i64.const 1) (i32.const 2)))
262+
)
263+
)
264+
265+
(module
266+
;; CHECK: (memory $0 1 65536)
267+
(memory $0 i64 1 65537)
268+
)

0 commit comments

Comments
 (0)