183bf774dSNick Fitzgerald;;! target = "x86_64" 283bf774dSNick Fitzgerald;;! flags = "-W function-references,gc -C collector=null" 383bf774dSNick Fitzgerald;;! test = "optimize" 483bf774dSNick Fitzgerald 583bf774dSNick Fitzgerald(module 683bf774dSNick Fitzgerald (func (param anyref) (result i32) 783bf774dSNick Fitzgerald (ref.test (ref array) (local.get 0)) 883bf774dSNick Fitzgerald ) 983bf774dSNick Fitzgerald) 1083bf774dSNick Fitzgerald;; function u0:0(i64 vmctx, i64, i32) -> i32 tail { 1183bf774dSNick Fitzgerald;; gv0 = vmctx 1283bf774dSNick Fitzgerald;; gv1 = load.i64 notrap aligned readonly gv0+8 13*7e0331c2SChris Fallin;; gv2 = load.i64 notrap aligned gv1+24 1483bf774dSNick Fitzgerald;; gv3 = vmctx 15c22b3cb9SNick Fitzgerald;; gv4 = load.i64 notrap aligned readonly can_move gv3+8 16*7e0331c2SChris Fallin;; gv5 = load.i64 notrap aligned readonly can_move gv4+32 17*7e0331c2SChris Fallin;; gv6 = load.i64 notrap aligned gv4+40 1883bf774dSNick Fitzgerald;; stack_limit = gv2 1983bf774dSNick Fitzgerald;; 2083bf774dSNick Fitzgerald;; block0(v0: i64, v1: i64, v2: i32): 21a80dd80dSNick Fitzgerald;; v23 = iconst.i32 0 22a80dd80dSNick Fitzgerald;; @001b v4 = icmp eq v2, v23 ; v23 = 0 2383bf774dSNick Fitzgerald;; @001b v5 = uextend.i32 v4 24a80dd80dSNick Fitzgerald;; @001b brif v5, block4(v23), block2 ; v23 = 0 2583bf774dSNick Fitzgerald;; 2683bf774dSNick Fitzgerald;; block2: 272f56a321SNick Fitzgerald;; @001b v7 = iconst.i32 1 282f56a321SNick Fitzgerald;; @001b v8 = band.i32 v2, v7 ; v7 = 1 29c22b3cb9SNick Fitzgerald;; v24 = iconst.i32 0 30c22b3cb9SNick Fitzgerald;; @001b brif v8, block4(v24), block3 ; v24 = 0 3183bf774dSNick Fitzgerald;; 3283bf774dSNick Fitzgerald;; block3: 33a80dd80dSNick Fitzgerald;; @001b v21 = load.i64 notrap aligned readonly can_move v0+8 34*7e0331c2SChris Fallin;; @001b v11 = load.i64 notrap aligned readonly can_move v21+32 35c22b3cb9SNick Fitzgerald;; @001b v10 = uextend.i64 v2 36c22b3cb9SNick Fitzgerald;; @001b v12 = iadd v11, v10 37c22b3cb9SNick Fitzgerald;; @001b v15 = load.i32 notrap aligned readonly v12 38c22b3cb9SNick Fitzgerald;; @001b v16 = iconst.i32 -1476395008 39c22b3cb9SNick Fitzgerald;; @001b v17 = band v15, v16 ; v16 = -1476395008 40c22b3cb9SNick Fitzgerald;; @001b v18 = icmp eq v17, v16 ; v16 = -1476395008 41c22b3cb9SNick Fitzgerald;; @001b v19 = uextend.i32 v18 42c22b3cb9SNick Fitzgerald;; @001b jump block4(v19) 4383bf774dSNick Fitzgerald;; 44c22b3cb9SNick Fitzgerald;; block4(v20: i32): 45c22b3cb9SNick Fitzgerald;; @001e jump block1(v20) 4683bf774dSNick Fitzgerald;; 4783bf774dSNick Fitzgerald;; block1(v3: i32): 4883bf774dSNick Fitzgerald;; @001e return v3 4983bf774dSNick Fitzgerald;; } 50