1;;! target = "x86_64" 2;;! flags = "-W function-references,gc -C collector=null" 3;;! test = "optimize" 4 5(module 6 (func (param anyref) (result i32) 7 (ref.test (ref none) (local.get 0)) 8 ) 9 (func (param anyref) (result i32) 10 (ref.test (ref null none) (local.get 0)) 11 ) 12) 13;; function u0:0(i64 vmctx, i64, i32) -> i32 tail { 14;; gv0 = vmctx 15;; gv1 = load.i64 notrap aligned readonly gv0+8 16;; gv2 = load.i64 notrap aligned gv1+24 17;; stack_limit = gv2 18;; 19;; block0(v0: i64, v1: i64, v2: i32): 20;; @001f jump block1 21;; 22;; block1: 23;; @001c v4 = iconst.i32 0 24;; @001f return v4 ; v4 = 0 25;; } 26;; 27;; function u0:1(i64 vmctx, i64, i32) -> i32 tail { 28;; gv0 = vmctx 29;; gv1 = load.i64 notrap aligned readonly gv0+8 30;; gv2 = load.i64 notrap aligned gv1+24 31;; stack_limit = gv2 32;; 33;; block0(v0: i64, v1: i64, v2: i32): 34;; @0027 jump block1 35;; 36;; block1: 37;; v6 = iconst.i32 0 38;; @0024 v4 = icmp.i32 eq v2, v6 ; v6 = 0 39;; @0024 v5 = uextend.i32 v4 40;; @0027 return v5 41;; } 42