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 });value_type.extract_lane_s
value_typeThe type of value the instruction is being run on. The following v128 value interpretations support extract_lane_s:
i8x16i16x8extract_lane_sThe extract_lane_s instruction. Must always be included after the value_type and a period (.).
[input, lane] -> [output]
inputThe v128 value interpretation you want to extract a lane from.
laneThe index of the lane whose value you wish to extract, for example 0.
outputThe value extracted from the lane.
| Instruction | Binary format | Example text => binary |
|---|---|---|
i8x16.extract_lane_s | 0xfd 21:u32 l:lane_idx | i8x16.extract_lane_s 11 => 0xfd 0x15 0x0b |
i16x8.extract_lane_s | 0xfd 24:u32 l:lane_idx | i16x8.extract_lane_s 7 => 0xfd 0x18 0x07 |