↑ arvau

MDN / narrow_i16x8_u: Wasm SIMD conversion instruction

The narrow_i16x8_u SIMD conversion instruction converts two signed v128 i16x8 value interpretations into an i8x16 value interpretation using unsigned saturation (clamping to the range between 0 to 255).

(module
  (import "console" "log" (func $log (param i32)))
  (func $main
    v128.const i16x8 2 4 6 8 10 12 14 16
    v128.const i16x8 18 20 22 24 26 28 30 32

    i8x16.narrow_i16x8_u
    i8x16.extract_lane_s 15
    call $log ;; log the result
  )
  (start $main)
)
WebAssembly.instantiateStreaming(fetch("{%wasm-url%}"), { console });

Syntax

i8x16.narrow_i16x8_u
  • i8x16.narrow_i16x8_u

    • : The i8x16.narrow_i16x8_u instruction.

Type

[input1, input2] -> [output]
  • input1

    • : The first input v128 i16x8 value interpretation.

    input2

    • : The second input v128 i16x8 value interpretation.

    output

    • : The output v128 i8x16 value interpretation.

Binary encoding

InstructionBinary formatExample text => binaryi8x16.narrow_i16x8_u0xfd 102:u32i8x16.narrow_i16x8_u => 0xfd 0x66

Specifications

Browser compatibility