xref: /wasmtime-44.0.1/tests/disas/arith.wat (revision 7e0331c2)
1;;! target = "x86_64"
2
3(module
4  (memory 1)
5  (func $main (local i32)
6      (local.set 0 (i32.sub (i32.const 4) (i32.const 4)))
7      (if
8          (local.get 0)
9          (then unreachable)
10          (else (drop (i32.mul (i32.const 6) (local.get 0))))
11       )
12  )
13  (start $main)
14  (data (i32.const 0) "abcdefgh")
15)
16
17;; function u0:0(i64 vmctx, i64) tail {
18;;     gv0 = vmctx
19;;     gv1 = load.i64 notrap aligned readonly gv0+8
20;;     gv2 = load.i64 notrap aligned gv1+24
21;;     stack_limit = gv2
22;;
23;;                                 block0(v0: i64, v1: i64):
24;; @001f                               v2 = iconst.i32 0
25;; @0021                               v3 = iconst.i32 4
26;; @0023                               v4 = iconst.i32 4
27;; @0025                               v5 = isub v3, v4  ; v3 = 4, v4 = 4
28;; @002c                               trapnz v5, user11
29;; @002a                               jump block4
30;;
31;;                                 block4:
32;; @002e                               v6 = iconst.i32 6
33;; @0032                               v7 = imul v6, v5  ; v6 = 6
34;; @0034                               jump block3
35;;
36;;                                 block3:
37;; @0035                               jump block1
38;;
39;;                                 block1:
40;; @0035                               return
41;; }
42