MDN / extract_lane_s: Wasm SIMD extract instruction
MDN / extract_lane_s: Wasm SIMD extract instruction
The extract_lane_s SIMD extract instruction extracts the value contained within the specified lane of a v128 value interpretation as a signed integer.
(module
(import "console" "log" (func $log (param i32)))
(func $main
;; load a SIMD value onto the stack
(v128.const i16x8 1 0 -2 -1 -4 -2 -2 3)
i16x8.extract_lane_s 6 ;; Extract a scalar value from the result
call $log ;; log the result
)
(start $main)
)
WebAssembly.instantiateStreaming(fetch("{%wasm-url%}"), { console });
Syntax
value_type.extract_lane_s
value_type: The type of value the instruction is being run on. The following
v128value interpretations supportextract_lane_s:i8x16i16x8
extract_lane_s: The
extract_lane_sinstruction. Must always be included after thevalue_typeand a period (.).
Type
[input, lane] -> [output]
input: The
v128value interpretation you want to extract a lane from.
lane: The index of the lane whose value you wish to extract, for example
0.
output: The value extracted from the lane.
Binary encoding
InstructionBinary formatExample text => binaryi8x16.extract_lane_s0xfd 21:u32 l:lane_idxi8x16.extract_lane_s 11 => 0xfd 0x15 0x0bi16x8.extract_lane_s0xfd 24:u32 l:lane_idxi16x8.extract_lane_s 7 => 0xfd 0x18 0x07