1;;! target = "x86_64" 2;;! flags = "-W function-references,gc -C collector=null" 3;;! test = "optimize" 4 5(module 6 (type $ty (struct (field (mut f32)) 7 (field (mut i8)))) 8 9 (func (param (ref null $ty)) (result f32 i32) 10 (struct.get $ty 0 (local.get 0)) 11 (struct.get_s $ty 1 (local.get 0)) 12 ) 13) 14;; function u0:0(i64 vmctx, i64, i32) -> f32, 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;; stack_limit = gv2 23;; 24;; block0(v0: i64, v1: i64, v2: i32): 25;; @0023 trapz v2, user15 26;; @0023 v20 = load.i64 notrap aligned readonly can_move v0+8 27;; @0023 v6 = load.i64 notrap aligned readonly can_move v20+32 28;; @0023 v5 = uextend.i64 v2 29;; @0023 v7 = iadd v6, v5 30;; @0023 v8 = iconst.i64 8 31;; @0023 v9 = iadd v7, v8 ; v8 = 8 32;; @0023 v10 = load.f32 notrap aligned little v9 33;; @0029 v14 = iconst.i64 12 34;; @0029 v15 = iadd v7, v14 ; v14 = 12 35;; @0029 v16 = load.i8 notrap aligned little v15 36;; @002d jump block1 37;; 38;; block1: 39;; @0029 v17 = sextend.i32 v16 40;; @002d return v10, v17 41;; } 42