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