wasm2spirv 0.1.0

Compile your WebAssembly programs into SPIR-V shaders
Documentation
(module
  (type (;0;) (func (param i32) (result i32)))
  (type (;1;) (func (param i32 i32 i32 i32)))
  (import "spir_global" "gl_GlobalInvocationID" (func (;0;) (type 0)))
  (import "spir_global" "gl_NumWorkGroups" (func (;1;) (type 0)))
  (func (;2;) (type 1) (param i32 i32 i32 i32)
    (local i32 i32 i32 i32 f32 i32)
    i32.const 0
    call 0
    local.tee 4
    i32.const 2
    i32.shl
    local.set 5
    i32.const 0
    call 1
    local.tee 6
    i32.const 2
    i32.shl
    local.set 7
    f32.const 0x0p+0 (;=0;)
    local.set 8
    local.get 4
    local.set 9
    block  ;; label = @1
      loop  ;; label = @2
        local.get 9
        local.get 0
        i32.ge_u
        br_if 1 (;@1;)
        local.get 8
        local.get 1
        local.get 5
        i32.add
        f32.load
        local.get 2
        local.get 5
        i32.add
        f32.load
        f32.mul
        f32.add
        local.set 8
        local.get 5
        local.get 7
        i32.add
        local.set 5
        local.get 9
        local.get 6
        i32.add
        local.set 9
        br 0 (;@2;)
      end
    end
    local.get 3
    local.get 4
    i32.const 2
    i32.shl
    i32.add
    local.get 8
    f32.store)
  (memory (;0;) 16)
  (global (;0;) (mut i32) (i32.const 1048576))
  (export "memory" (memory 0))
  (export "dot" (func 2)))