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

View in English Always switch to English

min_s: Wasm SIMD arithmetic instruction

Die min_s-Anweisung vergleicht zwei Interpretionen von vorzeichenbehafteten Ganzzahlen des Typs v128 und gibt eine neue Interpretation zurück, bei der jeder Lane auf den niedrigeren Wert des jeweiligen Index der beiden Eingaben gesetzt wird.

Probieren Sie es aus

(module
  (import "console" "log" (func $log (param i32)))
  (func $main
    ;; load two v128 i16x8s onto the stack
    v128.const i16x8 10 400 0 86 87 9000 -5 19
    v128.const i16x8 200 20 0 -5 80 9 -6 283

    ;; return a i16x8 containing the smallest values from each input
    i16x8.min_s
    i16x8.extract_lane_s 5 ;; Extract a single lane
    call $log ;; log the result
  )
  (start $main)
)
const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url), { console });

Syntax

value_type.min_s
value_type

Der Typ des Wertes, auf den die Anweisung angewendet wird. Die folgenden Typen unterstützen min_s:

  • i8x16
  • i16x8
  • i32x4
min_s

Die min_s-Anweisung. Muss immer nach dem value_type und einem Punkt (.) stehen.

Typ

[input1, input2] -> [output]
input1

Der erste Eingabewert.

input2

Der zweite Eingabewert.

output

Der Ausgabewert. Ein neuer v128 desselben Typs wie die Eingaben, wobei jeder Lane auf den niedrigeren Wert des jeweiligen Index der beiden Eingaben gesetzt wird.

Binäre Codierung

Anweisung Binärformat Beispieltext => binär
i8x16.min_s 0xfd 118:u32 i8x16.min_s => 0xfd 0x76
i16x8.min_s 0xfd 150:u32 i16x8.min_s => 0xfd 0x96 0x01
i32x4.min_s 0xfd 182:u32 i32x4.min_s => 0xfd 0xb6 0x01

Siehe auch