xref: /wasmtime-44.0.1/tests/disas/multi-17.wat (revision 7e0331c2)
1;;! target = "x86_64"
2
3(module
4  (func $main (type 0) (param i32 i32 i32) (result i32)
5    i32.const 0
6    i32.const 0
7    i32.const 0
8    i32.const 0
9
10    i32.const 0
11    if (param i32 i32 i32) (result i32)  ;; label = @1
12      br 0 (;@1;)
13    else
14      call $main
15    end
16
17    i32.const 0
18
19    i32.const 0
20    if (param i32 i32 i32) (result i32)  ;; label = @1
21      drop
22      drop
23    else
24      drop
25      drop
26    end
27  )
28  (export "main" (func $main)))
29
30;; function u0:0(i64 vmctx, i64, i32, i32, i32) -> i32 tail {
31;;     gv0 = vmctx
32;;     gv1 = load.i64 notrap aligned readonly gv0+8
33;;     gv2 = load.i64 notrap aligned gv1+24
34;;     sig0 = (i64 vmctx, i64, i32, i32, i32) -> i32 tail
35;;     fn0 = colocated u0:0 sig0
36;;     stack_limit = gv2
37;;
38;;                                 block0(v0: i64, v1: i64, v2: i32, v3: i32, v4: i32):
39;; @0025                               v6 = iconst.i32 0
40;; @0027                               v7 = iconst.i32 0
41;; @0029                               v8 = iconst.i32 0
42;; @002b                               v9 = iconst.i32 0
43;; @002d                               v10 = iconst.i32 0
44;; @002f                               brif v10, block2, block4  ; v10 = 0
45;;
46;;                                 block2:
47;; @0031                               jump block3(v9)  ; v9 = 0
48;;
49;;                                 block4:
50;; @0034                               v15 = call fn0(v0, v0, v7, v8, v9)  ; v7 = 0, v8 = 0, v9 = 0
51;; @0036                               jump block3(v15)
52;;
53;;                                 block3(v11: i32):
54;; @0037                               v16 = iconst.i32 0
55;; @0039                               v17 = iconst.i32 0
56;; @003b                               brif v17, block5, block7(v11)  ; v17 = 0
57;;
58;;                                 block5:
59;; @003f                               jump block6
60;;
61;;                                 block7(v20: i32):
62;; @0042                               jump block6
63;;
64;;                                 block6:
65;; @0043                               jump block1
66;;
67;;                                 block1:
68;; @0043                               return v6  ; v6 = 0
69;; }
70