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

View in English Always switch to English

load32_zero: Wasm SIMD Ladeanweisung

Die load32_zero SIMD Ladeanweisung lädt einen einzelnen Wert von einer gegebenen Speicheradresse in die erste Spur eines v128 Wertinterpretation des Typs i32x4 und initialisiert die anderen Spuren mit 0.

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 1
    v128.load32_zero
    i32x4.extract_lane 0
    call $log
  )
  (start $main)
)
WebAssembly.instantiateStreaming(fetch("{%wasm-url%}"), { console });

Syntax

;; Common usage
v128.load32_zero

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

Die v128.load32_zero Anweisung.

mem_idx Optional

Ein Integer, der den Speicherindex darstellt, wenn das Modul mehrere Speicher verwendet. Standard ist 0.

offset=int Optional

Ein Integer, der eine konstante Anzahl von Bytes darstellt, die zur Speicheradresse addiert werden, bevor geladen wird. Standard ist 0.

align=int Optional

Ein Integer, der einen Hinweis an die Wasm-Engine darstellt, welche Ausrichtung für die endgültige Adresse erwartet wird. Der minimale Wert ist 1 und der Standard- und Höchstwert ist 4. Ein align Wert muss eine Potenz von 2 sein.

Typ

[memory_address] -> [output]
memory_address

Ein Integer, der die Speicheradresse darstellt, von der geladen werden soll.

output

Die Ausgabe v128 Typ i32x4 Wertinterpretation.

Binäre Codierung

Anweisung Binärformat Beispieltext => binär
v128.load32_zero 0xFD 92:u32 mem_idx:u8 offset:u32 align:u32 v128.load32_zero 0 offset=0 align=4 => 0xfd 0x5c 0x02 0x00

Hinweis: Während das Wasm-Textformat den wörtlichen align Wert spezifiziert, repräsentiert das binäre Äquivalent den Exponenten der Formel 2^x, die zur Berechnung der Ausrichtung verwendet wird. Zum Beispiel ist align=1 äquivalent zu 0x00 (2^0), während align=4 äquivalent zu 0x02 (2^2) ist.

Spezifikationen

Diese Funktion scheint in keiner Spezifikation definiert zu sein.

Browser-Kompatibilität

Siehe auch