Extend
The extend
instructions, are used to convert (extend) numbers of type i32
to type i64
. There are signed and unsigned versions of this instruction.
Try it
(module
(import "console" "log" (func $log (param i64)))
(func $main
i32.const 10 ;; push an i32 onto the stack
i64.extend_i32_s ;; sign-extend from i32 to i64
call $log ;; log the result
)
(start $main)
)
const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url), { console });
Syntax
wasm
;; push an i32 onto the stack
i32.const 10
;; sign-extend from i32 to i64
i64.extend_i32_s
;; the top item on the stack will now be the value 10 of type i64
Instruction | Binary opcode |
---|---|
i64.extend_i32_s |
0xac |
i64.extend_i32_u |
0xad |