1;;! target = "x86_64" 2;;! flags = "-W function-references,gc -C collector=drc" 3;;! test = "optimize" 4 5(module 6 (type $ty (struct (field (mut f32)) 7 (field (mut i8)) 8 (field (mut anyref)))) 9 10 (func (result (ref $ty)) 11 (struct.new_default $ty) 12 ) 13) 14;; function u0:0(i64 vmctx, i64) -> i32 tail { 15;; gv0 = vmctx 16;; gv1 = load.i64 notrap aligned readonly gv0+8 17;; gv2 = load.i64 notrap aligned gv1+24 18;; gv3 = vmctx 19;; gv4 = load.i64 notrap aligned readonly can_move gv3+8 20;; gv5 = load.i64 notrap aligned readonly can_move gv4+32 21;; gv6 = load.i64 notrap aligned gv4+40 22;; sig0 = (i64 vmctx, i32, i32, i32, i32) -> i32 tail 23;; fn0 = colocated u805306368:27 sig0 24;; stack_limit = gv2 25;; 26;; block0(v0: i64, v1: i64): 27;; @0021 v8 = iconst.i32 -1342177280 28;; @0021 v4 = iconst.i32 0 29;; @0021 v6 = iconst.i32 40 30;; @0021 v10 = iconst.i32 8 31;; @0021 v11 = call fn0(v0, v8, v4, v6, v10) ; v8 = -1342177280, v4 = 0, v6 = 40, v10 = 8 32;; @0021 v3 = f32const 0.0 33;; @0021 v44 = load.i64 notrap aligned readonly can_move v0+8 34;; @0021 v12 = load.i64 notrap aligned readonly can_move v44+32 35;; @0021 v13 = uextend.i64 v11 36;; @0021 v14 = iadd v12, v13 37;; v43 = iconst.i64 24 38;; @0021 v15 = iadd v14, v43 ; v43 = 24 39;; @0021 store notrap aligned little v3, v15 ; v3 = 0.0 40;; v42 = iconst.i64 28 41;; @0021 v16 = iadd v14, v42 ; v42 = 28 42;; @0021 istore8 notrap aligned little v4, v16 ; v4 = 0 43;; v40 = iconst.i32 1 44;; @0021 brif v40, block3, block2 ; v40 = 1 45;; 46;; block2: 47;; @0021 v25 = iconst.i64 8 48;; @0021 v26 = iadd.i64 v12, v25 ; v25 = 8 49;; @0021 v27 = load.i64 notrap aligned v26 50;; v36 = iconst.i64 1 51;; @0021 v28 = iadd v27, v36 ; v36 = 1 52;; @0021 store notrap aligned v28, v26 53;; @0021 jump block3 54;; 55;; block3: 56;; v66 = iconst.i32 0 57;; v41 = iconst.i64 32 58;; @0021 v17 = iadd.i64 v14, v41 ; v41 = 32 59;; @0021 store notrap aligned little v66, v17 ; v66 = 0 60;; @0024 jump block1 61;; 62;; block1: 63;; @0024 return v11 64;; } 65