1;;! target = "x86_64"
2
3(module $n
4  (table $t (import "m" "t") 6 funcref)
5
6  (func $i (param i32 i32 i32 i32 i32 i32) (result i32) (local.get 3))
7  (func $j (param i32 i32 i32 i32 i32 i32) (result i32) (local.get 4))
8  (func $k (param i32 i32 i32 i32 i32 i32) (result i32) (local.get 5))
9
10  (table $u (export "u") funcref (elem $i $j $k $i $j $k))
11
12  (func (export "copy_to_t_from_u") (param i32 i32 i32 i32) (result i32)
13    local.get 0
14    local.get 1
15    local.get 2
16    local.get 3
17    table.copy $t $u)
18
19  (func (export "copy_to_u_from_t") (param i32 i32 i32 i32) (result i32)
20    local.get 0
21    local.get 1
22    local.get 2
23    local.get 3
24    table.copy $u $t))
25
26;; function u0:0(i64 vmctx, i64, i32, i32, i32, i32, i32, i32) -> i32 tail {
27;;     gv0 = vmctx
28;;     gv1 = load.i64 notrap aligned readonly gv0+8
29;;     gv2 = load.i64 notrap aligned gv1+24
30;;     stack_limit = gv2
31;;
32;;                                 block0(v0: i64, v1: i64, v2: i32, v3: i32, v4: i32, v5: i32, v6: i32, v7: i32):
33;; @007b                               jump block1
34;;
35;;                                 block1:
36;; @007b                               return v5
37;; }
38;;
39;; function u0:1(i64 vmctx, i64, i32, i32, i32, i32, i32, i32) -> i32 tail {
40;;     gv0 = vmctx
41;;     gv1 = load.i64 notrap aligned readonly gv0+8
42;;     gv2 = load.i64 notrap aligned gv1+24
43;;     stack_limit = gv2
44;;
45;;                                 block0(v0: i64, v1: i64, v2: i32, v3: i32, v4: i32, v5: i32, v6: i32, v7: i32):
46;; @0080                               jump block1
47;;
48;;                                 block1:
49;; @0080                               return v6
50;; }
51;;
52;; function u0:2(i64 vmctx, i64, i32, i32, i32, i32, i32, i32) -> i32 tail {
53;;     gv0 = vmctx
54;;     gv1 = load.i64 notrap aligned readonly gv0+8
55;;     gv2 = load.i64 notrap aligned gv1+24
56;;     stack_limit = gv2
57;;
58;;                                 block0(v0: i64, v1: i64, v2: i32, v3: i32, v4: i32, v5: i32, v6: i32, v7: i32):
59;; @0085                               jump block1
60;;
61;;                                 block1:
62;; @0085                               return v7
63;; }
64;;
65;; function u0:3(i64 vmctx, i64, i32, i32, i32, i32) -> i32 tail {
66;;     gv0 = vmctx
67;;     gv1 = load.i64 notrap aligned readonly gv0+8
68;;     gv2 = load.i64 notrap aligned gv1+24
69;;     gv3 = vmctx
70;;     sig0 = (i64 vmctx, i32, i32, i64, i64, i64) -> i8 tail
71;;     fn0 = colocated u805306368:1 sig0
72;;     stack_limit = gv2
73;;
74;;                                 block0(v0: i64, v1: i64, v2: i32, v3: i32, v4: i32, v5: i32):
75;; @0090                               v7 = uextend.i64 v3
76;; @0090                               v8 = uextend.i64 v4
77;; @0090                               v9 = uextend.i64 v5
78;; @0090                               v10 = iconst.i32 0
79;; @0090                               v11 = iconst.i32 1
80;; @0090                               v13 = call fn0(v0, v10, v11, v7, v8, v9)  ; v10 = 0, v11 = 1
81;; @0094                               jump block1
82;;
83;;                                 block1:
84;; @0094                               return v2
85;; }
86;;
87;; function u0:4(i64 vmctx, i64, i32, i32, i32, i32) -> i32 tail {
88;;     gv0 = vmctx
89;;     gv1 = load.i64 notrap aligned readonly gv0+8
90;;     gv2 = load.i64 notrap aligned gv1+24
91;;     gv3 = vmctx
92;;     sig0 = (i64 vmctx, i32, i32, i64, i64, i64) -> i8 tail
93;;     fn0 = colocated u805306368:1 sig0
94;;     stack_limit = gv2
95;;
96;;                                 block0(v0: i64, v1: i64, v2: i32, v3: i32, v4: i32, v5: i32):
97;; @009f                               v7 = uextend.i64 v3
98;; @009f                               v8 = uextend.i64 v4
99;; @009f                               v9 = uextend.i64 v5
100;; @009f                               v10 = iconst.i32 1
101;; @009f                               v11 = iconst.i32 0
102;; @009f                               v13 = call fn0(v0, v10, v11, v7, v8, v9)  ; v10 = 1, v11 = 0
103;; @00a3                               jump block1
104;;
105;;                                 block1:
106;; @00a3                               return v2
107;; }
108