shr_u: Wasm SIMD Bitweise-Anweisung
Die shr_u SIMD Bitweise-Anweisung verschiebt die Bits in jeder Lane einer v128-Wertinterpretation um denselben angegebenen Betrag nach rechts und gibt unsignierte Werte aus. Dies ist ein logischer Rechtsschift.
Probieren Sie es aus
(module
(import "console" "log" (func $log (param i32)))
(func $main
v128.const i32x4 8 16 32 64
i32.const 3
i32x4.shr_u
i32x4.extract_lane 2
call $log ;; log the result
)
(start $main)
)
WebAssembly.instantiateStreaming(fetch("{%wasm-url%}"), { console });
Syntax
value_type.shr_u
value_type-
Der Typ des Wertes, auf dem die Anweisung ausgeführt wird. Die folgenden
v128-Wertinterpretationen unterstützenshr_u:i8x16i16x8i32x4i64x2
shr_u-
Die
shr_u-Anweisung. Muss immer nach demvalue_typeund einem Punkt (.) eingefügt werden.
Typ
[input, shift_value] -> [output]
input-
Die Eingabewertinterpretation von
v128. shift_value-
Der Wert, um den Sie die Lanes verschieben möchten.
output-
Die Ausgabewertinterpretation von
v128.
Binärcodierung
| Anweisung | Binärformat | Beispieltext => Binär |
|---|---|---|
i8x16.shr_u |
0xfd 109:u32 |
i8x16.shr_u => 0xfd 0x6d |
i16x8.shr_u |
0xfd 141:u32 |
i16x8.shr_u => 0xfd 0x8d 0x01 |
i32x4.shr_u |
0xfd 173:u32 |
i32x4.shr_u => 0xfd 0xad 0x01 |
i64x2.shr_u |
0xfd 205:u32 |
i64x2.shr_u => 0xfd 0xcd 0x01 |