1;;! target = "x86_64" 2 3(module 4 (func (export "f") (param i64 i32) (result i64) 5 (local.get 0) 6 (local.get 1) 7 ;; If with else. Same number of params and results. 8 (if (param i64) (result i64) 9 (then 10 (drop) 11 (i64.const -1)) 12 (else 13 (drop) 14 (i64.const -2))))) 15 16;; function u0:0(i64 vmctx, i64, i64, i32) -> i64 tail { 17;; gv0 = vmctx 18;; gv1 = load.i64 notrap aligned readonly gv0+8 19;; gv2 = load.i64 notrap aligned gv1+24 20;; stack_limit = gv2 21;; 22;; block0(v0: i64, v1: i64, v2: i64, v3: i32): 23;; @002a brif v3, block2, block4 24;; 25;; block2: 26;; @002d v6 = iconst.i64 -1 27;; @002f jump block3(v6) ; v6 = -1 28;; 29;; block4: 30;; @0031 v8 = iconst.i64 -2 31;; @0033 jump block3(v8) ; v8 = -2 32;; 33;; block3(v5: i64): 34;; @0034 jump block1(v5) 35;; 36;; block1(v4: i64): 37;; @0034 return v4 38;; } 39