Skip to content

Commit 6355dfe

Browse files
committed
extend fuse-cmp.wast
Signed-off-by: Robin Freyler <[email protected]>
1 parent 03315df commit 6355dfe

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

tests/fuse-cmp.wast

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,3 +249,77 @@
249249
(invoke "invalid.fuse.f64.nan" (f64.const -nan:0xfffffffffffff))
250250
(i32.const 1)
251251
)
252+
253+
;; Double Negate
254+
255+
(module
256+
(func (export "base.double.negation") (param i32) (result i32)
257+
(local.get 0)
258+
(i32.eqz)
259+
(i32.eqz)
260+
)
261+
)
262+
(assert_return
263+
(invoke "base.double.negation" (i32.const 0))
264+
(i32.const 0)
265+
)
266+
(assert_return
267+
(invoke "base.double.negation" (i32.const 1))
268+
(i32.const 1)
269+
)
270+
271+
;; Double Negate: i32.lt_s
272+
273+
(module
274+
(func (export "i32.slt.double.negation") (param i32 i32) (result i32)
275+
(local.get 0)
276+
(local.get 1)
277+
(i32.lt_s)
278+
(i32.eqz)
279+
(i32.eqz)
280+
)
281+
)
282+
(assert_return
283+
(invoke "i32.slt.double.negation" (i32.const 0) (i32.const 0))
284+
(i32.const 0)
285+
)
286+
(assert_return
287+
(invoke "i32.slt.double.negation" (i32.const 0) (i32.const 1))
288+
(i32.const 1)
289+
)
290+
(assert_return
291+
(invoke "i32.slt.double.negation" (i32.const 1) (i32.const 0))
292+
(i32.const 0)
293+
)
294+
(assert_return
295+
(invoke "i32.slt.double.negation" (i32.const 1) (i32.const 1))
296+
(i32.const 0)
297+
)
298+
299+
;; Double Negate: i32.le_s
300+
301+
(module
302+
(func (export "i32.sle.double.negation") (param i32 i32) (result i32)
303+
(local.get 0)
304+
(local.get 1)
305+
(i32.le_s)
306+
(i32.eqz)
307+
(i32.eqz)
308+
)
309+
)
310+
(assert_return
311+
(invoke "i32.sle.double.negation" (i32.const 0) (i32.const 0))
312+
(i32.const 1)
313+
)
314+
(assert_return
315+
(invoke "i32.sle.double.negation" (i32.const 0) (i32.const 1))
316+
(i32.const 1)
317+
)
318+
(assert_return
319+
(invoke "i32.sle.double.negation" (i32.const 1) (i32.const 0))
320+
(i32.const 0)
321+
)
322+
(assert_return
323+
(invoke "i32.sle.double.negation" (i32.const 1) (i32.const 1))
324+
(i32.const 1)
325+
)

0 commit comments

Comments
 (0)