1;;! test = "optimize" 2;;! target = "x86_64" 3;;! flags = ["-Wmemory64", "-Omemory-may-move=n"] 4 5(module 6 (memory i64 1) 7 (func $load (param i64) (result i32) 8 (i32.load (local.get 0))) 9) 10;; function u0:0(i64 vmctx, i64, i64) -> i32 tail { 11;; gv0 = vmctx 12;; gv1 = load.i64 notrap aligned readonly gv0+8 13;; gv2 = load.i64 notrap aligned gv1+24 14;; gv3 = vmctx 15;; gv4 = load.i64 notrap aligned gv3+64 16;; gv5 = load.i64 notrap aligned readonly can_move gv3+56 17;; stack_limit = gv2 18;; 19;; block0(v0: i64, v1: i64, v2: i64): 20;; @0020 v4 = iconst.i64 0xffff_fffc 21;; @0020 v5 = icmp ugt v2, v4 ; v4 = 0xffff_fffc 22;; @0020 v8 = iconst.i64 0 23;; @0020 v6 = load.i64 notrap aligned readonly can_move v0+56 24;; @0020 v7 = iadd v6, v2 25;; @0020 v9 = select_spectre_guard v5, v8, v7 ; v8 = 0 26;; @0020 v10 = load.i32 little heap v9 27;; @0023 jump block1 28;; 29;; block1: 30;; @0023 return v10 31;; } 32