shl: Wasm SIMD Bitweisinstruktion
Die shl SIMD Bitweisinstruktion verschiebt die Bits in jeder Spur einer v128 Wertinterpretation um den angegebenen Betrag nach links.
Probieren Sie es aus
(module
(import "console" "log" (func $log (param i32)))
(func $main
v128.const i32x4 1 2 4 6
i32.const 3
i32x4.shl
i32x4.extract_lane 1
call $log ;; log the result
)
(start $main)
)
WebAssembly.instantiateStreaming(fetch("{%wasm-url%}"), { console });
Syntax
value_type.shl
value_type-
Der Typ des Wertes, auf dem die Instruktion ausgeführt wird. Die folgenden
v128Wertinterpretationen unterstützenshl:i8x16i16x8i32x4i64x2
shl-
Die
shlInstruktion. Muss immer nach demvalue_typeund einem Punkt (.) angegeben werden.
Typ
[input, shift_value] -> [output]
input-
Die Eingabe
v128Wertinterpretation. shift_value-
Der Wert, um den Sie die Spuren verschieben möchten.
output-
Die Ausgabe
v128Wertinterpretation.
Binäre Kodierung
| Instruktion | Binärformat | Beispiel Text => Binär |
|---|---|---|
i8x16.shl |
0xfd 107:u32 |
i8x16.shl => 0xfd 0x6b |
i16x8.shl |
0xfd 139:u32 |
i16x8.shl => 0xfd 0x8b 0x01 |
i32x4.shl |
0xfd 171:u32 |
i32x4.shl => 0xfd 0xab 0x01 |
i64x2.shl |
0xfd 203:u32 |
i64x2.shl => 0xfd 0xcb 0x01 |