convert: Wasm text instruction

The convert instructions are used for converting integer numbers to floating point numbers. There are signed and unsigned versions of this instruction.

Try it

(module
  (import "console" "log" (func $log (param f32)))
  (func $main

    i32.const 10 ;; push an i32 onto the stack

    f32.convert_i32_s ;; convert from signed i32 to f32

    call $log ;; log the result

  )
  (start $main)
)
const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url), { console });

Syntax

wat
;; push an i32 onto the stack
i32.const 10

;; convert from signed i32 to f32
f32.convert_i32_s

;; the top item on the stack will now be the value 10 of type f32
Instruction Binary opcode
f32.convert_i32_s 0xb2
f32.convert_i32_u 0xb3
f32.convert_i64_s 0xb4
f32.convert_i64_u 0xb5
f64.convert_i32_s 0xb7
f64.convert_i32_u 0xb8
f64.convert_i64_s 0xb9
f64.convert_i64_u 0xba