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

View in English Always switch to English

extmul_high_i32x4_u: Wasm SIMD Arithmetikinstruktion

Die extmul_high_i32x4_u SIMD Arithmetikinstruktion nimmt die Lanes 2–3 von zwei unsignierten v128 i32x4-Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen in einer i64x2-Wertinterpretation aus.

Probieren Sie es aus

(module
  (import "console" "log" (func $log (param i64)))
  (func $main
    v128.const i32x4 25 25 50 50
    v128.const i32x4 20 20 40 40

    i64x2.extmul_high_i32x4_u
    i64x2.extract_lane 1
    call $log ;; log the result
  )
  (start $main)
)
WebAssembly.instantiateStreaming(fetch("{%wasm-url%}"), { console });

Im obigen Beispiel werden die Lanes 2–3 der beiden i32x4-Eingabewerte zusammen multipliziert, und die Produkte werden als eine i64x2 ausgegeben. Lane 2 des ersten Eingangs wird mit Lane 2 des zweiten Eingangs multipliziert, und das Produkt wird zu Lane 0 des Ausgabewerts, und so weiter. Daher enthält jede Lane des Ausgabewerts den Wert 2000 (50 * 40).

Die extmul_high_i32x4_u-Instruktion ist eine leistungsfähigere Entsprechung dazu, die Ergebnisse von zwei extend_high_i32x4_u-Instruktionen in eine mul-Instruktion zu übergeben.

Anders ausgedrückt:

wat
(i64x2.extmul_high_i32x4_u
  (input1)
  (input2)
)

ist equivalent zu

wat
(i64x2.mul
  (i64x2.extend_high_i32x4_u
    (input1)
  )
  (i64x2.extend_high_i32x4_u
    (input2)
  )
)

Syntax

i64x2.extmul_high_i32x4_u
i64x2.extmul_high_i32x4_u

Die i64x2.extmul_high_i32x4_u-Instruktion.

Typ

[input1, input2] -> [output]
input1

Die erste Eingabe v128 i32x4 Wertinterpretation.

input2

Die zweite Eingabe v128 i32x4 Wertinterpretation.

output

Die Ausgabe v128 i64x2 Wertinterpretation.

Binärcodierung

Instruktion Binärformat Beispieltext => binär
i64x2.extmul_high_i32x4_u 0xfd 223:u32 i64x2.extmul_high_i32x4_u => 0xfd 0xdf 0x01

Spezifikationen

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

Browser-Kompatibilität