;;; TOOL: wat2wasm
(module
  ;; block
  (func
    block (result i32 i64)
      i32.const 1
      i64.const 2
      i32.const 0  ;; cond
      br_if 0
    end
    return)

  ;; loop
  (func
    loop (result i32 i64)
      i32.const 0  ;; cond
      br_if 0
      i32.const 1
      i64.const 2
    end
    return)

  ;; loop w/ param
  (func
    i32.const 1
    loop (param i32)
      drop         ;; drop loop param
      i32.const 2  ;; push loop param for br
      i32.const 0  ;; cond
      br_if 0
      drop         ;; drop `i32.const 2`
    end)

  ;; if
  (func
    i32.const 1
    if (result i32 i64)
      i32.const 1
      i64.const 2
      i32.const 0  ;; cond
      br_if 0
    else
      i32.const 3
      i64.const 4
      i32.const 0  ;; cond
      br_if 0
    end
    return)
)
