max_u: Wasm SIMD Arithmetic-Anweisung
Die max_u-Anweisung vergleicht zwei v128 Interpretationen von unsignierten Ganzzahlen und gibt eine neue Interpretation zurück, bei der jede Lane auf den größeren Wert des jeweiligen Lane-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 greatest values from each input
i16x8.max_u
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.max_u
value_type-
Der Typ des Wertes, auf den die Anweisung angewendet wird. Die folgenden Typen unterstützen
max_u:i8x16i16x8i32x4
max_u-
Die
max_u-Anweisung. Muss immer nach demvalue_typeund einem Punkt (.) enthalten sein.
Typ
[input1, input2] -> [output]
Binärcodierung
| Anweisung | Binärformat | Beispieltext => binär |
|---|---|---|
i8x16.max_u |
0xfd 121:u32 |
i8x16.max_u => 0xfd 0x79 |
i16x8.max_u |
0xfd 153:u32 |
i16x8.max_u => 0xfd 0x99 0x01 |
i32x4.max_u |
0xfd 185:u32 |
i32x4.max_u => 0xfd 0xb9 0x01 |
Spezifikationen
| Spezifikation |
|---|
| WebAssembly Core Specification> # vector-instructions%E2%91%A8> |