Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

load16_lane: Wasm SIMD Load/Store Anweisung

Die load16_lane SIMD Load/Store-Anweisung lädt einen einzelnen Wert von einer angegebenen Speicheradresse in die spezifizierte Lane eines v128 Typen i16x8 Wertinterpretation.

Probieren Sie es aus

(module
  (import "console" "log" (func $log (param i32)))
  (memory $memory 1)
  (data (i32.const 0) "\01\02\03\04\05\06\07\08\09\0a\0b\0c\0d\0e\0f\00\01\02\03")
  (func $main
    i32.const 0
    v128.const i16x8 10 4 6 5 8 7 11 3
    v128.load16_lane 6
    i16x8.extract_lane_s 6
    call $log
  )
  (start $main)
)
WebAssembly.instantiateStreaming(fetch("{%wasm-url%}"), { console });

Syntax

;; Common usage
v128.load16_lane lane_value

;; With optional immediate operands
v128.load16_lane mem_idx offset=int align=int lane_value

v128.load16_lane

Die v128.load16_lane Anweisung.

mem_idx Optional

Ein Ganzzahlwert, der den Speicherindex darstellt, in Fällen, in denen das Modul mehrere Speicher verwendet. Der Standardwert ist 0.

offset=int Optional

Eine Ganzzahl, die eine konstante Anzahl von Bytes darstellt, die zur Speicheradresse hinzugerechnet wird, bevor geladen wird. Der Standardwert ist 0.

align=int Optional

Eine Ganzzahl, die dem Wasm-Engine einen Hinweis darüber gibt, welche Ausrichtung für die endgültige Adresse erwartet wird. Der Mindestwert ist 1 und der Standard- und Maximalwert ist 2. Ein align-Wert muss eine Potenz von 2 sein.

lane_value

Die Lane, in die ein Wert geladen werden soll.

Typ

[memory_address, input] -> [output]
memory_address

Eine Ganzzahl, die die Speicheradresse darstellt, von der geladen werden soll.

input

Die Eingabe v128 Typ i16x8 Wertinterpretation.

output

Die Ausgabe v128 Typ i16x8 Wertinterpretation.

Binäre Kodierung

Anweisung Binärformat Beispieltext => binär
v128.load16_lane 0xFD 85:u32 mem_idx:u8 offset:u32 align:u32 lane_idx:u8 v128.load16_lane 0 offset=0 align=2 6 => 0xfd 0x55 0x01 0x00 0x06

Hinweis: Während das Wasm-Textformat den literal align-Wert angibt, stellt das binäre Äquivalent den Exponenten der Formel 2^x dar, die zur Berechnung der Ausrichtung verwendet wird. Zum Beispiel ist align=1 äquivalent zu 0x00 (2^0), während align=2 äquivalent zu 0x01 (2^1) ist.

Spezifikationen

Spezifikation
WebAssembly Core Specification
# vector-instructions%E2%91%A8

Browser-Kompatibilität