sub_sat_u: Wasm SIMD-Arithmetikbefehl
Der sub_sat_u SIMD-Arithmetikbefehl führt eine saturierende Subtraktion von zwei unsignierten v128-Wertinterpretationen durch — wobei der Ausgabewert auf den Bereich begrenzt wird, der durch den Werttyp erlaubt ist. Jedes Lane des Ausgabewerts ist das Ergebnis der Subtraktion des entsprechenden Lanes des zweiten Eingabewerts von dem entsprechenden Lane des ersten Eingabewerts.
Probieren Sie es aus
(module
(import "console" "log" (func $log (param i32)))
(func $main
v128.const i16x8 4 6 16 8 23 65 82 9
v128.const i16x8 0 25 2 30 2 34 45 80
i16x8.sub_sat_u
i16x8.extract_lane_s 7
call $log ;; log the result
)
(start $main)
)
WebAssembly.instantiateStreaming(fetch("{%wasm-url%}"), { console });
Sättigung bedeutet, dass die Ausgabewerte auf die oberen und unteren Werte begrenzt werden, die durch die Wertinterpretation erlaubt sind, anstatt zu überschreiten. Erlaubte Ausgabewerte sind:
i8x16.sub_sat_u:0bis255(der volle Bereich eines unsignierten 8-Bit-Ganzzahlwertes)i16x8.sub_sat_u:0bis65.535(der volle Bereich eines unsignierten 16-Bit-Ganzzahlwertes)
Syntax
value_type.sub_sat_u
value_type-
Der Typ des Werts, auf dem der Befehl ausgeführt wird. Die folgenden Typen unterstützen
sub_sat_u:i8x16i16x8
sub_sat_u-
Der
sub_sat_u-Befehl. Muss immer nach demvalue_typeund einem Punkt (.) eingefügt werden.
Typ
[input1, input2] -> [output]
Binäre Codierung
| Befehl | Binärformat | Beispieltext => binär |
|---|---|---|
i8x16.sub_sat_u |
0xfd 115:u32 |
i8x16.sub_sat_u => 0xfd 0x73 |
i16x8.sub_sat_u |
0xfd 147:u32 |
i16x8.sub_sat_u => 0xfd 0x93 0x01 |
Spezifikationen
| Spezifikation |
|---|
| WebAssembly Core Specification> # vector-instructions%E2%91%A8> |